emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/tramp a67a236: Tramp ELPA version 2.4.2.1 released


From: Michael Albinus
Subject: [elpa] externals/tramp a67a236: Tramp ELPA version 2.4.2.1 released
Date: Mon, 29 Jul 2019 03:54:02 -0400 (EDT)

branch: externals/tramp
commit a67a236571289ae5ee96585453bb517ad1cc2003
Author: Michael Albinus <address@hidden>
Commit: Michael Albinus <address@hidden>

     Tramp ELPA version 2.4.2.1 released
---
 test/tramp-tests.el |  12 ++-
 texi/tramp.texi     |  51 +++++++------
 texi/trampver.texi  |   2 +-
 tramp-adb.el        |  21 ++++--
 tramp-cache.el      |   1 +
 tramp-cmds.el       |  98 ++++++++++++-------------
 tramp-gvfs.el       |   3 +
 tramp-loaddefs.el   | 102 +++++++++++++++++++++++++-
 tramp-rclone.el     |   3 +
 tramp-sh.el         |  69 +++++++++++-------
 tramp-smb.el        |  97 +++++++++++++-----------
 tramp-sudoedit.el   |   2 +
 tramp.el            |   2 +-
 tramp.info          | 207 +++++++++++++++++++++++++++-------------------------
 trampver.el         |   4 +-
 15 files changed, 415 insertions(+), 259 deletions(-)

diff --git a/test/tramp-tests.el b/test/tramp-tests.el
index 3d0faaf..8dbbb2c 100644
--- a/test/tramp-tests.el
+++ b/test/tramp-tests.el
@@ -2394,7 +2394,10 @@ This checks also `file-name-as-directory', 
`file-name-directory',
                (when (and (tramp--test-expensive-test) (tramp--test-emacs26-p))
                  (should-error
                   (copy-file source target)
-                  :type 'file-already-exists))
+                  :type 'file-already-exists)
+                 (should-error
+                  (copy-file source target 'ok)
+                  :type 'file-error))
                (copy-file source (file-name-as-directory target))
                (should
                 (file-exists-p
@@ -2508,7 +2511,10 @@ This checks also `file-name-as-directory', 
`file-name-directory',
                (when (and (tramp--test-expensive-test) (tramp--test-emacs26-p))
                  (should-error
                   (rename-file source target)
-                  :type 'file-already-exists))
+                  :type 'file-already-exists)
+                 (should-error
+                  (rename-file source target 'ok)
+                  :type 'file-error))
                (rename-file source (file-name-as-directory target))
                (should-not (file-exists-p source))
                (should
@@ -2821,7 +2827,7 @@ This tests also `file-directory-p' and 
`file-accessible-directory-p'."
               (looking-at-p
                (concat
                 ;; There might be a summary line.
-                "\\(total.+[[:digit:]]+\n\\)?"
+                "\\(total.+[[:digit:]]+ ?[kKMGTPEZY]?i?B?\n\\)?"
                 ;; We don't know in which order ".", ".." and "foo" appear.
                 (format
                  "\\(.+ %s\\( ->.+\\)?\n\\)\\{%d\\}"
diff --git a/texi/tramp.texi b/texi/tramp.texi
index f67ed48..3e8add2 100644
--- a/texi/tramp.texi
+++ b/texi/tramp.texi
@@ -402,12 +402,15 @@ $ autoconf
 @end group
 @end example
 
-
+@ifset installchapter
 @c Installation chapter is necessary only in case of standalone
 @c installation.
-@ifset installchapter
 @include trampinst.texi
 @end ifset
+@ifclear installchapter
+See the file @file{INSTALL} in that directory for further information
+how to install @value{tramp}.
+@end ifclear
 
 
 @node Quick Start Guide
@@ -709,25 +712,28 @@ Inline methods can work in situations where an external 
transfer
 program is unavailable.  Inline methods also work when transferring
 files between different @emph{user identities} on the same host.
 
-@cindex @command{uuencode}
-@cindex @command{mimencode}
 @cindex base-64 encoding
-
+@cindex base-64 encoding
+@cindex uu encoding
+@vindex tramp-remote-coding-commands
 @value{tramp} checks the remote host for the availability and
-usability of @command{mimencode} (part of the @command{metamail}
-package) or @command{uuencode}.  @value{tramp} uses the first reliable
-command it finds.  @value{tramp}'s search path can be customized, see
-@ref{Remote programs}.
+usability of one of the commands defined in
+@code{tramp-remote-coding-commands}.  @value{tramp} uses the first
+reliable command it finds.  @value{tramp}'s search path can be
+customized, see @ref{Remote programs}.
 
-In case both @command{mimencode} and @command{uuencode} are
-unavailable, @value{tramp} first transfers a small Perl program to the
-remote host, and then tries that program for encoding and decoding.
+In case none of the commands are unavailable, @value{tramp} first
+transfers a small Perl program to the remote host, and then tries that
+program for encoding and decoding.
 
 @vindex tramp-inline-compress-start-size
+@vindex tramp-inline-compress-commands
 To increase transfer speeds for large text files, use compression
 before encoding.  The user option
 @code{tramp-inline-compress-start-size} specifies the file size for
-such optimization.
+such optimization.  This feature depends on the availability and
+usability of one of the commands defined in
+@code{tramp-inline-compress-commands}.
 
 @table @asis
 @item @option{rsh}
@@ -3134,9 +3140,9 @@ be achieved by adding the environment variable 
@env{COLUMNS} to
 
 @value{tramp} is integrated into @file{eshell.el}, which enables
 interactive eshell sessions on remote hosts at the command prompt.
-You must add the module @code{em-tramp} to @code{eshell-modules-list}.
-Here's a sample interaction after opening @kbd{M-x eshell @key{RET}}
-on a remote host:
+You must add the module @code{eshell-tramp} to
+@code{eshell-modules-list}.  Here's a sample interaction after opening
+@kbd{M-x eshell @key{RET}} on a remote host:
 
 @example
 @group
@@ -3269,10 +3275,13 @@ This command flushes all connection related objects.  
@option{vec} is
 the internal representation of a remote connection.  When called
 interactively, this command lists active remote connections in the
 minibuffer.  Each connection is of the format
-@file{@trampfn{method,user@@host,}}.  Flushing remote connections also
-cleans the password cache (@pxref{Password handling}), file cache,
-connection cache (@pxref{Connection caching}), recentf cache
-(@pxref{File Conveniences, , , emacs}), and connection buffers.
+@file{@trampfn{method,user@@host,}}.
+
+Flushing remote connections also cleans the password cache
+(@pxref{Password handling}), file cache, connection cache
+(@pxref{Connection caching}), and recentf cache (@pxref{File
+Conveniences, , , emacs}).  It also deletes session timers
+(@pxref{Predefined connection information}) and connection buffers.
 @end deffn
 
 @deffn Command tramp-cleanup-this-connection
@@ -3290,7 +3299,7 @@ proxy definitions (@pxref{Ad-hoc multi-hops}).
 @deffn Command tramp-cleanup-all-buffers
 Just as for @code{tramp-cleanup-all-connections}, all remote
 connections and ad-hoc proxy definition are cleaned up in addition to
-killing buffers related to that remote connection.
+killing all buffers related to remote connections.
 @end deffn
 
 
diff --git a/texi/trampver.texi b/texi/trampver.texi
index 6cc6429..0254776 100644
--- a/texi/trampver.texi
+++ b/texi/trampver.texi
@@ -8,7 +8,7 @@
 @c In the Tramp GIT, the version numbers are auto-frobbed from
 @c tramp.el, and the bug report address is auto-frobbed from
 @c configure.ac.
-@set trampver 2.4.2
+@set trampver 2.4.2.1
 @set tramp-bug-report-address tramp-devel@@gnu.org
 @set emacsver 24.4
 
diff --git a/tramp-adb.el b/tramp-adb.el
index 186b67c..fb84aa1 100644
--- a/tramp-adb.el
+++ b/tramp-adb.el
@@ -35,12 +35,14 @@
 
 (require 'tramp)
 
+;;;###tramp-autoload
 (defcustom tramp-adb-program "adb"
   "Name of the Android Debug Bridge program."
   :group 'tramp
   :version "24.4"
   :type 'string)
 
+;;;###tramp-autoload
 (defcustom tramp-adb-connect-if-not-connected nil
   "Try to run `adb connect' if provided device is not connected currently.
 It is used for TCP/IP devices."
@@ -52,6 +54,7 @@ It is used for TCP/IP devices."
 (defconst tramp-adb-method "adb"
   "When this method name is used, forward all calls to Android Debug Bridge.")
 
+;;;###tramp-autoload
 (defcustom tramp-adb-prompt
   "^[[:digit:]]*|?[[:alnum:]\e;[]*@?[[:alnum:]]*[^#\\$]*[#\\$][[:space:]]"
   "Regexp used as prompt in almquist shell."
@@ -706,15 +709,16 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are 
completely ignored."
     (let ((t1 (tramp-tramp-file-p filename))
          (t2 (tramp-tramp-file-p newname)))
       (with-parsed-tramp-file-name (if t1 filename newname) nil
+       (when (and (not ok-if-already-exists) (file-exists-p newname))
+         (tramp-error v 'file-already-exists newname))
+       (when (and (file-directory-p newname) (not (directory-name-p newname)))
+         (tramp-error v 'file-error "File is a directory %s" newname))
+
        (with-tramp-progress-reporter
            v 0 (format "Copying %s to %s" filename newname)
-
          (if (and t1 t2 (tramp-equal-remote filename newname))
              (let ((l1 (tramp-compat-file-local-name filename))
                    (l2 (tramp-compat-file-local-name newname)))
-               (when (and (not ok-if-already-exists)
-                          (file-exists-p newname))
-                 (tramp-error v 'file-already-exists newname))
                ;; We must also flush the cache of the directory,
                ;; because `file-attributes' reads the values from
                ;; there.
@@ -785,17 +789,18 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are 
completely ignored."
     (let ((t1 (tramp-tramp-file-p filename))
          (t2 (tramp-tramp-file-p newname)))
       (with-parsed-tramp-file-name (if t1 filename newname) nil
+       (when (and (not ok-if-already-exists) (file-exists-p newname))
+         (tramp-error v 'file-already-exists newname))
+       (when (and (file-directory-p newname) (not (directory-name-p newname)))
+         (tramp-error v 'file-error "File is a directory %s" newname))
+
        (with-tramp-progress-reporter
            v 0 (format "Renaming %s to %s" filename newname)
-
          (if (and t1 t2
                   (tramp-equal-remote filename newname)
                   (not (file-directory-p filename)))
              (let ((l1 (tramp-compat-file-local-name filename))
                    (l2 (tramp-compat-file-local-name newname)))
-               (when (and (not ok-if-already-exists)
-                          (file-exists-p newname))
-                 (tramp-error v 'file-already-exists newname))
                ;; We must also flush the cache of the directory, because
                ;; `file-attributes' reads the values from there.
                (tramp-flush-file-properties v (file-name-directory l1))
diff --git a/tramp-cache.el b/tramp-cache.el
index a9ff3a7..489f81a 100644
--- a/tramp-cache.el
+++ b/tramp-cache.el
@@ -86,6 +86,7 @@ details see the info pages."
                       (choice :tag "        Property" string)
                       (choice :tag "           Value" sexp))))
 
+;;;###tramp-autoload
 (defcustom tramp-persistency-file-name
   (expand-file-name (locate-user-emacs-file "tramp"))
   "File which keeps connection history for Tramp connections."
diff --git a/tramp-cmds.el b/tramp-cmds.el
index 007b98f..35bb85b 100644
--- a/tramp-cmds.el
+++ b/tramp-cmds.el
@@ -212,39 +212,38 @@ This includes password cache, file cache, connection 
cache, buffers."
 (defun tramp-bug ()
   "Submit a bug report to the Tramp developers."
   (interactive)
-  (catch 'dont-send
-    (let ((reporter-prompt-for-summary-p t)
-         ;; In rare cases, it could contain the password.  So we make it nil.
-         tramp-password-save-function)
-      (reporter-submit-bug-report
-       tramp-bug-report-address          ; to-address
-       (format "tramp (%s %s/%s)" ; package name and version
-              tramp-version tramp-repository-branch tramp-repository-version)
-       (sort
-       (delq nil (mapcar
-         (lambda (x)
-           (and x (boundp x) (cons x 'tramp-reporter-dump-variable)))
-         (append
-          (mapcar #'intern (all-completions "tramp-" obarray #'boundp))
-          ;; Non-tramp variables of interest.
-          '(shell-prompt-pattern
-            backup-by-copying
-            backup-by-copying-when-linked
-            backup-by-copying-when-mismatch
-            backup-by-copying-when-privileged-mismatch
-            backup-directory-alist
-            password-cache
-            password-cache-expiry
-            remote-file-name-inhibit-cache
-            connection-local-profile-alist
-            connection-local-criteria-alist
-            file-name-handler-alist))))
-       (lambda (x y) (string< (symbol-name (car x)) (symbol-name (car y)))))
-
-       'tramp-load-report-modules      ; pre-hook
-       'tramp-append-tramp-buffers     ; post-hook
-       (propertize
-       "\n" 'display "\
+  (let ((reporter-prompt-for-summary-p t)
+       ;; In rare cases, it could contain the password.  So we make it nil.
+       tramp-password-save-function)
+    (reporter-submit-bug-report
+     tramp-bug-report-address    ; to-address
+     (format "tramp (%s %s/%s)" ; package name and version
+            tramp-version tramp-repository-branch tramp-repository-version)
+     (sort
+      (delq nil (mapcar
+       (lambda (x)
+         (and x (boundp x) (cons x 'tramp-reporter-dump-variable)))
+       (append
+        (mapcar #'intern (all-completions "tramp-" obarray #'boundp))
+        ;; Non-tramp variables of interest.
+        '(shell-prompt-pattern
+          backup-by-copying
+          backup-by-copying-when-linked
+          backup-by-copying-when-mismatch
+          backup-by-copying-when-privileged-mismatch
+          backup-directory-alist
+          password-cache
+          password-cache-expiry
+          remote-file-name-inhibit-cache
+          connection-local-profile-alist
+          connection-local-criteria-alist
+          file-name-handler-alist))))
+      (lambda (x y) (string< (symbol-name (car x)) (symbol-name (car y)))))
+
+     'tramp-load-report-modules        ; pre-hook
+     'tramp-append-tramp-buffers       ; post-hook
+     (propertize
+      "\n" 'display "\
 Enter your bug report in this message, including as much detail
 as you possibly can about the problem, what you did to cause it
 and what the local and remote machines are.
@@ -267,7 +266,7 @@ contents of the *tramp/foo* buffer and the *debug tramp/foo*
 buffer in your bug report.
 
 --bug report follows this line--
-")))))
+"))))
 
 (defun tramp-reporter-dump-variable (varsym mailbuf)
   "Pretty-print the value of the variable in symbol VARSYM."
@@ -398,28 +397,21 @@ the debug buffer(s).")
        (setq buffer-read-only t)
        (goto-char (point-min))
 
-       (if (y-or-n-p "Do you want to append the buffer(s)? ")
-           ;; OK, let's send.  First we delete the buffer list.
-           (progn
-             (kill-buffer nil)
-             (switch-to-buffer curbuf)
-             (goto-char (point-max))
-             (insert (propertize "\n" 'display "\n\
+       (when (y-or-n-p "Do you want to append the buffer(s)? ")
+         ;; OK, let's send.  First we delete the buffer list.
+         (kill-buffer nil)
+         (switch-to-buffer curbuf)
+         (goto-char (point-max))
+         (insert (propertize "\n" 'display "\n\
 This is a special notion of the `gnus/message' package.  If you
 use another mail agent (by copying the contents of this buffer)
 please ensure that the buffers are attached to your email.\n\n"))
-             (dolist (buffer buffer-list)
-               (mml-insert-empty-tag
-                'part 'type "text/plain"
-                'encoding "base64" 'disposition "attachment" 'buffer buffer
-                'description buffer))
-             (set-buffer-modified-p nil))
-
-         ;; Don't send.  Delete the message buffer.
-         (set-buffer curbuf)
-         (set-buffer-modified-p nil)
-         (kill-buffer nil)
-         (throw 'dont-send nil))))))
+         (dolist (buffer buffer-list)
+           (mml-insert-empty-tag
+            'part 'type "text/plain"
+            'encoding "base64" 'disposition "attachment" 'buffer buffer
+            'description buffer))
+         (set-buffer-modified-p nil))))))
 
 (defalias 'tramp-submit-bug #'tramp-bug)
 
diff --git a/tramp-gvfs.el b/tramp-gvfs.el
index e3da20a..9d45e6a 100644
--- a/tramp-gvfs.el
+++ b/tramp-gvfs.el
@@ -161,6 +161,7 @@
    (add-to-list 'tramp-default-host-alist
                '("\\`gdrive\\'" nil ,(match-string 2 user-mail-address)))))
 
+;;;###tramp-autoload
 (defcustom tramp-gvfs-zeroconf-domain "local"
   "Zeroconf domain to be used for discovering services, like host names."
   :group 'tramp
@@ -764,6 +765,8 @@ file names."
       (with-parsed-tramp-file-name (if t1 filename newname) nil
        (when (and (not ok-if-already-exists) (file-exists-p newname))
          (tramp-error v 'file-already-exists newname))
+       (when (and (file-directory-p newname) (not (directory-name-p newname)))
+         (tramp-error v 'file-error "File is a directory %s" newname))
 
        (if (or (and equal-remote
                     (tramp-get-connection-property v "direct-copy-failed" nil))
diff --git a/tramp-loaddefs.el b/tramp-loaddefs.el
index 0ddfee3..4e4374b 100644
--- a/tramp-loaddefs.el
+++ b/tramp-loaddefs.el
@@ -6,9 +6,25 @@
 ;;;### (autoloads nil "tramp-adb" "tramp-adb.el" (0 0 0 0))
 ;;; Generated autoloads from tramp-adb.el
 
+(defvar tramp-adb-program "adb" "\
+Name of the Android Debug Bridge program.")
+
+(custom-autoload 'tramp-adb-program "tramp-adb" t)
+
+(defvar tramp-adb-connect-if-not-connected nil "\
+Try to run `adb connect' if provided device is not connected currently.
+It is used for TCP/IP devices.")
+
+(custom-autoload 'tramp-adb-connect-if-not-connected "tramp-adb" t)
+
 (defconst tramp-adb-method "adb" "\
 When this method name is used, forward all calls to Android Debug Bridge.")
 
+(defvar tramp-adb-prompt 
"^[[:digit:]]*|?[[:alnum:]\33;[]*@?[[:alnum:]]*[^#\\$]*[#\\$][[:space:]]" "\
+Regexp used as prompt in almquist shell.")
+
+(custom-autoload 'tramp-adb-prompt "tramp-adb" t)
+
 (tramp--with-startup (add-to-list 'tramp-methods `(,tramp-adb-method 
(tramp-tmpdir "/data/local/tmp") (tramp-default-port 5555))) (add-to-list 
'tramp-default-host-alist `(,tramp-adb-method nil "")) 
(tramp-set-completion-function tramp-adb-method '((tramp-adb-parse-device-names 
""))))
 
 (defconst tramp-adb-file-name-handler-alist '((access-file . 
tramp-handle-access-file) (add-name-to-file . tramp-handle-add-name-to-file) 
(copy-file . tramp-adb-handle-copy-file) (delete-directory . 
tramp-adb-handle-delete-directory) (delete-file . tramp-adb-handle-delete-file) 
(directory-file-name . tramp-handle-directory-file-name) (directory-files . 
tramp-handle-directory-files) (directory-files-and-attributes . 
tramp-adb-handle-directory-files-and-attributes) (dired-compress-file . i [...]
@@ -71,6 +87,11 @@ details see the info pages.")
 
 (custom-autoload 'tramp-connection-properties "tramp-cache" t)
 
+(defvar tramp-persistency-file-name (expand-file-name (locate-user-emacs-file 
"tramp")) "\
+File which keeps connection history for Tramp connections.")
+
+(custom-autoload 'tramp-persistency-file-name "tramp-cache" t)
+
 (autoload 'tramp-get-file-property "tramp-cache" "\
 Get the PROPERTY of FILE from the cache context of KEY.
 Returns DEFAULT if not set.
@@ -243,6 +264,11 @@ List of methods for remote files, accessed with GVFS.")
 
 (tramp--with-startup (when (string-match 
"\\(.+\\)@\\(\\(?:gmail\\|googlemail\\)\\.com\\)" user-mail-address) 
(add-to-list 'tramp-default-user-alist `("\\`gdrive\\'" nil ,(match-string 1 
user-mail-address))) (add-to-list 'tramp-default-host-alist '("\\`gdrive\\'" 
nil (\, (match-string 2 user-mail-address))))))
 
+(defvar tramp-gvfs-zeroconf-domain "local" "\
+Zeroconf domain to be used for discovering services, like host names.")
+
+(custom-autoload 'tramp-gvfs-zeroconf-domain "tramp-gvfs" t)
+
 (when (featurep 'dbusbind) (tramp--with-startup (dolist (elt 
tramp-gvfs-methods) (unless (assoc elt tramp-methods) (add-to-list 
'tramp-methods (cons elt nil))))))
 
 (defconst tramp-goa-service "org.gnome.OnlineAccounts" "\
@@ -272,6 +298,11 @@ pass to the OPERATION.
 (defconst tramp-rclone-method "rclone" "\
 When this method name is used, forward all calls to rclone mounts.")
 
+(defvar tramp-rclone-program "rclone" "\
+Name of the rclone program.")
+
+(custom-autoload 'tramp-rclone-program "tramp-rclone" t)
+
 (tramp--with-startup (add-to-list 'tramp-methods `(,tramp-rclone-method 
(tramp-mount-args nil) (tramp-copyto-args nil) (tramp-moveto-args nil) 
(tramp-about-args ("--full")))) (add-to-list 'tramp-default-host-alist 
`(,tramp-rclone-method nil "")) (tramp-set-completion-function 
tramp-rclone-method '((tramp-rclone-parse-device-names ""))))
 
 (defconst tramp-rclone-file-name-handler-alist '((access-file . 
tramp-handle-access-file) (add-name-to-file . tramp-handle-add-name-to-file) 
(copy-file . tramp-rclone-handle-copy-file) (delete-directory . 
tramp-rclone-handle-delete-directory) (delete-file . 
tramp-rclone-handle-delete-file) (directory-file-name . 
tramp-handle-directory-file-name) (directory-files . 
tramp-rclone-handle-directory-files) (directory-files-and-attributes . 
tramp-handle-directory-files-and-attributes) (dired-co [...]
@@ -300,6 +331,21 @@ Return a list of (nil host) tuples allowed to access.
 ;;;### (autoloads nil "tramp-sh" "tramp-sh.el" (0 0 0 0))
 ;;; Generated autoloads from tramp-sh.el
 
+(defvar tramp-inline-compress-start-size 4096 "\
+The minimum size of compressing where inline transfer.
+When inline transfer, compress transferred data of file whose
+size is this value or above (up to `tramp-copy-size-limit' for
+out-of-band methods).
+If it is nil, no compression at all will be applied.")
+
+(custom-autoload 'tramp-inline-compress-start-size "tramp-sh" t)
+
+(defvar tramp-copy-size-limit 10240 "\
+The maximum file size where inline copying is preferred over an 
out-of-the-band copy.
+If it is nil, out-of-the-band copy will be used without a check.")
+
+(custom-autoload 'tramp-copy-size-limit "tramp-sh" t)
+
 (defvar tramp-terminal-type "dumb" "\
 Value of TERM environment variable for logging in to remote host.
 Because Tramp wants to parse the output of the remote shell, it is easily
@@ -308,12 +354,30 @@ files conditionalize this setup based on the TERM 
environment variable.")
 
 (custom-autoload 'tramp-terminal-type "tramp-sh" t)
 
+(defvar tramp-histfile-override "~/.tramp_history" "\
+When invoking a shell, override the HISTFILE with this value.
+When setting to a string, it redirects the shell history to that
+file.  Be careful when setting to \"/dev/null\"; this might
+result in undesired results when using \"bash\" as shell.
+
+The value t unsets any setting of HISTFILE, and sets both
+HISTFILESIZE and HISTSIZE to 0.  If you set this variable to nil,
+however, the *override* is disabled, so the history will go to
+the default storage location, e.g. \"$HOME/.sh_history\".")
+
+(custom-autoload 'tramp-histfile-override "tramp-sh" t)
+
 (defconst tramp-display-escape-sequence-regexp "\33[[;0-9]+m" "\
 Terminal control escape sequences for display attributes.")
 
 (defconst tramp-initial-end-of-output "#$ " "\
 Prompt when establishing a connection.")
 
+(defvar tramp-use-ssh-controlmaster-options t "\
+Whether to use `tramp-ssh-controlmaster-options'.")
+
+(custom-autoload 'tramp-use-ssh-controlmaster-options "tramp-sh" t)
+
 (tramp--with-startup (add-to-list 'tramp-methods '("rcp" (tramp-login-program 
"rsh") (tramp-login-args (("%h") ("-l" "%u"))) (tramp-remote-shell "/bin/sh") 
(tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c")) 
(tramp-copy-program "rcp") (tramp-copy-args (("-p" "%k") ("-r"))) 
(tramp-copy-keep-date t) (tramp-copy-recursive t))) (add-to-list 'tramp-methods 
'("remcp" (tramp-login-program "remsh") (tramp-login-args (("%h") ("-l" "%u"))) 
(tramp-remote-shell "/bin/sh") (tramp-remot [...]
 
 (defconst tramp-completion-function-alist-rsh '((tramp-parse-rhosts 
"/etc/hosts.equiv") (tramp-parse-rhosts "~/.rhosts")) "\
@@ -420,10 +484,46 @@ Method to connect SAMBA and M$ SMB servers.")
 
 (tramp--with-startup (add-to-list 'tramp-default-user-alist `(,(concat "\\`" 
tramp-smb-method "\\'") nil nil)) (tramp-set-completion-function 
tramp-smb-method '((tramp-parse-netrc "~/.netrc"))))
 
+(defvar tramp-smb-program "smbclient" "\
+Name of SMB client to run.")
+
+(custom-autoload 'tramp-smb-program "tramp-smb" t)
+
+(defvar tramp-smb-acl-program "smbcacls" "\
+Name of SMB acls to run.")
+
+(custom-autoload 'tramp-smb-acl-program "tramp-smb" t)
+
+(defvar tramp-smb-conf "/dev/null" "\
+Path of the smb.conf file.
+If it is nil, no smb.conf will be added to the `tramp-smb-program'
+call, letting the SMB client use the default one.")
+
+(custom-autoload 'tramp-smb-conf "tramp-smb" t)
+
 (defconst tramp-smb-file-name-handler-alist '((access-file . 
tramp-handle-access-file) (add-name-to-file . 
tramp-smb-handle-add-name-to-file) (copy-directory . 
tramp-smb-handle-copy-directory) (copy-file . tramp-smb-handle-copy-file) 
(delete-directory . tramp-smb-handle-delete-directory) (delete-file . 
tramp-smb-handle-delete-file) (directory-file-name . 
tramp-handle-directory-file-name) (directory-files . 
tramp-smb-handle-directory-files) (directory-files-and-attributes . 
tramp-handle-d [...]
 Alist of handler functions for Tramp SMB method.
 Operations not mentioned here will be handled by the default Emacs 
primitives.")
 
+(defvar tramp-smb-winexe-program "winexe" "\
+Name of winexe client to run.
+If it isn't found in the local $PATH, the absolute path of winexe
+shall be given.  This is needed for remote processes.")
+
+(custom-autoload 'tramp-smb-winexe-program "tramp-smb" t)
+
+(defvar tramp-smb-winexe-shell-command "powershell.exe" "\
+Shell to be used for processes on remote machines.
+This must be Powershell V2 compatible.")
+
+(custom-autoload 'tramp-smb-winexe-shell-command "tramp-smb" t)
+
+(defvar tramp-smb-winexe-shell-command-switch "-file -" "\
+Command switch used together with `tramp-smb-winexe-shell-command'.
+This can be used to disable echo etc.")
+
+(custom-autoload 'tramp-smb-winexe-shell-command-switch "tramp-smb" t)
+
 (defsubst tramp-smb-file-name-p (filename) "\
 Check if it's a filename for SMB servers." (and (tramp-tramp-file-p filename) 
(string= (tramp-file-name-method (tramp-dissect-file-name filename)) 
tramp-smb-method)))
 
@@ -477,7 +577,7 @@ UU-encode the region between BEG and END.
 ;;;### (autoloads nil "trampver" "trampver.el" (0 0 0 0))
 ;;; Generated autoloads from trampver.el
 
-(defconst tramp-version "2.4.2" "\
+(defconst tramp-version "2.4.2.1" "\
 This version of Tramp.")
 
 (defconst tramp-bug-report-address "address@hidden" "\
diff --git a/tramp-rclone.el b/tramp-rclone.el
index 9e99493..9b3eab3 100644
--- a/tramp-rclone.el
+++ b/tramp-rclone.el
@@ -42,6 +42,7 @@
 (defconst tramp-rclone-method "rclone"
   "When this method name is used, forward all calls to rclone mounts.")
 
+;;;###tramp-autoload
 (defcustom tramp-rclone-program "rclone"
   "Name of the rclone program."
   :group 'tramp
@@ -214,6 +215,8 @@ file names."
       (with-parsed-tramp-file-name (if t1 filename newname) nil
        (when (and (not ok-if-already-exists) (file-exists-p newname))
          (tramp-error v 'file-already-exists newname))
+       (when (and (file-directory-p newname) (not (directory-name-p newname)))
+         (tramp-error v 'file-error "File is a directory %s" newname))
 
        (if (or (and t1 (not (tramp-rclone-file-name-p filename)))
                (and t2 (not (tramp-rclone-file-name-p newname))))
diff --git a/tramp-sh.el b/tramp-sh.el
index cee61f1..6a82fef 100644
--- a/tramp-sh.el
+++ b/tramp-sh.el
@@ -37,14 +37,17 @@
 (defvar vc-git-program)
 (defvar vc-hg-program)
 
+;;;###tramp-autoload
 (defcustom tramp-inline-compress-start-size 4096
   "The minimum size of compressing where inline transfer.
-When inline transfer, compress transferred data of file
-whose size is this value or above (up to `tramp-copy-size-limit').
+When inline transfer, compress transferred data of file whose
+size is this value or above (up to `tramp-copy-size-limit' for
+out-of-band methods).
 If it is nil, no compression at all will be applied."
   :group 'tramp
   :type '(choice (const nil) integer))
 
+;;;###tramp-autoload
 (defcustom tramp-copy-size-limit 10240
   "The maximum file size where inline copying is preferred over an \
 out-of-the-band copy.
@@ -61,6 +64,7 @@ files conditionalize this setup based on the TERM environment 
variable."
   :group 'tramp
   :type 'string)
 
+;;;###tramp-autoload
 (defcustom tramp-histfile-override "~/.tramp_history"
   "When invoking a shell, override the HISTFILE with this value.
 When setting to a string, it redirects the shell history to that
@@ -103,6 +107,7 @@ detected as prompt when being sent on echoing hosts, 
therefore.")
 (defconst tramp-end-of-heredoc (md5 tramp-end-of-output)
   "String used to recognize end of heredoc strings.")
 
+;;;###tramp-autoload
 (defcustom tramp-use-ssh-controlmaster-options t
   "Whether to use `tramp-ssh-controlmaster-options'."
   :group 'tramp
@@ -261,11 +266,13 @@ The string is used in `tramp-methods'.")
  (add-to-list 'tramp-methods
               '("sudo"
                 (tramp-login-program        "sudo")
-                ;; The password template must be masked.  Otherwise, it could 
be
-                ;; interpreted as password prompt if the remote host echoes 
the command.
+                ;; The password template must be masked.  Otherwise,
+                ;; it could be interpreted as password prompt if the
+                ;; remote host echoes the command.
                 (tramp-login-args           (("-u" "%u") ("-s") ("-H")
                                             ("-p" 
"P\"\"a\"\"s\"\"s\"\"w\"\"o\"\"r\"\"d\"\":")))
-                ;; Local $SHELL could be a nasty one, like zsh or fish.  Let's 
override it.
+                ;; Local $SHELL could be a nasty one, like zsh or
+                ;; fish.  Let's override it.
                 (tramp-login-env            (("SHELL") ("/bin/sh")))
                 (tramp-remote-shell         "/bin/sh")
                 (tramp-remote-shell-login   ("-l"))
@@ -1991,6 +1998,8 @@ file names."
       (with-parsed-tramp-file-name (if t1 filename newname) nil
        (when (and (not ok-if-already-exists) (file-exists-p newname))
          (tramp-error v 'file-already-exists newname))
+       (when (and (file-directory-p newname) (not (directory-name-p newname)))
+         (tramp-error v 'file-error "File is a directory %s" newname))
 
        (with-tramp-progress-reporter
            v 0 (format "%s %s to %s"
@@ -2297,7 +2306,8 @@ The method used must be an out-of-band method."
 
        ;; Check which ones of source and target are Tramp files.
        (setq source (funcall
-                     (if (and (file-directory-p filename)
+                     (if (and (string-equal method "rsync")
+                              (file-directory-p filename)
                               (not (file-exists-p newname)))
                          #'file-name-as-directory
                        #'identity)
@@ -3694,7 +3704,7 @@ Fall back to normal file name handler if no Tramp handler 
exists."
        ;; once.  Therefore, we apply the handler directly.
        (when (member (cl-caadr object) events)
          (tramp-compat-funcall
-          'file-notify-handle-event
+          (lookup-key special-event-map [file-notify])
           `(file-notify ,object file-notify-callback)))))
 
     ;; Save rest of the string.
@@ -3745,7 +3755,7 @@ file-notify events."
        ;; once.  Therefore, we apply the handler directly.
        (when (member (cl-caadr object) events)
          (tramp-compat-funcall
-          'file-notify-handle-event
+          (lookup-key special-event-map [file-notify])
           `(file-notify ,object file-notify-callback)))))
 
     ;; Save rest of the string.
@@ -3781,7 +3791,7 @@ file-notify events."
        ;; once.  Therefore, we apply the handler directly.
        (when (member (cl-caadr object) events)
          (tramp-compat-funcall
-          'file-notify-handle-event
+          (lookup-key special-event-map [file-notify])
           `(file-notify ,object file-notify-callback)))))))
 
 (defun tramp-sh-handle-file-system-info (filename)
@@ -4549,29 +4559,36 @@ Goes through the list `tramp-inline-compress-commands'."
           vec 5
           "Checking local compress commands `%s', `%s' for sanity"
           compress decompress)
-         (unless
-             (zerop
-              (tramp-call-local-coding-command
-               (format
-                "echo %s | %s | %s" magic
-                ;; Windows shells need the program file name after
-                ;; the pipe symbol be quoted if they use forward
-                ;; slashes as directory separators.
-                (mapconcat
-                 #'tramp-unquote-shell-quote-argument
-                 (split-string compress) " ")
-                (mapconcat
-                 #'tramp-unquote-shell-quote-argument
-                 (split-string decompress) " "))
-               nil nil))
-           (throw 'next nil))
-         (tramp-message
+          (with-temp-buffer
+            (unless (zerop
+                    (tramp-call-local-coding-command
+                     (format
+                      "echo %s | %s | %s" magic
+                      ;; Windows shells need the program file name
+                      ;; after the pipe symbol be quoted if they use
+                      ;; forward slashes as directory separators.
+                      (mapconcat
+                       #'tramp-unquote-shell-quote-argument
+                       (split-string compress) " ")
+                      (mapconcat
+                       #'tramp-unquote-shell-quote-argument
+                       (split-string decompress) " "))
+                     nil t))
+              (throw 'next nil))
+           (goto-char (point-min))
+           (unless (looking-at-p (regexp-quote magic))
+             (throw 'next nil)))
+          (tramp-message
           vec 5
           "Checking remote compress commands `%s', `%s' for sanity"
           compress decompress)
          (unless (tramp-send-command-and-check
                   vec (format "echo %s | %s | %s" magic compress decompress) t)
            (throw 'next nil))
+         (with-current-buffer (tramp-get-buffer vec)
+           (goto-char (point-min))
+           (unless (looking-at-p (regexp-quote magic))
+             (throw 'next nil)))
          (setq found t)))
 
       ;; Did we find something?
diff --git a/tramp-smb.el b/tramp-smb.el
index 695f552..9b87ed4 100644
--- a/tramp-smb.el
+++ b/tramp-smb.el
@@ -60,17 +60,20 @@
   tramp-smb-method
   '((tramp-parse-netrc "~/.netrc"))))
 
+;;;###tramp-autoload
 (defcustom tramp-smb-program "smbclient"
   "Name of SMB client to run."
   :group 'tramp
   :type 'string)
 
+;;;###tramp-autoload
 (defcustom tramp-smb-acl-program "smbcacls"
   "Name of SMB acls to run."
   :group 'tramp
   :type 'string
   :version "24.4")
 
+;;;###tramp-autoload
 (defcustom tramp-smb-conf "/dev/null"
   "Path of the smb.conf file.
 If it is nil, no smb.conf will be added to the `tramp-smb-program'
@@ -287,6 +290,7 @@ See `tramp-actions-before-shell' for more info.")
 Operations not mentioned here will be handled by the default Emacs 
primitives.")
 
 ;; Options for remote processes via winexe.
+;;;###tramp-autoload
 (defcustom tramp-smb-winexe-program "winexe"
   "Name of winexe client to run.
 If it isn't found in the local $PATH, the absolute path of winexe
@@ -295,6 +299,7 @@ shall be given.  This is needed for remote processes."
   :type 'string
   :version "24.3")
 
+;;;###tramp-autoload
 (defcustom tramp-smb-winexe-shell-command "powershell.exe"
   "Shell to be used for processes on remote machines.
 This must be Powershell V2 compatible."
@@ -302,6 +307,7 @@ This must be Powershell V2 compatible."
   :type 'string
   :version "24.3")
 
+;;;###tramp-autoload
 (defcustom tramp-smb-winexe-shell-command-switch "-file -"
   "Command switch used together with `tramp-smb-winexe-shell-command'.
 This can be used to disable echo etc."
@@ -582,9 +588,11 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are 
completely ignored."
                  (expand-file-name (file-name-nondirectory filename) newname)))
 
          (with-parsed-tramp-file-name newname nil
-           (when (and (not ok-if-already-exists)
-                      (file-exists-p newname))
+           (when (and (not ok-if-already-exists) (file-exists-p newname))
              (tramp-error v 'file-already-exists newname))
+           (when (and (file-directory-p newname)
+                      (not (directory-name-p newname)))
+             (tramp-error v 'file-error "File is a directory %s" newname))
 
            ;; We must also flush the cache of the directory, because
            ;; `file-attributes' reads the values from there.
@@ -1329,48 +1337,49 @@ component is used as the target of the symlink."
   (setq filename (expand-file-name filename)
        newname (expand-file-name newname))
 
-  (when (and (not ok-if-already-exists)
-            (file-exists-p newname))
-    (tramp-error
-     (tramp-dissect-file-name
-      (if (tramp-tramp-file-p filename) filename newname))
-     'file-already-exists newname))
-
-  (with-tramp-progress-reporter
-      (tramp-dissect-file-name
-       (if (tramp-tramp-file-p filename) filename newname))
-      0 (format "Renaming %s to %s" filename newname)
-
-    (if (and (not (file-exists-p newname))
-            (tramp-equal-remote filename newname)
-            (string-equal
-             (tramp-smb-get-share (tramp-dissect-file-name filename))
-             (tramp-smb-get-share (tramp-dissect-file-name newname))))
-       ;; We can rename directly.
-       (with-parsed-tramp-file-name filename v1
-         (with-parsed-tramp-file-name newname v2
-
-           ;; We must also flush the cache of the directory, because
-           ;; `file-attributes' reads the values from there.
-           (tramp-flush-file-properties v1 (file-name-directory v1-localname))
-           (tramp-flush-file-properties v1 v1-localname)
-           (tramp-flush-file-properties v2 (file-name-directory v2-localname))
-           (tramp-flush-file-properties v2 v2-localname)
-           (unless (tramp-smb-get-share v2)
-             (tramp-error
-              v2 'file-error "Target `%s' must contain a share name" newname))
-           (unless (tramp-smb-send-command
-                    v2 (format "rename \"%s\" \"%s\""
-                               (tramp-smb-get-localname v1)
-                               (tramp-smb-get-localname v2)))
-             (tramp-error v2 'file-error "Cannot rename `%s'" filename))))
-
-      ;; We must rename via copy.
-      (copy-file
-       filename newname ok-if-already-exists 'keep-time 'preserve-uid-gid)
-      (if (file-directory-p filename)
-         (delete-directory filename 'recursive)
-       (delete-file filename)))))
+  (with-parsed-tramp-file-name
+      (if (tramp-tramp-file-p filename) filename newname) nil
+    (when (and (not ok-if-already-exists) (file-exists-p newname))
+      (tramp-error v 'file-already-exists newname))
+    (when (and (file-directory-p newname) (not (directory-name-p newname)))
+      (tramp-error v 'file-error "File is a directory %s" newname))
+
+    (with-tramp-progress-reporter
+       v 0 (format "Renaming %s to %s" filename newname)
+
+      (if (and (not (file-exists-p newname))
+              (tramp-equal-remote filename newname)
+              (string-equal
+               (tramp-smb-get-share (tramp-dissect-file-name filename))
+               (tramp-smb-get-share (tramp-dissect-file-name newname))))
+         ;; We can rename directly.
+         (with-parsed-tramp-file-name filename v1
+           (with-parsed-tramp-file-name newname v2
+
+             ;; We must also flush the cache of the directory, because
+             ;; `file-attributes' reads the values from there.
+             (tramp-flush-file-properties
+              v1 (file-name-directory v1-localname))
+             (tramp-flush-file-properties v1 v1-localname)
+             (tramp-flush-file-properties
+              v2 (file-name-directory v2-localname))
+             (tramp-flush-file-properties v2 v2-localname)
+             (unless (tramp-smb-get-share v2)
+               (tramp-error
+                v2 'file-error
+                "Target `%s' must contain a share name" newname))
+             (unless (tramp-smb-send-command
+                      v2 (format "rename \"%s\" \"%s\""
+                                 (tramp-smb-get-localname v1)
+                                 (tramp-smb-get-localname v2)))
+               (tramp-error v2 'file-error "Cannot rename `%s'" filename))))
+
+       ;; We must rename via copy.
+       (copy-file
+        filename newname ok-if-already-exists 'keep-time 'preserve-uid-gid)
+       (if (file-directory-p filename)
+           (delete-directory filename 'recursive)
+         (delete-file filename))))))
 
 (defun tramp-smb-action-set-acl (proc vec)
   "Set ACL data."
diff --git a/tramp-sudoedit.el b/tramp-sudoedit.el
index bbe7800..0ded85f 100644
--- a/tramp-sudoedit.el
+++ b/tramp-sudoedit.el
@@ -244,6 +244,8 @@ absolute file names."
       (with-parsed-tramp-file-name (if t1 filename newname) nil
        (when (and (not ok-if-already-exists) (file-exists-p newname))
          (tramp-error v 'file-already-exists newname))
+       (when (and (file-directory-p newname) (not (directory-name-p newname)))
+         (tramp-error v 'file-error "File is a directory %s" newname))
 
        (if (or (and (file-remote-p filename) (not t1))
                (and (file-remote-p newname)  (not t2)))
diff --git a/tramp.el b/tramp.el
index 667dc1d..2556034 100644
--- a/tramp.el
+++ b/tramp.el
@@ -7,7 +7,7 @@
 ;; Maintainer: Michael Albinus <address@hidden>
 ;; Keywords: comm, processes
 ;; Package: tramp
-;; Version: 2.4.2
+;; Version: 2.4.2.1
 ;; Package-Requires: ((emacs "24.4"))
 ;; URL: https://savannah.gnu.org/projects/tramp
 
diff --git a/tramp.info b/tramp.info
index 1f416c9..2024eca 100644
--- a/tramp.info
+++ b/tramp.info
@@ -21,10 +21,10 @@ END-INFO-DIR-ENTRY
 
 File: tramp.info,  Node: Top,  Next: Overview,  Prev: (dir),  Up: (dir)
 
-TRAMP 2.4.2 User Manual
-***********************
+TRAMP 2.4.2.1 User Manual
+*************************
 
-This file documents TRAMP 2.4.2, a remote file editing package for
+This file documents TRAMP 2.4.2.1, a remote file editing package for
 Emacs.
 
    TRAMP stands for “Transparent Remote (file) Access, Multiple
@@ -301,6 +301,9 @@ Run ‘autoconf’ as follows to generate an up-to-date 
‘configure’ script:
      $ cd ~/emacs/tramp
      $ autoconf
 
+   See the file ‘INSTALL’ in that directory for further information how
+to install TRAMP.
+
 
 File: tramp.info,  Node: Quick Start Guide,  Next: Configuration,  Prev: 
Obtaining TRAMP,  Up: Top
 
@@ -527,17 +530,19 @@ program is unavailable.  Inline methods also work when 
transferring
 files between different _user identities_ on the same host.
 
    TRAMP checks the remote host for the availability and usability of
-‘mimencode’ (part of the ‘metamail’ package) or ‘uuencode’.  TRAMP uses
-the first reliable command it finds.  TRAMP’s search path can be
+one of the commands defined in ‘tramp-remote-coding-commands’.  TRAMP
+uses the first reliable command it finds.  TRAMP’s search path can be
 customized, see *note Remote programs::.
 
-   In case both ‘mimencode’ and ‘uuencode’ are unavailable, TRAMP first
-transfers a small Perl program to the remote host, and then tries that
-program for encoding and decoding.
+   In case none of the commands are unavailable, TRAMP first transfers a
+small Perl program to the remote host, and then tries that program for
+encoding and decoding.
 
    To increase transfer speeds for large text files, use compression
 before encoding.  The user option ‘tramp-inline-compress-start-size’
-specifies the file size for such optimization.
+specifies the file size for such optimization.  This feature depends on
+the availability and usability of one of the commands defined in
+‘tramp-inline-compress-commands’.
 
 ‘rsh’
 
@@ -2350,8 +2355,8 @@ achieved by adding the environment variable ‘COLUMNS’ to
 
 TRAMP is integrated into ‘eshell.el’, which enables interactive eshell
 sessions on remote hosts at the command prompt.  You must add the module
-‘em-tramp’ to ‘eshell-modules-list’.  Here’s a sample interaction after
-opening ‘M-x eshell <RET>’ on a remote host:
+‘eshell-tramp’ to ‘eshell-modules-list’.  Here’s a sample interaction
+after opening ‘M-x eshell <RET>’ on a remote host:
 
      ~ $ cd /sudo::/etc <RET>
      /sudo:root@host:/etc $ hostname <RET>
@@ -2444,10 +2449,12 @@ TRAMP provides several ways to flush remote connections.
      internal representation of a remote connection.  When called
      interactively, this command lists active remote connections in the
      minibuffer.  Each connection is of the format ‘/method:user@host:’.
+
      Flushing remote connections also cleans the password cache (*note
      Password handling::), file cache, connection cache (*note
-     Connection caching::), recentf cache (*note (emacs)File
-     Conveniences::), and connection buffers.
+     Connection caching::), and recentf cache (*note (emacs)File
+     Conveniences::).  It also deletes session timers (*note Predefined
+     connection information::) and connection buffers.
 
  -- Command: tramp-cleanup-this-connection
      Flushes only the current buffer’s remote connection objects, the
@@ -2461,7 +2468,7 @@ TRAMP provides several ways to flush remote connections.
  -- Command: tramp-cleanup-all-buffers
      Just as for ‘tramp-cleanup-all-connections’, all remote connections
      and ad-hoc proxy definition are cleaned up in addition to killing
-     buffers related to that remote connection.
+     all buffers related to remote connections.
 
 
 File: tramp.info,  Node: Archive file names,  Prev: Cleanup remote 
connections,  Up: Usage
@@ -3857,13 +3864,13 @@ Function Index
 * tramp-change-syntax:                   Change file name syntax.
                                                                (line 10)
 * tramp-cleanup-all-buffers:             Cleanup remote connections.
-                                                               (line 27)
+                                                               (line 29)
 * tramp-cleanup-all-connections:         Cleanup remote connections.
-                                                               (line 22)
+                                                               (line 24)
 * tramp-cleanup-connection:              Cleanup remote connections.
                                                                (line  8)
 * tramp-cleanup-this-connection:         Cleanup remote connections.
-                                                               (line 18)
+                                                               (line 20)
 * tramp-get-completion-function:         Customizing Completion.
                                                                (line 16)
 * tramp-parse-etc-group:                 Customizing Completion.
@@ -3967,6 +3974,7 @@ Variable Index
                                                               (line 277)
 * tramp-ignored-file-name-regexp:        Frequently Asked Questions.
                                                               (line 580)
+* tramp-inline-compress-commands:        Inline methods.      (line  25)
 * tramp-inline-compress-start-size:      Inline methods.      (line  25)
 * tramp-local-host-regexp:               Frequently Asked Questions.
                                                               (line 161)
@@ -3977,6 +3985,7 @@ Variable Index
 * tramp-password-prompt-regexp:          Remote shell setup.  (line  33)
 * tramp-persistency-file-name:           Connection caching.  (line   6)
 * tramp-rclone-program:                  External methods.    (line 212)
+* tramp-remote-coding-commands:          Inline methods.      (line  16)
 * tramp-remote-path:                     Remote programs.     (line  15)
 * tramp-remote-process-environment:      Remote processes.    (line  38)
 * tramp-restricted-shell-hosts-alist:    Multi-hops.          (line  84)
@@ -4023,6 +4032,7 @@ Concept Index
 * backup:                                Auto-save and Backup.
                                                               (line   6)
 * base-64 encoding:                      Inline methods.      (line  16)
+* base-64 encoding <1>:                  Inline methods.      (line  16)
 * behind the scenes:                     Overview.            (line  44)
 * bug reports:                           Bug Reports.         (line   6)
 * cab file archive suffix:               Archive file names.  (line  39)
@@ -4056,7 +4066,7 @@ Concept Index
 * default user:                          Default User.        (line   6)
 * depot file archive suffix:             Archive file names.  (line  45)
 * details of operation:                  Overview.            (line  44)
-* doas method:                           Inline methods.      (line  66)
+* doas method:                           Inline methods.      (line  68)
 * docker method:                         Customizing Methods. (line  15)
 * eshell:                                Remote processes.    (line 175)
 * exe file archive suffix:               Archive file names.  (line  47)
@@ -4132,10 +4142,10 @@ Concept Index
 * inline methods:                        Inline methods.      (line   6)
 * iso file archive suffix:               Archive file names.  (line  49)
 * jar file archive suffix:               Archive file names.  (line  51)
-* kerberos (with krlogin method):        Inline methods.      (line  98)
-* kerberos (with ksu method):            Inline methods.      (line 103)
-* krlogin method:                        Inline methods.      (line  98)
-* ksu method:                            Inline methods.      (line 103)
+* kerberos (with krlogin method):        Inline methods.      (line 100)
+* kerberos (with ksu method):            Inline methods.      (line 105)
+* krlogin method:                        Inline methods.      (line 100)
+* ksu method:                            Inline methods.      (line 105)
 * kubectl method:                        Customizing Methods. (line  21)
 * lxc method:                            Customizing Methods. (line  27)
 * lxd method:                            Customizing Methods. (line  32)
@@ -4150,7 +4160,7 @@ Concept Index
 * method dav <1>:                        GVFS based methods.  (line  24)
 * method davs:                           Quick Start Guide.   (line  95)
 * method davs <1>:                       GVFS based methods.  (line  24)
-* method doas:                           Inline methods.      (line  66)
+* method doas:                           Inline methods.      (line  68)
 * method docker:                         Customizing Methods. (line  15)
 * method fcp:                            External methods.    (line  73)
 * method fsh:                            External methods.    (line  83)
@@ -4159,8 +4169,8 @@ Concept Index
 * method gdrive <1>:                     GVFS based methods.  (line  34)
 * method git:                            Customizing Methods. (line  37)
 * method hdfs:                           Customizing Methods. (line  43)
-* method krlogin:                        Inline methods.      (line  98)
-* method ksu:                            Inline methods.      (line 103)
+* method krlogin:                        Inline methods.      (line 100)
+* method ksu:                            Inline methods.      (line 105)
 * method kubectl:                        Customizing Methods. (line  21)
 * method lxc:                            Customizing Methods. (line  27)
 * method lxd:                            Customizing Methods. (line  32)
@@ -4169,14 +4179,14 @@ Concept Index
 * method nextcloud <1>:                  GVFS based methods.  (line  47)
 * method plink:                          Quick Start Guide.   (line  44)
 * method plink <1>:                      Quick Start Guide.   (line  68)
-* method plink <2>:                      Inline methods.      (line 108)
-* method plinkx:                         Inline methods.      (line 119)
+* method plink <2>:                      Inline methods.      (line 110)
+* method plinkx:                         Inline methods.      (line 121)
 * method pscp:                           External methods.    (line  61)
 * method psftp:                          External methods.    (line  61)
 * method rclone:                         Quick Start Guide.   (line 122)
 * method rclone <1>:                     External methods.    (line 211)
 * method rcp:                            External methods.    (line  17)
-* method rsh:                            Inline methods.      (line  30)
+* method rsh:                            Inline methods.      (line  32)
 * method rsync:                          External methods.    (line  37)
 * method scp:                            External methods.    (line  25)
 * method scpx:                           External methods.    (line  48)
@@ -4184,29 +4194,28 @@ Concept Index
 * method sftp:                           Quick Start Guide.   (line  95)
 * method sftp <1>:                       GVFS based methods.  (line  55)
 * method sg:                             Quick Start Guide.   (line  56)
-* method sg <1>:                         Inline methods.      (line  72)
+* method sg <1>:                         Inline methods.      (line  74)
 * method smb:                            Quick Start Guide.   (line  87)
 * method smb <1>:                        External methods.    (line 121)
 * method ssh:                            Quick Start Guide.   (line  44)
 * method ssh <1>:                        Quick Start Guide.   (line  68)
-* method ssh <2>:                        Inline methods.      (line  35)
-* method sshx:                           Inline methods.      (line  80)
+* method ssh <2>:                        Inline methods.      (line  37)
+* method sshx:                           Inline methods.      (line  82)
 * method sshx with cygwin:               Windows setup hints. (line   8)
 * method su:                             Quick Start Guide.   (line  56)
 * method su <1>:                         Quick Start Guide.   (line  68)
-* method su <2>:                         Inline methods.      (line  50)
+* method su <2>:                         Inline methods.      (line  52)
 * method sudo:                           Quick Start Guide.   (line  56)
 * method sudo <1>:                       Quick Start Guide.   (line  68)
-* method sudo <2>:                       Inline methods.      (line  57)
+* method sudo <2>:                       Inline methods.      (line  59)
 * method sudoedit:                       Quick Start Guide.   (line  78)
 * method sudoedit <1>:                   External methods.    (line  95)
-* method telnet:                         Inline methods.      (line  45)
+* method telnet:                         Inline methods.      (line  47)
 * method vagrant:                        Customizing Methods. (line  48)
 * methods, external:                     External methods.    (line   6)
 * methods, gvfs:                         Quick Start Guide.   (line  95)
 * methods, gvfs <1>:                     GVFS based methods.  (line   6)
 * methods, inline:                       Inline methods.      (line   6)
-* mimencode:                             Inline methods.      (line  16)
 * ms windows (with smb method):          Quick Start Guide.   (line  87)
 * ms windows (with smb method) <1>:      External methods.    (line 121)
 * msu file archive suffix:               Archive file names.  (line  55)
@@ -4235,8 +4244,8 @@ Concept Index
 * plink (with psftp method):             External methods.    (line  61)
 * plink method:                          Quick Start Guide.   (line  44)
 * plink method <1>:                      Quick Start Guide.   (line  68)
-* plink method <2>:                      Inline methods.      (line 108)
-* plinkx method:                         Inline methods.      (line 119)
+* plink method <2>:                      Inline methods.      (line 110)
+* plinkx method:                         Inline methods.      (line 121)
 * powershell:                            Remote processes.    (line 239)
 * proxy hosts:                           Multi-hops.          (line   6)
 * proxy hosts, ad-hoc:                   Ad-hoc multi-hops.   (line   6)
@@ -4254,7 +4263,7 @@ Concept Index
 * remote shell setup:                    Remote shell setup.  (line   6)
 * rpm file archive suffix:               Archive file names.  (line  66)
 * rsh (with rcp method):                 External methods.    (line  17)
-* rsh method:                            Inline methods.      (line  30)
+* rsh method:                            Inline methods.      (line  32)
 * rsync method:                          External methods.    (line  37)
 * scp method:                            External methods.    (line  25)
 * scpx method:                           External methods.    (line  48)
@@ -4266,7 +4275,7 @@ Concept Index
 * sftp method:                           Quick Start Guide.   (line  95)
 * sftp method <1>:                       GVFS based methods.  (line  55)
 * sg method:                             Quick Start Guide.   (line  56)
-* sg method <1>:                         Inline methods.      (line  72)
+* sg method <1>:                         Inline methods.      (line  74)
 * shar file archive suffix:              Archive file names.  (line  68)
 * shell:                                 Remote processes.    (line 112)
 * shell init files:                      Remote shell setup.  (line   6)
@@ -4282,22 +4291,22 @@ Concept Index
 * ssh (with scpx method):                External methods.    (line  48)
 * ssh method:                            Quick Start Guide.   (line  44)
 * ssh method <1>:                        Quick Start Guide.   (line  68)
-* ssh method <2>:                        Inline methods.      (line  35)
-* sshx method:                           Inline methods.      (line  80)
+* ssh method <2>:                        Inline methods.      (line  37)
+* sshx method:                           Inline methods.      (line  82)
 * sshx method with cygwin:               Windows setup hints. (line   8)
 * SSH_AUTH_SOCK and emacs on ms windows: Windows setup hints. (line  29)
 * su method:                             Quick Start Guide.   (line  56)
 * su method <1>:                         Quick Start Guide.   (line  68)
-* su method <2>:                         Inline methods.      (line  50)
+* su method <2>:                         Inline methods.      (line  52)
 * sudo method:                           Quick Start Guide.   (line  56)
 * sudo method <1>:                       Quick Start Guide.   (line  68)
-* sudo method <2>:                       Inline methods.      (line  57)
+* sudo method <2>:                       Inline methods.      (line  59)
 * sudoedit method:                       Quick Start Guide.   (line  78)
 * sudoedit method <1>:                   External methods.    (line  95)
 * tar file archive suffix:               Archive file names.  (line  71)
 * tbz file archive suffix:               Archive file names.  (line  71)
 * telnet (with nc method):               External methods.    (line  88)
-* telnet method:                         Inline methods.      (line  45)
+* telnet method:                         Inline methods.      (line  47)
 * tgz file archive suffix:               Archive file names.  (line  71)
 * tlz file archive suffix:               Archive file names.  (line  71)
 * TRAMP theme:                           Frequently Asked Questions.
@@ -4310,7 +4319,7 @@ Concept Index
 * unix command tset:                     Remote shell setup.  (line  92)
 * using non-standard methods:            Customizing Methods. (line   6)
 * using TRAMP:                           Usage.               (line   6)
-* uuencode:                              Inline methods.      (line  16)
+* uu encoding:                           Inline methods.      (line  16)
 * vagrant method:                        Customizing Methods. (line  48)
 * warc file archive suffix:              Archive file names.  (line  73)
 * winexe:                                Remote processes.    (line 239)
@@ -4324,60 +4333,60 @@ Concept Index
 
 Tag Table:
 Node: Top933
-Node: Overview5360
-Node: Obtaining TRAMP10694
-Node: Quick Start Guide13046
-Ref: Quick Start Guide: File name syntax13823
-Ref: Quick Start Guide: ssh and plink methods14925
-Ref: Quick Start Guide: su, sudo and sg methods15469
-Ref: Quick Start Guide: ssh, plink, su, sudo and sg methods16033
-Ref: Quick Start Guide: sudoedit method16563
-Ref: Quick Start Guide: smb method16974
-Ref: Quick Start Guide: GVFS-based methods17305
-Ref: Quick Start Guide: GNOME Online Accounts based methods17717
-Ref: Quick Start Guide: Android18259
-Ref: Quick Start Guide: rclone method18491
-Node: Configuration18818
-Node: Connection types21290
-Node: Inline methods22704
-Node: External methods27367
-Node: GVFS based methods37886
-Node: Default Method40776
-Node: Default User43793
-Node: Default Host45316
-Node: Multi-hops46448
-Node: Firewalls50640
-Node: Customizing Methods52097
-Node: Customizing Completion54437
-Node: Password handling57927
-Ref: Using an authentication file58397
-Ref: Caching passwords59899
-Node: Connection caching60417
-Node: Predefined connection information61347
-Node: Remote programs63692
-Node: Remote shell setup66613
-Node: Android shell setup74823
-Node: Auto-save and Backup77210
-Node: Windows setup hints80285
-Node: Usage81905
-Node: File name syntax83203
-Node: Change file name syntax85210
-Node: File name completion86641
-Node: Ad-hoc multi-hops89714
-Node: Remote processes91780
-Ref: Running a debugger on a remote host100534
-Node: Cleanup remote connections102504
-Node: Archive file names103952
-Node: Bug Reports108340
-Node: Frequently Asked Questions110722
-Node: Files directories and localnames133006
-Node: Localname deconstruction133442
-Node: External packages134095
-Node: Traces and Profiles136140
-Node: GNU Free Documentation License138109
-Node: Function Index163480
-Node: Variable Index166084
-Node: Concept Index173127
+Node: Overview5366
+Node: Obtaining TRAMP10700
+Node: Quick Start Guide13147
+Ref: Quick Start Guide: File name syntax13924
+Ref: Quick Start Guide: ssh and plink methods15026
+Ref: Quick Start Guide: su, sudo and sg methods15570
+Ref: Quick Start Guide: ssh, plink, su, sudo and sg methods16134
+Ref: Quick Start Guide: sudoedit method16664
+Ref: Quick Start Guide: smb method17075
+Ref: Quick Start Guide: GVFS-based methods17406
+Ref: Quick Start Guide: GNOME Online Accounts based methods17818
+Ref: Quick Start Guide: Android18360
+Ref: Quick Start Guide: rclone method18592
+Node: Configuration18919
+Node: Connection types21391
+Node: Inline methods22805
+Node: External methods27572
+Node: GVFS based methods38091
+Node: Default Method40981
+Node: Default User43998
+Node: Default Host45521
+Node: Multi-hops46653
+Node: Firewalls50845
+Node: Customizing Methods52302
+Node: Customizing Completion54642
+Node: Password handling58132
+Ref: Using an authentication file58602
+Ref: Caching passwords60104
+Node: Connection caching60622
+Node: Predefined connection information61552
+Node: Remote programs63897
+Node: Remote shell setup66818
+Node: Android shell setup75028
+Node: Auto-save and Backup77415
+Node: Windows setup hints80490
+Node: Usage82110
+Node: File name syntax83408
+Node: Change file name syntax85415
+Node: File name completion86846
+Node: Ad-hoc multi-hops89919
+Node: Remote processes91985
+Ref: Running a debugger on a remote host100743
+Node: Cleanup remote connections102713
+Node: Archive file names104247
+Node: Bug Reports108635
+Node: Frequently Asked Questions111017
+Node: Files directories and localnames133301
+Node: Localname deconstruction133737
+Node: External packages134390
+Node: Traces and Profiles136435
+Node: GNU Free Documentation License138404
+Node: Function Index163775
+Node: Variable Index166379
+Node: Concept Index173568
 
 End Tag Table
 
diff --git a/trampver.el b/trampver.el
index e3de54b..05b5965 100644
--- a/trampver.el
+++ b/trampver.el
@@ -31,7 +31,7 @@
 ;; aclocal.m4; should be changed only there.
 
 ;;;###tramp-autoload
-(defconst tramp-version "2.4.2"
+(defconst tramp-version "2.4.2.1"
   "This version of Tramp.")
 
 ;;;###tramp-autoload
@@ -65,7 +65,7 @@
 ;; Check for Emacs version.
 (let ((x   (if (not (string-lessp emacs-version "24.4"))
       "ok"
-    (format "Tramp 2.4.2 is not fit for %s"
+    (format "Tramp 2.4.2.1 is not fit for %s"
             (replace-regexp-in-string "\n" "" (emacs-version))))))
   (unless (string-equal "ok" x) (error "%s" x)))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]