1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-23 22:20:24 -08:00
Commit graph

3491 commits

Author SHA1 Message Date
Eli Zaretskii
89ec69becb Avoid byte-compiler warning in starttls.el
* lisp/net/network-stream.el (starttls-open-stream): Declare
to avoid compilation warning.
2019-01-24 17:01:20 +02:00
Robert Pluim
f3f9a3582e Check for client certificates when using GnuTLS
This fixes Bug#33780, and extends the documentation to describe how to
enable use of client certificates.

* lisp/net/network-stream.el (network-stream-certificate): Correct
order of parameters to plist-get.
(network-stream-open-tls): Pass all received parameters to
open-gnutls-stream as plist, not just :nowait.

* lisp/net/gnutls.el (open-gnutls-stream): Change optional nowait arg
to be plist.  Derive nowait and client certificate(s) and keys(s) from
plist (maybe via auth-source) and pass to gnutls-boot-parameters and
gnutls-negotiate.
(network-stream-certificate): Add declare-function form for it.

* doc/misc/auth.texi (Help for users): Describe format to use for
client key/cert specification.

* doc/misc/emacs-gnutls.texi (Help For Developers): Describe usage of
optional plist argument.  Add crossreference to description of
.authinfo format for client key/cert specification.

* etc/NEWS: Describe new client certificate functionality for
  'open-network-stream'.

* test/lisp/net/network-stream-tests.el: Add require of network-stream.
(connect-to-tls-ipv4-nowait): Bind network-security-level to 'low
in order to bypass nsm prompting.
(connect-to-tls-ipv6-nowait): Likewise.
(open-network-stream-tls-wait): New test.
(open-network-stream-tls-nowait): New test.
(open-network-stream-tls): New test.
(open-network-stream-tls-nocert): New test.
(open-gnutls-stream-new-api-default): New test.
(open-gnutls-stream-new-api-wait): New test.
(open-gnutls-stream-old-api-wait): New test.
(open-gnutls-stream-new-api-nowait): New test.
(open-gnutls-stream-old-api-nowait): New test.
(open-gnutls-stream-new-api-errors): New test.
The new tests exercise 'open-network-stream' and the old and new
api of 'open-gnutls-stream'.
2019-01-24 11:36:47 +01:00
Michael Albinus
0744c35307 Fix error in Tramp's encoding check
* lisp/net/tramp-sh.el (tramp-find-inline-encoding):
Use `tramp-get-connection-buffer'.
2019-01-24 11:06:38 +01:00
Michael Albinus
927d9f1217 * lisp/net/tramp.el (tramp-set-file-uid-gid): Fix thinko.
* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
Adapt docstring.
2019-01-23 15:23:57 +01:00
Michael Albinus
c580081578 Respect setgid bit of the upper directory in Tramp
* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.4.2-pre".

* lisp/net/tramp.el: Bump version to 2.4.2-pre.
(tramp-set-file-uid-gid): Respect setgid bit of the upper directory.
(tramp-default-file-modes, tramp-handle-insert-file-contents)
(tramp-mode-string-to-int, tramp-make-tramp-temp-file):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
(tramp-adb-handle-write-region):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly)
(tramp-sh-handle-write-region): Use octal constants.
2019-01-22 10:38:49 +01:00
Michael Albinus
7fcdabdcb0 * lisp/net/tramp-sh.el (tramp-set-remote-path): Fix usage of tmpfile. 2019-01-21 11:34:32 +01:00
Michael Albinus
e5ef4c660c Use `inhibit-read-only' in Tramp
* lisp/net/tramp.el (tramp-process-actions, tramp-accept-process-output)
(tramp-send-string):
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process)
(tramp-adb-send-command-and-check, tramp-adb-wait-for-output):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process)
(tramp-wait-for-output, tramp-send-command-and-check):
* lisp/net/tramp-smb.el (tramp-smb-wait-for-output):
Use `inhibit-read-only'.
2019-01-21 09:48:55 +01:00
Michael Albinus
5961e4fa42 Use POSIX "df" in Tramp, if available
* lisp/net/tramp-sh.el (tramp-get-remote-df):
Support also POSIX.1 "df".
(tramp-sh-handle-file-system-info): Adapt accordingly.
2019-01-20 18:56:26 +01:00
Michael Albinus
b2497ef695 Some accept-process-output cleanups in Tramp
* lisp/net/tramp.el (tramp-action-out-of-band): Read process
output in a loop.
(tramp-accept-process-output): Return result.
(tramp-interrupt-process):
* lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
* lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
Remove FIXME.

* lisp/net/tramp-sh.el (tramp-local-coding-commands): Fix docstring.

* lisp/net/tramp-smb.el (tramp-smb-wait-for-output): Adapt docstring.
Simplify code.

* lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
Adapt docstring.  Read process output in a loop.

* test/lisp/net/tramp-tests.el (tramp-test43-asynchronous-requests):
Remove :unstable tag on emba.
2019-01-16 13:56:38 +01:00
Paul Eggert
2a3bd6798e Avoid using obsolete accept-process-output arg
* lisp/gnus/nnheader.el (nnheader-accept-process-output):
* lisp/net/dns.el (dns-query):
* lisp/net/imap.el (imap-wait-for-tag):
* lisp/net/network-stream.el (network-stream-get-response):
* lisp/net/pop3.el (pop3-accept-process-output):
* lisp/obsolete/starttls.el (starttls-negotiate-gnutls)
(starttls-open-stream-gnutls):
* lisp/server.el (server-eval-at):
* lisp/textmodes/ispell.el (ispell-accept-output):
Do not depend on the obsolete milliseconds argument of
accept-process-output.
2019-01-15 14:09:11 -08:00
Paul Eggert
9fc02ff5ea Fix accept-process-output/process-live-p confusion
* doc/lispref/processes.texi (Accepting Output):
Document the issue.
* lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
* lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
* lisp/net/tramp-smb.el (tramp-smb-wait-for-output):
* lisp/net/tramp.el (tramp-interrupt-process):
* test/src/process-tests.el (make-process/mix-stderr):
Fix code that uses accept-process-output and process-live-p.
Add FIXME comments as necessary.
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
* lisp/net/tramp.el (tramp-action-out-of-band):
Add FIXME comments as necessary.
2019-01-15 10:21:09 -08:00
Martin Rudalics
e567ac1495 Run window change functions during redisplay
* doc/lispref/windows.texi (Window Sizes): Move (and rename)
descriptions of 'window-pixel-height-before-size-change' and
'window-pixel-width-before-size-change' to Window Hooks
section.
(Window Configurations): Remove warning against use of
'save-window-excursion' in 'window-size-change-functions'.
(Window Hooks): Rewrite section according to redesign of
window change functions.
* lisp/erc/erc-track.el (erc-window-configuration-change)
(erc-modified-channels-update): Call latter directly from
'window-configuration-change-hook' instead via
'post-command-hook'.
* lisp/frame.el (frame-size-changed-p): Change nomenclature
in let bindings.
* lisp/net/rcirc.el (rcirc-window-configuration-change)
(rcirc-window-configuration-change-1): Call latter directly
from 'window-configuration-change-hook' instead via
'post-command-hook'.
* lisp/window.el (window-pixel-width-before-size-change)
(window-pixel-height-before-size-change): Defalias.
(window--resize-mini-window, window-resize)
(adjust-window-trailing-edge, delete-window)
(delete-other-windows, balance-windows): Don't run
'window-configuration-change-hook' any more from here.
(split-window): Don't run 'window-configuration-change-hook'
from here.  'run-window-scroll-functions' from here.
(window--adjust-process-windows): Run from
'window-configuration-change-hook' only.
* src/frame.c (old_selected_frame): New Lisp variable.
(make_frame): Initialize frame's change_stamp slot.
(Fold_selected_frame): New function.
* src/frame.h (struct frame): New slots old_selected_window,
window_change, change_stamp and number_of_windows.
(fset_old_selected_window): New inlined function.
(FRAME_WINDOW_CHANGE, FRAME_OLD_SELECTED_WINDOW): New macros.
* src/window.c (old_selected_window): New Lisp variable.
(wset_old_buffer): New inlined function.
(Fframe_old_selected_window, Fold_selected_window)
(Fwindow_old_buffer): New functions.
(Fwindow_old_pixel_width, Fwindow_old_pixel_height): Rename
from Fwindow_pixel_width_before_size_change and
Fwindow_pixel_height_before_size_change.  Update doc-strings.
(Fwindow_old_body_pixel_width, Fwindow_old_body_pixel_height):
New functions.
(Fdelete_other_windows_internal): Set frame's window_change
slot instead of running 'window-configuration-change-hook'.
(Frun_window_configuration_change_hook): In doc-string tell
that this function is no more needed.
(Frun_window_scroll_functions): Amend doc-string.  Run with
window's buffer current.
(window_sub_list, window_change_record_windows)
(window_change_record_frame, window_change_record)
(run_window_change_functions_1, run_window_change_functions):
New functions.
(set_window_buffer): Set frame's window_change slot instead of
running 'window-configuration-change-hook'.
(make_window): Don't initialize pixel_width_before_size_change
and pixel_height_before_size_change slots.
(window_resize_apply, Fdelete_window_internal): Set frame's
window_change slot.
(Fsplit_window_internal): Set frame's window_change slot.
Don't run 'window-scroll-functions' from here.
* src/window.h (struct window): New slots old_buffer,
change_stamp, old_pixel_width (renamed from
pixel_width_before_size_change), old_pixel_height (renamed
from pixel_height_before_size_change), old_body_pixel_width
and old_body_pixel_height.
* src/xdisp.c (init_iterator): Set frame's window_change slot
when the body height or width changes.
(prepare_menu_bars): Don't run_window_size_change_functions.
(redisplay_internal): Don't run_window_size_change_functions,
run_window_change_functions instead.
2019-01-11 10:02:47 +01:00
Michael Albinus
55c5e26307 Fix nasty cut'n'waste error in Tramp
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
Remove weird code, resulting from cut'n'waste.
2019-01-08 15:03:57 +01:00
Paul Eggert
a04bf15130 Update more copyright years
Update some other copyright years automatically, by running:
Run 'UPDATE_COPYRIGHT_YEAR=2019 \
UPDATE_COPYRIGHT_USE_INTERVALS=1 \
UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79 admin/update-copyright'
followed by 'admin/merge-gnulib'.
2018-12-31 18:47:22 -08:00
Paul Eggert
ba809612c0 Merge from origin/emacs-26
2fcf2df Fix copyright years by hand
26bed8b Update copyright year to 2019
2814292 Fix value of default frame height.  (Bug#33921)
2018-12-31 17:57:29 -08:00
Paul Eggert
2fcf2dff00 Fix copyright years by hand
These are dates that admin/update-copyright did not update, or
updated incorrectly.
2019-01-01 01:02:40 +00:00
Paul Eggert
26bed8ba10 Update copyright year to 2019
Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
2019-01-01 01:01:13 +00:00
Michael Albinus
c5bbf67d5c Reset `tramp-default-proxies-alist' in case of errors
* lisp/net/tramp-sh.el (tramp-compute-multi-hops):
Reset `tramp-default-proxies-alist' in case of errors.
2018-12-31 15:11:09 +01:00
Michael Albinus
3c83c9ed66 Fix Bug#31704. Do not merge
* lisp/net/tramp.el (tramp-eshell-directory-change):
Use `path-separator' as it does eshell.  (Bug#31704)
2018-12-29 11:52:56 +01:00
Michael Albinus
de7644d8d8 Fix Bug#31704. Do not merge
* lisp/eshell/esh-proc.el (eshell-gather-process-output): Do not
let `expand-file-name' prefix remote file names with MS Windows
volume letter.

* lisp/net/tramp.el (tramp-eshell-directory-change):
Use `path-separator' as it does eshell.  (Bug#31704)
2018-12-29 11:50:20 +01:00
Michael Albinus
cf62106878 * lisp/net/tramp-sh.el (tramp-set-remote-path): Handle platforms w/o getconf. 2018-12-28 10:22:42 +01:00
Michael Albinus
13dfe15ef4 Bump Tramp version to 2.4.1
* doc/misc/trampver.texi:
* lisp/net/tramp.el:
* lisp/net/trampver.el: Change version to "2.4.1".
2018-12-27 12:24:24 +01:00
Michael Albinus
9fe788a1fa Provide tramp-adb-handle-make-process
* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
Add `tramp-adb-handle-make-process' and
`tramp-handle-start-file-process'.
(tramp-adb-handle-make-process): New defun, derived from
`tramp-adb-handle-start-file-process'.  (Bug#28691)
2018-12-25 11:08:30 +01:00
Michael Albinus
a94ac604d8 Provide tramp-sh-handle-make-process
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
Add `tramp-sh-handle-make-process' and
`tramp-handle-start-file-process'.
(tramp-sh-handle-make-process): New defun, derived from
`tramp-sh-handle-start-file-process'.  (Bug#28691)

* lisp/net/tramp.el (tramp-handle-start-file-process): New defun.

* test/lisp/net/tramp-tests.el (tramp-test30-make-process):
New test.
(tramp-test31-interrupt-process, tramp-test32-shell-command)
(tramp-test33-environment-variables)
(tramp-test33-environment-variables-and-port-numbers)
(tramp-test34-explicit-shell-file-name, tramp-test35-exec-path)
(tramp-test35-remote-path, tramp-test36-vc-registered)
(tramp-test37-make-auto-save-file-name)
(tramp-test38-find-backup-file-name)
(tramp-test39-make-nearby-temp-file)
(tramp-test40-special-characters)
(tramp-test40-special-characters-with-stat)
(tramp-test40-special-characters-with-perl)
(tramp-test40-special-characters-with-ls, tramp-test41-utf8)
(tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl)
(tramp-test41-utf8-with-ls, tramp-test42-file-system-info)
(tramp-test43-asynchronous-requests, tramp-test44-auto-load)
(tramp-test44-delay-load, tramp-test44-recursive-load)
(tramp-test44-remote-load-path, tramp-test45-unload): Rename.
2018-12-24 14:28:31 +01:00
Michael Albinus
3ea89acac2 Handle `make-process' in Tramp and ange-ftp
* doc/lispref/processes.texi (Asynchronous Processes):
Explain, that not all file name handlers support `make-process'.

* lisp/net/ange-ftp.el:
* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
* lisp/net/tramp.el (tramp-file-name-for-operation): Add `make-process'.

* lisp/vc/ediff-util.el:
* src/process.c:
* test/src/process-tests.el: Use "file name handler" consequently.
2018-12-23 09:48:05 +01:00
Thomas Fitzsimmons
d2ff6627f9 ldap.el: Do not set process-connection-type
* lisp/net/ldap.el (ldap-search-internal): Leave
process-connection-type at its default value.  (Bug#33050)
2018-12-22 09:59:39 -05:00
Michael Albinus
452d0c52cd Fix Bug#33735
* lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter):
Delete empty lines.  (Bug#33735)
(tramp-sh-inotifywait-process-filter): Use `string-match'.
(tramp-set-remote-path): Check for PIPE_BUF but PATH_MAX.

* test/lisp/filenotify-tests.el: Handle $REMOTE_FILE_NOTIFY_LIBRARY.
(file-notify--deftest-remote): Suppress vc-handled-backends.
(file-notify-test08-backup): Do not expect failure on hydra.
(Bug#33735).
2018-12-21 13:53:20 +01:00
Michael Albinus
88d3713beb Fix Bug#33781
* lisp/net/tramp-sh.el (tramp-set-remote-path): Use a temporary
file for setting $PATH, if it exceeds PATH_MAX on the remote system.
(tramp-send-command-and-read): Ignore errors if NOERROR.  (Bug#33781)

* test/lisp/net/tramp-tests.el (tramp-test34-remote-path): New test.
2018-12-20 11:07:15 +01:00
Michael Albinus
3fa8bdca88 * lisp/net/tramp-sh.el (tramp-set-remote-path): Send a warning, if
$PATH exceeds PATH_MAX on the remote system.
2018-12-19 20:29:29 +01:00
Michael Albinus
710e79a6c5 Fix Bug#33781
* lisp/net/tramp-cache.el (tramp-connection-properties):
* lisp/net/tramp-sh.el (tramp-remote-path)
(tramp-remote-process-environment, tramp-sh-extra-args):
Reinsert autoload cookie.  (Bug#33781)

* test/lisp/net/tramp-tests.el: Do not require tramp-sh before
changing tramp-remote-path.
2018-12-18 13:58:00 +01:00
Michael Albinus
739dca7818 Use `flatten-tree' in Tramp
* lisp/net/tramp-compat.el (tramp-compat-flatten-tree): New defun.
(tramp-compat-flatten-list): Remove.

* lisp/net/tramp-sudoedit.el (tramp-sudoedit-send-command): Use it.
2018-12-17 12:26:58 +01:00
Michael Albinus
3e9ecaec3b Reduce autoloaded objects in Tramp
* lisp/net/tramp-adb.el (tramp-adb-program)
(tramp-adb-connect-if-not-connected, tramp-adb-prompt):
Remove autoload cookie.

* lisp/net/tramp-cache.el (tramp-connection-properties)
(tramp-persistency-file-name): Remove autoload cookie.

* lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
Use `tramp-autoload' cookie.

* lisp/net/tramp-gvfs.el (tramp-gvfs-zeroconf-domain):
Remove autoload cookie.

* lisp/net/tramp-rclone.el (tramp-rclone-program): Remove autoload
cookie.
(tramp-set-completion-function): Use `tramp--with-startup'.

* lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
(tramp-copy-size-limit, tramp-histfile-override)
(tramp-use-ssh-controlmaster-options, tramp-remote-path)
(tramp-remote-process-environment, tramp-sh-extra-args):
Remove autoload cookie.
(tramp-stat-marker, tramp-stat-quoted-marker): Move to tramp.el.

* lisp/net/tramp-smb.el (tramp-smb-program)
(tramp-smb-acl-program, tramp-smb-conf)
(tramp-smb-winexe-program, tramp-smb-winexe-shell-command)
(tramp-smb-winexe-shell-command-switch): Remove autoload cookie.

* lisp/net/tramp-sudoedit.el (server, tramp-sh): Do not require.

* lisp/net/tramp.el (tramp--startup-hook): Define.
(tramp-stat-marker, tramp-stat-quoted-marker): New defconsts,
taken from tramp-sh.el.

* test/lisp/net/tramp-archive-tests.el (tramp-copy-size-limit)
(tramp-persistency-file-name): Declare.

* test/lisp/net/tramp-tests.el (tramp-connection-properties)
(tramp-display-escape-sequence-regexp)
(tramp-inline-compress-start-size, tramp-remote-path): Declare.
2018-12-17 11:50:06 +01:00
Stefan Monnier
07d8827946 * lisp/net/tramp: Rework mutual dependencies
Functionally split tramp-loaddefs.el into two parts: one part run
while loading it at the very beginning of loading tramp.el (holding plain
autoloads and declarations), and another run at the very end of loading
tramp.el (holding setup code).
This should reduce infinite-recursion problems while loading.

* lisp/net/tramp.el: Require tramp-loaddefs at beginning.
Run (new and internal) tramp--startup-hook at the end.
Remove all tramp-autoloads.  Prefer tramp--with-startup over
eval-after-load.
(tramp--with-startup): New macro.
(tramp-set-syntax): Show the new value rather than the old value in the
error message.
(tramp-syntax-values): Explicitly return 'values'.
(tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
(tramp-postfix-method-format, tramp-postfix-method-regexp)
(tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
(tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
(tramp-postfix-host-format, tramp-postfix-host-regexp)
(tramp-remote-file-name-spec-regexp, tramp-file-name-structure)
(tramp-completion-file-name-regexp): Don't initialize in the declaration,
since it's recomputed at the end anyway.
(tramp-time-dont-know, tramp-time-doesnt-exist): Move before first use.

* lisp/net/tramp-compat.el: Don't require tramp-loaddefs any more.
(tramp-compat-tramp-syntax): Declare tramp-syntax.

* lisp/net/tramp-smb.el:
* lisp/net/tramp-rclone.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-ftp.el:
* lisp/net/tramp-adb.el: Wrap all autoloaded setup operations within
tramp--with-startup.

* lisp/net/tramp-sh.el: Wrap all autoloaded setup operations within
tramp--with-startup.
(tramp-display-escape-sequence-regexp)
(tramp-device-escape-sequence-regexp): Don't tramp-autoload any more.
(tramp-stat-marker): Use eval-and-compile rather than tramp-autoload.

* lisp/net/tramp-sudoedit.el: Wrap all autoloaded setup operations within
tramp--with-startup.
Require tramp-sh at compile-time to precompute some regexps based on
tramp-stat-marker.
2018-12-16 10:32:53 -05:00
Michael Albinus
e8199e765f Add Tramp sudoedit method
* doc/misc/tramp.texi (Quick Start Guide): New section "Using sudoedit".
(External methods) <sudoedit>: Describe.

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
Add handler.

* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-uid-gid): Rename from
`tramp-sh-handle-set-file-uid-gid'.  Handle only remote file names.

* lisp/net/tramp-sudoedit.el: New file.

* lisp/net/tramp.el (tramp-file-name-for-operation): Handle also
`tramp-set-file-uid-gid'.
(tramp-set-file-uid-gid): New defun.
(tramp-get-local-uid, tramp-get-local-gid): Cache result.

* test/lisp/net/tramp-tests.el (tramp--test-sudoedit-p): New defun.
(tramp-test20-file-modes, tramp-test22-file-times)
(tramp--test-sudoedit-p): Use it.
2018-12-16 15:49:07 +01:00
Michael Albinus
edd0c24116 * lisp/net/tramp-compat.el (tramp-compat-flatten-list): New defun. 2018-12-10 16:52:21 +01:00
Michael Albinus
294b2c2bb7 Refactor some Tramp functions
* lisp/net/tramp-compat.el (tramp-compat-file-local-name): New defsubst.
(tramp-compat-file-name-quoted-p, tramp-compat-file-name-quote)
(tramp-compat-file-name-unquote):
* lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p)
(tramp-handle-file-truename, tramp-get-remote-tmpdir):
* lisp/net/tramp-adb.el (tramp-adb-handle-copy-file)
(tramp-adb-handle-rename-file, tramp-adb-handle-exec-path):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly)
(tramp-sh-handle-exec-path, tramp-find-inline-encoding)
(tramp-get-remote-touch): Use it.

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
Use `tramp-handle-expand-file-name'.
(tramp-adb-handle-expand-file-name): Move to tramp.el.
(tramp-adb-handle-file-writable-p): Adapt docstring.

* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
Use `tramp-handle-file-local-copy', `tramp-handle-file-writable-p'
and `tramp-handle-write-region'.
(tramp-gvfs-handle-file-local-copy)
(tramp-gvfs-handle-file-writable-p)
(tramp-gvfs-handle-write-region): Move to tramp.el.

* lisp/net/tramp-rclone.el: Dont't require `tramp-adb' and
`tramp-gvfs' anymore.
(tramp-rclone-file-name-handler-alist):
Use `tramp-handle-expand-file-name', `tramp-handle-file-local-copy',
`tramp-handle-file-writable-p' and `tramp-handle-write-region'.
(tramp-rclone-handle-directory-files): Simplify.

* lisp/net/tramp.el (tramp-methods): Extend docstring.
(tramp-parse-netrc): Require `netrc'.
(tramp-handle-expand-file-name, tramp-handle-file-local-copy)
(tramp-handle-file-writable-p, tramp-handle-write-region): New defuns.
2018-12-07 17:21:03 +01:00
Michael Albinus
7d33c775b2 Add missing handler to tramp-rclone.el, improve robustness
* lisp/net/tramp-rclone.el (tramp-adb): Require.
(tramp-rclone-file-name-handler-alist):
Use `tramp-adb-handle-expand-file-name'.
(tramp-rclone-flush-directory-cache): New defun, derived from
`tramp-rclone-flush-mount'.
(tramp-rclone-do-copy-or-rename-file)
(tramp-rclone-handle-delete-directory)
(tramp-rclone-handle-delete-file)
(tramp-rclone-handle-make-directory): Use it.
(tramp-rclone-handle-directory-files)
(tramp-rclone-local-file-name):
Use `tramp-compat-file-name-quoted-p', 	`tramp-compat-file-name-quote'
and ´tramp-compat-file-name-unquote'.
(tramp-rclone-handle-file-executable-p)
(tramp-rclone-handle-file-readable-p): Cache result.
(tramp-rclone-handle-file-name-all-completions)
(tramp-rclone-mounted-p, tramp-rclone-remote-file-name)
(tramp-rclone-maybe-open-connection): Rewrite.

* test/lisp/net/tramp-tests.el (tramp--test-rclone-p): New defun.
(tramp-test05-expand-file-name-relative)
(tramp--test-special-characters): Use it.
2018-12-06 16:11:27 +01:00
Michael Albinus
66b49fc1d5 Rework Tramp wrt string-match-p, looking-at-p, save-match-data
* lisp/net/tramp.el (tramp-find-method, tramp-find-user)
(tramp-find-host, tramp-dissect-file-name, tramp-make-tramp-file-name)
(tramp-completion-make-tramp-file-name, tramp-debug-message)
(tramp-message, tramp-progress-reporter-update)
(tramp-set-completion-function)
(tramp-rfn-eshadow-update-overlay)
(tramp-find-file-name-coding-system-alist)
(tramp-file-name-for-operation)
(tramp-use-absolute-autoload-file-names)
(tramp-get-completion-methods, tramp-get-completion-user-host)
(tramp-handle-directory-files)
(tramp-handle-file-name-case-insensitive-p)
(tramp-handle-file-name-completion, tramp-handle-file-truename)
(tramp-handle-insert-directory, tramp-handle-load)
(tramp-handle-shell-command, tramp-action-yesno)
(tramp-action-yn, tramp-process-actions)
(tramp-mode-string-to-int, tramp-get-local-locale)
(tramp-local-host-p):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info)
(tramp-adb-handle-directory-files-and-attributes)
(tramp-adb--gnu-switches-to-ash, tramp-adb-sh-fix-ls-output)
(tramp-adb-handle-file-name-all-completions)
(tramp-adb-handle-shell-command)
(tramp-adb-handle-start-file-process):
* lisp/net/tramp-archive.el (tramp-archive-dissect-file-name):
* lisp/net/tramp-cache.el (tramp-get-hash-table)
(tramp-flush-directory-properties, tramp-flush-file-function):
* lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
(tramp-append-tramp-buffers):
* lisp/net/tramp-compat.el (tramp-compat-process-running-p):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
(tramp-gvfs-get-file-attributes)
(tramp-gvfs-handle-file-attributes)
(tramp-gvfs-monitor-process-filter)
(tramp-gvfs-handler-mounted-unmounted)
(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec-entry)
(tramp-gvfs-mount-spec, tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
(tramp-do-file-attributes-with-stat)
(tramp-sh-handle-file-selinux-context)
(tramp-sh-handle-directory-files-and-attributes)
(tramp-do-directory-files-and-attributes-with-stat)
(tramp-sh-handle-file-name-all-completions)
(tramp-sh-handle-dired-compress-file)
(tramp-sh-handle-insert-directory)
(tramp-sh-handle-expand-file-name)
(tramp-sh-handle-start-file-process)
(tramp-sh-handle-process-file, tramp-sh-handle-write-region)
(tramp-sh-handle-file-notify-add-watch)
(tramp-sh-gio-monitor-process-filter)
(tramp-sh-gvfs-monitor-dir-process-filter)
(tramp-sh-inotifywait-process-filter)
(tramp-sh-handle-file-system-info, tramp-maybe-send-script)
(tramp-find-executable, tramp-open-shell, tramp-find-shell)
(tramp-open-connection-setup-interactive-shell)
(tramp-find-inline-encoding, tramp-call-local-coding-command)
(tramp-compute-multi-hops, tramp-maybe-open-connection)
(tramp-convert-file-attributes)
(tramp-make-copy-program-file-name, tramp-get-remote-locale)
(tramp-get-test-nt-command, tramp-get-remote-stat)
(tramp-get-inline-coding):
* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files)
(tramp-smb-action-get-acl, tramp-smb-handle-file-attributes)
(tramp-smb-handle-file-name-all-completions)
(tramp-smb-handle-file-system-info)
(tramp-smb-handle-file-writable-p)
(tramp-smb-handle-insert-directory)
(tramp-smb-handle-make-directory)
(tramp-smb-handle-make-directory-internal)
(tramp-smb-handle-start-file-process, tramp-smb-get-localname)
(tramp-smb-read-file-entry): Use `string-match-p' and
`looking-at-p'.  Remove superfluous `save-match-data'.  Apply
`eval-when-compile' on constant concat data.

* lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p-p):
Use `string-prefix-p'.
(tramp-compat-file-name-unquote): Do not use match data.
2018-12-06 16:00:05 +01:00
Michael Albinus
8f3fde3884 Make stronger tests for Tramp multi hops
* lisp/net/tramp.el (tramp-dissect-file-name, tramp-dissect-hop-name):
Check, that method is capable of multi hops.

* test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
(tramp-test02-file-name-dissect-simplified)
(tramp-test02-file-name-dissect-separate): Suppress check for multihops.
(tramp-test03-file-name-method-rules): Check for error if multi
hops cannot be applied.
2018-12-06 15:25:22 +01:00
Glenn Morris
4d66f9fe5e Merge from origin/emacs-26
cc3ad9a ; * CONTRIBUTE: Clarify rules for committing to release branc...
a89dbe2 * doc/misc/dbus.texi (Type Conversion): Fix typo.  (Bug#33551)
03ee726 ; Add comment to `customize-package-emacs-version-alist'
bce1d1a Improve documentation of gdb-mi.el
2018-12-02 10:32:23 -08:00
Michael Albinus
03ee726f98 ; Add comment to `customize-package-emacs-version-alist' 2018-11-30 11:14:54 +01:00
Filipp Gunbin
3b852da52f LDAP: Set process-connection-type to t
* lisp/net/ldap.el (ldap-search-internal): Set
  process-connection-type to t.  (Bug#33050)
2018-11-29 17:00:09 +03:00
Thomas Fitzsimmons
809989f79e LDAP: Set process-connection-type to t on Darwin
* lisp/net/ldap.el (ldap-search-internal): Set
process-connection-type to t on Darwin.  Do not merge to
master.  (Bug#33050)
2018-11-29 12:39:34 +02:00
Glenn Morris
415ef4a2b0 Merge from origin/emacs-26
74a3a79 (origin/emacs-26) Fix a typo in a doc string
911766d Minor markup fix in frames.texi
19ed1e9 * lisp/net/trampver.el (customize-package-emacs-version-alist...
d7132ad * lisp/mh-e/mh-e.el (customize-package-emacs-version-alist): ...
5f39260 * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Pass format to m...
a291f62 Don't call xwidget functions until GTK has been initialized
f0531b8 Improve documentation of Ediff wordwise commands
2925ce5 Support Hunspell 1.7.0 in ispell.el
03bb7a8 Avoid clearing echo-area message by auto-save-visited-file-name
2018-11-28 07:51:12 -08:00
Michael Albinus
febdedfa8d ; Fix an oversight in tramp-smb.el 2018-11-28 16:46:49 +01:00
Michael Albinus
9b9c70b7db Tramp cleanup
* lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions)
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions):
* lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
Use `string-match-p'.

* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
Set file properties more robust.

* lisp/net/tramp-sh.el (tramp-stat-marker)
(tramp-convert-file-attributes): Add tramp-autoload cookie.
2018-11-28 16:38:49 +01:00
Glenn Morris
19ed1e9a5f * lisp/net/trampver.el (customize-package-emacs-version-alist):
Add 2.3.3.
2018-11-27 20:24:05 -08:00
Michael Albinus
e02d375cb6 Fixes in tramp-clone.el
* lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
Wrap by connection property "rclone-device-names".
(tramp-rclone-maybe-open-connection): Do not check for `non-essential'.
2018-11-27 14:52:58 +01:00
Michael Albinus
f3328f995e Rework tramp-rclone-mounted-p
* lisp/net/tramp-rclone.el (tramp-rclone-mounted-p): Rewrite.
(tramp-rclone-maybe-open-connection): Set "mounted" file property.
2018-11-26 19:48:37 +01:00
Michael Albinus
1b8c5961ea ; * lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-regexp):
; Keep indentation.
2018-11-25 21:49:41 +01:00