branch: externals/tramp commit fc8bfababd07ac9fa1e338782a16ffb1f756ae04 Author: Michael Albinus <michael.albi...@gmx.de> Commit: Michael Albinus <michael.albi...@gmx.de>
Tramp ELPA version 2.6.0.5 released --- README | 4 +-- test/tramp-tests.el | 82 +++++++++++++++++++++++++---------------------------- texi/trampver.texi | 2 +- tramp-compat.el | 1 + tramp-crypt.el | 7 ++++- tramp-fuse.el | 7 +++-- tramp-sh.el | 63 ++++++++++++++++++++-------------------- tramp-smb.el | 10 ++++--- tramp.el | 78 +++++++++++++++++++++++++++++--------------------- trampver.el | 6 ++-- 10 files changed, 140 insertions(+), 120 deletions(-) diff --git a/README b/README index e1588106e1..c8a52d9a71 100644 --- a/README +++ b/README @@ -22,11 +22,11 @@ installed with, you must recompile the package: • Remove all byte-compiled Tramp files - $ rm -f ~/.emacs.d/elpa/tramp-2.6.0.4/tramp*.elc + $ rm -f ~/.emacs.d/elpa/tramp-2.6.0.5/tramp*.elc • Start Emacs with Tramp’s source files - $ emacs -L ~/.emacs.d/elpa/tramp-2.6.0.4 -l tramp + $ emacs -L ~/.emacs.d/elpa/tramp-2.6.0.5 -l tramp This should not give you the error. diff --git a/test/tramp-tests.el b/test/tramp-tests.el index 396adaa95b..c956e54c0c 100644 --- a/test/tramp-tests.el +++ b/test/tramp-tests.el @@ -66,7 +66,6 @@ (defvar ange-ftp-make-backup-files) (defvar tramp-connection-properties) (defvar tramp-copy-size-limit) -(defvar tramp-display-escape-sequence-regexp) (defvar tramp-fuse-remove-hidden-files) (defvar tramp-fuse-unmount-on-cleanup) (defvar tramp-inline-compress-start-size) @@ -4725,7 +4724,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'." tramp-prefix-format hop (substring-no-properties method 0 (min 2 (length method)))) - ,(concat tramp-prefix-format method-string) + ,(concat tramp-prefix-format hop method-string) ,method-string))) ;; Complete user name. (unless (tramp-string-empty-or-nil-p user) @@ -4734,7 +4733,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'." (substring-no-properties user 0 (min 2 (length user)))) ,(concat - tramp-prefix-format method-string user-string) + tramp-prefix-format hop method-string user-string) ,user-string))) ;; Complete host name. (unless (tramp-string-empty-or-nil-p host) @@ -4744,9 +4743,9 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'." (substring-no-properties host 0 (min 2 (length host)))) (,(concat - tramp-prefix-format method-string host-string) + tramp-prefix-format hop method-string host-string) ,(concat - tramp-prefix-format method-string + tramp-prefix-format hop method-string user-string host-string)) ,host-string))) ;; Complete user and host name. @@ -4758,7 +4757,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'." (substring-no-properties host 0 (min 2 (length host)))) ,(concat - tramp-prefix-format method-string + tramp-prefix-format hop method-string user-string host-string) ,host-string))))) @@ -4916,8 +4915,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'." (if (bufferp destination) destination (current-buffer)) ;; "ls" could produce colorized output. (goto-char (point-min)) - (while (re-search-forward - tramp-display-escape-sequence-regexp nil t) + (while (re-search-forward ansi-color-control-seq-regexp nil t) (replace-match "" nil nil)) (should (string-equal (if destination (format "%s\n" fnnd) "") @@ -4931,8 +4929,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'." (if (bufferp destination) destination (current-buffer)) ;; "ls" could produce colorized output. (goto-char (point-min)) - (while (re-search-forward - tramp-display-escape-sequence-regexp nil t) + (while (re-search-forward ansi-color-control-seq-regexp nil t) (replace-match "" nil nil)) (should (string-equal @@ -5682,8 +5679,7 @@ INPUT, if non-nil, is a string sent to the process." (current-buffer)) ;; "ls" could produce colorized output. (goto-char (point-min)) - (while - (re-search-forward tramp-display-escape-sequence-regexp nil t) + (while (re-search-forward ansi-color-control-seq-regexp nil t) (replace-match "" nil nil)) (should (string-equal @@ -7439,10 +7435,7 @@ This is needed in timer functions as well as process filters and sentinels." "Check parallel asynchronous requests. Such requests could arrive from timers, process filters and process sentinels. They shall not disturb each other." - :tags (append '(:expensive-test :tramp-asynchronous-processes) - (and (or (getenv "EMACS_HYDRA_CI") - (getenv "EMACS_EMBA_CI")) - '(:unstable))) + :tags '(:expensive-test :tramp-asynchronous-processes :unstable) (skip-unless (tramp--test-enabled)) (skip-unless (tramp--test-supports-processes-p)) ;; Prior Emacs 27, `shell-file-name' was hard coded as "/bin/sh" for @@ -7577,34 +7570,37 @@ process sentinels. They shall not disturb each other." ;; Send a string to the processes. Use a random order of ;; the buffers. Mix with regular operation. - (let ((buffers (copy-sequence buffers))) + (let ((buffers (copy-sequence buffers)) + buf) (while buffers - (let* ((buf (seq-random-elt buffers)) - (proc (get-buffer-process buf)) - (file (process-get proc 'foo)) - (count (process-get proc 'bar))) - (tramp--test-message - "Start action %d %s %s" count buf (current-time-string)) - ;; Regular operation prior process action. - (dired-uncache file) - (if (= count 0) - (should-not (file-attributes file)) - (should (file-attributes file))) - ;; Send string to process. - (process-send-string proc (format "%s\n" (buffer-name buf))) - (while (accept-process-output nil 0)) - (tramp--test-message - "Continue action %d %s %s" count buf (current-time-string)) - ;; Regular operation post process action. - (dired-uncache file) - (if (= count 2) - (should-not (file-attributes file)) - (should (file-attributes file))) - (tramp--test-message - "Stop action %d %s %s" count buf (current-time-string)) - (process-put proc 'bar (1+ count)) - (unless (process-live-p proc) - (setq buffers (delq buf buffers)))))) + (setq buf (seq-random-elt buffers)) + (if-let ((proc (get-buffer-process buf)) + (file (process-get proc 'foo)) + (count (process-get proc 'bar))) + (progn + (tramp--test-message + "Start action %d %s %s" count buf (current-time-string)) + ;; Regular operation prior process action. + (dired-uncache file) + (if (= count 0) + (should-not (file-attributes file)) + (should (file-attributes file))) + ;; Send string to process. + (process-send-string proc (format "%s\n" (buffer-name buf))) + (while (accept-process-output nil 0)) + (tramp--test-message + "Continue action %d %s %s" count buf (current-time-string)) + ;; Regular operation post process action. + (dired-uncache file) + (if (= count 2) + (should-not (file-attributes file)) + (should (file-attributes file))) + (tramp--test-message + "Stop action %d %s %s" count buf (current-time-string)) + (process-put proc 'bar (1+ count)) + (unless (process-live-p proc) + (setq buffers (delq buf buffers)))) + (setq buffers (delq buf buffers))))) ;; Checks. All process output shall exists in the ;; respective buffers. All created files shall be diff --git a/texi/trampver.texi b/texi/trampver.texi index f38bd77d35..59787ec58f 100644 --- a/texi/trampver.texi +++ b/texi/trampver.texi @@ -7,7 +7,7 @@ @c In the Tramp GIT, the version number and the bug report address @c are auto-frobbed from configure.ac. -@set trampver 2.6.0.4 +@set trampver 2.6.0.5 @set trampurl https://www.gnu.org/software/tramp/ @set tramp-bug-report-address tramp-devel@@gnu.org @set emacsver 26.1 diff --git a/tramp-compat.el b/tramp-compat.el index e2681c4ad1..1386f301db 100644 --- a/tramp-compat.el +++ b/tramp-compat.el @@ -29,6 +29,7 @@ ;;; Code: +(require 'ansi-color) (require 'auth-source) (require 'format-spec) (require 'ls-lisp) ;; Due to `tramp-handle-insert-directory'. diff --git a/tramp-crypt.el b/tramp-crypt.el index 60f2453222..62cd3f0a3b 100644 --- a/tramp-crypt.el +++ b/tramp-crypt.el @@ -180,7 +180,7 @@ If NAME doesn't belong to an encrypted remote directory, return nil." (file-directory-p . tramp-handle-file-directory-p) (file-equal-p . tramp-handle-file-equal-p) (file-executable-p . tramp-crypt-handle-file-executable-p) - (file-exists-p . tramp-handle-file-exists-p) + (file-exists-p . tramp-crypt-handle-file-exists-p) (file-in-directory-p . tramp-handle-file-in-directory-p) (file-local-copy . tramp-handle-file-local-copy) (file-locked-p . tramp-crypt-handle-file-locked-p) @@ -723,6 +723,11 @@ absolute file names." (let (tramp-crypt-enabled) (file-executable-p (tramp-crypt-encrypt-file-name filename)))) +(defun tramp-crypt-handle-file-exists-p (filename) + "Like `file-exists-p' for Tramp files." + (let (tramp-crypt-enabled) + (file-exists-p (tramp-crypt-encrypt-file-name filename)))) + (defun tramp-crypt-handle-file-locked-p (filename) "Like `file-locked-p' for Tramp files." (let (tramp-crypt-enabled) diff --git a/tramp-fuse.el b/tramp-fuse.el index 36759648b3..132ecefb27 100644 --- a/tramp-fuse.el +++ b/tramp-fuse.el @@ -149,7 +149,7 @@ (defun tramp-fuse-mount-point (vec) "Return local mount point of VEC." - (or (tramp-get-connection-property vec "mount-point") + (or (tramp-get-file-property vec "/" "mount-point") (expand-file-name (concat tramp-temp-name-prefix @@ -182,8 +182,11 @@ It has the same meaning as `remote-file-name-inhibit-cache'.") vec "/" "mounted" (when (string-match (tramp-compat-rx - bol (group (literal (tramp-fuse-mount-spec vec))) blank) + bol (group (literal (tramp-fuse-mount-spec vec))) + " on " (group (+ (not blank))) blank) mount) + (tramp-set-file-property + vec "/" "mount-point" (match-string 2 mount)) (match-string 1 mount))))))) (defun tramp-fuse-get-fusermount () diff --git a/tramp-sh.el b/tramp-sh.el index 35aded49df..ec28b51c97 100644 --- a/tramp-sh.el +++ b/tramp-sh.el @@ -80,13 +80,6 @@ the default storage location, e.g. \"$HOME/.sh_history\"." (const :tag "Unset HISTFILE" t) (string :tag "Redirect to a file"))) -;;;###tramp-autoload -(defconst tramp-display-escape-sequence-regexp (rx "\e" (+ (any ";[" digit)) "m") - "Terminal control escape sequences for display attributes.") - -(defconst tramp-device-escape-sequence-regexp (rx "\e" (+ (any "[" digit)) "n") - "Terminal control escape sequences for device status.") - ;; ksh on OpenBSD 4.5 requires that $PS1 contains a `#' character for ;; root users. It uses the `$' character for other users. In order ;; to guarantee a proper prompt, we use "#$ " for the prompt. @@ -2649,7 +2642,7 @@ The method used must be an out-of-band method." (setq switches (append switches (split-string (tramp-sh--quoting-style-options v)))) (unless (tramp-get-ls-command-with v "--dired") - (setq switches (delete "--dired" switches))) + (setq switches (delete "-N" (delete "--dired" switches)))) (when wildcard (setq wildcard (tramp-run-real-handler #'file-name-nondirectory (list localname))) @@ -2737,7 +2730,7 @@ The method used must be an out-of-band method." (unless (tramp-compat-string-search "color" (tramp-get-connection-property v "ls" "")) (goto-char (point-min)) - (while (re-search-forward tramp-display-escape-sequence-regexp nil t) + (while (re-search-forward ansi-color-control-seq-regexp nil t) (replace-match ""))) ;; Now decode what read if necessary. Stolen from `insert-directory'. @@ -3220,7 +3213,7 @@ implementation will be used." (if (tramp-compat-string-search "=" elt) (setq env (append env `(,elt))) (setq uenv (cons elt uenv))))) - (setenv-internal env "INSIDE_EMACS" (tramp-inside-emacs) 'keep) + (setq env (setenv-internal env "INSIDE_EMACS" (tramp-inside-emacs) 'keep)) (when env (setq command (format @@ -4424,6 +4417,7 @@ seconds. If not, it produces an error message with the given ERROR-ARGS." proc timeout (tramp-compat-rx (| (regexp shell-prompt-pattern) (regexp tramp-shell-prompt-pattern)) + (? (regexp ansi-color-control-seq-regexp)) eos)) (error (delete-process proc) @@ -4932,6 +4926,7 @@ Goes through the list `tramp-inline-compress-commands'." "Check, whether local ssh OPTION is applicable." ;; We don't want to cache it persistently. (with-tramp-connection-property nil option + ;; "ssh -G" is introduced in OpenSSH 6.7. ;; We use a non-existing IP address for check, in order to avoid ;; useless connections, and DNS timeouts. (zerop @@ -4950,26 +4945,30 @@ Goes through the list `tramp-inline-compress-commands'." (stringp tramp-ssh-controlmaster-options)) tramp-ssh-controlmaster-options) + ;; We can't auto-compute the options. + ((ignore-errors + (not (tramp-ssh-option-exists-p vec "ControlMaster=auto"))) + "") + ;; Determine the options. (t (ignore-errors ;; ControlMaster and ControlPath options are introduced in OpenSSH 3.9. - (when (tramp-ssh-option-exists-p vec "ControlMaster=auto") - (concat - "-o ControlMaster=" - (if (eq tramp-use-ssh-controlmaster-options 'suppress) - "no" "auto") - - " -o ControlPath=" - (if (eq tramp-use-ssh-controlmaster-options 'suppress) - "none" - ;; Hashed tokens are introduced in OpenSSH 6.7. - (if (tramp-ssh-option-exists-p vec "ControlPath=tramp.%C") - "tramp.%%C" "tramp.%%r@%%h:%%p")) - - ;; ControlPersist option is introduced in OpenSSH 5.6. - (when (and (not (eq tramp-use-ssh-controlmaster-options 'suppress)) - (tramp-ssh-option-exists-p vec "ControlPersist=no")) - " -o ControlPersist=no"))))))) + (concat + "-o ControlMaster=" + (if (eq tramp-use-ssh-controlmaster-options 'suppress) + "no" "auto") + + " -o ControlPath=" + (if (eq tramp-use-ssh-controlmaster-options 'suppress) + "none" + ;; Hashed tokens are introduced in OpenSSH 6.7. + (if (tramp-ssh-option-exists-p vec "ControlPath=tramp.%C") + "tramp.%%C" "tramp.%%r@%%h:%%p")) + + ;; ControlPersist option is introduced in OpenSSH 5.6. + (when (and (not (eq tramp-use-ssh-controlmaster-options 'suppress)) + (tramp-ssh-option-exists-p vec "ControlPersist=no")) + " -o ControlPersist=no")))))) (defun tramp-scp-strict-file-name-checking (vec) "Return the strict file name checking argument of the local scp." @@ -5394,14 +5393,14 @@ function waits for output unless NOOUTPUT is set." (tramp-error proc 'file-error "Process `%s' not available, try again" proc)) (with-current-buffer (process-buffer proc) (let* (;; Initially, `tramp-end-of-output' is "#$ ". There might - ;; be leading escape sequences, which must be ignored. - ;; Busyboxes built with the EDITING_ASK_TERMINAL config - ;; option send also escape sequences, which must be - ;; ignored. + ;; be leading ANSI control escape sequences, which must be + ;; ignored. Busyboxes built with the EDITING_ASK_TERMINAL + ;; config option send also ANSI control escape sequences, + ;; which must be ignored. (regexp (tramp-compat-rx (* (not (any "#$\n"))) (literal tramp-end-of-output) - (? (regexp tramp-device-escape-sequence-regexp)) + (? (regexp ansi-color-control-seq-regexp)) (? "\r") eol)) ;; Sometimes, the commands do not return a newline but a ;; null byte before the shell prompt, for example "git diff --git a/tramp-smb.el b/tramp-smb.el index 5644174a38..c50bd5b387 100644 --- a/tramp-smb.el +++ b/tramp-smb.el @@ -641,9 +641,6 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored." (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. - (tramp-flush-file-properties v localname) (unless (tramp-smb-get-share v) (tramp-error v 'file-error "Target `%s' must contain a share name" newname)) @@ -652,7 +649,12 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored." (tramp-smb-shell-quote-argument filename) (tramp-smb-shell-quote-localname v))) (tramp-error - v 'file-error "Cannot copy `%s' to `%s'" filename newname))))) + v 'file-error "Cannot copy `%s' to `%s'" filename newname)) + + ;; When newname did exist, we have wrong cached values. + (when (tramp-tramp-file-p newname) + (with-parsed-tramp-file-name newname v2 + (tramp-flush-file-properties v2 v2-localname)))))) ;; KEEP-DATE handling. (when keep-date diff --git a/tramp.el b/tramp.el index 6bde98fada..c5a82d7b32 100644 --- a/tramp.el +++ b/tramp.el @@ -626,9 +626,7 @@ Sometimes the prompt is reported to look like \"login as:\"." ;; connection initialization; Tramp redefines the prompt afterwards. (rx (| bol "\r") (* (not (any "\n#$%>]"))) - (? "#") (any "#$%>]") (* blank) - ;; Escape characters. - (* "[" (* (any ";" digit)) alpha (* blank))) + (? "#") (any "#$%>]") (* blank)) "Regexp to match prompts from remote shell. Normally, Tramp expects you to configure `shell-prompt-pattern' correctly, but sometimes it happens that you are connecting to a @@ -666,6 +664,7 @@ The `sudo' program appears to insert a `^@' character into the prompt." "Sorry, try again." "Name or service not known" "Host key verification failed." + "Authentication failed" "No supported authentication methods left to try!" (: "Login " (| "Incorrect" "incorrect")) (: "Connection " (| "refused" "closed")) @@ -699,7 +698,7 @@ See also `tramp-yesno-prompt-regexp'." (defcustom 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 -confused by ANSI color escape sequences and suchlike. Often, shell init +confused by ANSI control escape sequences and suchlike. Often, shell init files conditionalize this setup based on the TERM environment variable." :group 'tramp :type 'string) @@ -1825,7 +1824,9 @@ the form (METHOD USER DOMAIN HOST PORT LOCALNAME &optional HOP)." (when (cadr args) (setq localname (and (stringp (cadr args)) (cadr args)))) (when hop - (setq hop nil) + ;; Keep hop in file name for completion. + (unless minibuffer-completing-file-name + (setq hop nil)) ;; Assure that the hops are in `tramp-default-proxies-alist'. ;; In tramp-archive.el, the slot `hop' is used for the archive ;; file name. @@ -4035,8 +4036,10 @@ Let-bind it when necessary.") (defun tramp-handle-file-name-as-directory (file) "Like `file-name-as-directory' for Tramp files." ;; `file-name-as-directory' would be sufficient except localname is - ;; the empty string. - (let ((v (tramp-dissect-file-name file t))) + ;; the empty string. Suppress adding a hop to + ;; `tramp-default-proxies-alist' due to non-expanded default values. + (let ((v (tramp-dissect-file-name file t)) + tramp-default-proxies-alist) ;; Run the command on the localname portion only unless we are in ;; completion mode. (tramp-make-tramp-file-name @@ -4127,8 +4130,10 @@ Let-bind it when necessary.") "Like `file-name-directory' for Tramp files." ;; Everything except the last filename thing is the directory. We ;; cannot apply `with-parsed-tramp-file-name', because this expands - ;; the remote file name parts. - (let ((v (tramp-dissect-file-name file t))) + ;; the remote file name parts. Suppress adding a hop to + ;; `tramp-default-proxies-alist' due to non-expanded default values. + (let ((v (tramp-dissect-file-name file t)) + tramp-default-proxies-alist) ;; Run the command on the localname portion only. If this returns ;; nil, mark also the localname part of `v' as nil. (tramp-make-tramp-file-name @@ -4764,25 +4769,29 @@ Do not set it manually, it is used buffer-local in `tramp-get-lock-pid'.") "Add ad-hoc proxy definitions to `tramp-default-proxies-alist'." (when-let ((hops (tramp-file-name-hop vec)) (item vec)) - (dolist (proxy (reverse (split-string hops tramp-postfix-hop-regexp 'omit))) - (let* ((host-port (tramp-file-name-host-port item)) - (user-domain (tramp-file-name-user-domain item)) - (proxy (concat - tramp-prefix-format proxy tramp-postfix-host-format)) - (entry - (list (and (stringp host-port) - (tramp-compat-rx bol (literal host-port) eol)) - (and (stringp user-domain) - (tramp-compat-rx bol (literal user-domain) eol)) - (propertize proxy 'tramp-ad-hoc t)))) - (tramp-message vec 5 "Add %S to `tramp-default-proxies-alist'" entry) - ;; Add the hop. - (add-to-list 'tramp-default-proxies-alist entry) - (setq item (tramp-dissect-file-name proxy)))) - ;; Save the new value. - (when tramp-save-ad-hoc-proxies - (customize-save-variable - 'tramp-default-proxies-alist tramp-default-proxies-alist)))) + (let (signal-hook-function changed) + (dolist + (proxy (reverse (split-string hops tramp-postfix-hop-regexp 'omit))) + (let* ((host-port (tramp-file-name-host-port item)) + (user-domain (tramp-file-name-user-domain item)) + (proxy (concat + tramp-prefix-format proxy tramp-postfix-host-format)) + (entry + (list (and (stringp host-port) + (tramp-compat-rx bol (literal host-port) eol)) + (and (stringp user-domain) + (tramp-compat-rx bol (literal user-domain) eol)) + (propertize proxy 'tramp-ad-hoc t)))) + ;; Add the hop. + (unless (member entry tramp-default-proxies-alist) + (tramp-message vec 5 "Add %S to `tramp-default-proxies-alist'" entry) + (add-to-list 'tramp-default-proxies-alist entry) + (setq changed t)) + (setq item (tramp-dissect-file-name proxy)))) + ;; Save the new value. + (when (and tramp-save-ad-hoc-proxies changed) + (customize-save-variable + 'tramp-default-proxies-alist tramp-default-proxies-alist))))) (defun tramp-compute-multi-hops (vec) "Expands VEC according to `tramp-default-proxies-alist'." @@ -5631,11 +5640,17 @@ See `tramp-process-actions' for the format of ACTIONS." ;; Reread output once all actions have been performed. ;; Obviously, the output was not complete. (while (tramp-accept-process-output proc)) + ;; Remove ANSI control escape sequences. + (with-current-buffer (tramp-get-connection-buffer vec) + (goto-char (point-min)) + (while (re-search-forward ansi-color-control-seq-regexp nil t) + (replace-match ""))) (setq todo actions) (while todo (setq item (pop todo) tramp-process-action-regexp (symbol-value (nth 0 item)) - pattern (format "\\(%s\\)\\'" tramp-process-action-regexp) + pattern + (tramp-compat-rx (group (regexp tramp-process-action-regexp)) eos) action (nth 1 item)) (tramp-message vec 5 "Looking for regexp \"%s\" from remote shell" pattern) @@ -6191,10 +6206,9 @@ to cache the result. Return the modified ATTR." (with-tramp-file-property ,vec ,localname "file-attributes" (when-let ((attr ,attr)) (save-match-data - ;; Remove color escape sequences from symlink. + ;; Remove ANSI control escape sequences from symlink. (when (stringp (car attr)) - (while (string-match - tramp-display-escape-sequence-regexp (car attr)) + (while (string-match ansi-color-control-seq-regexp (car attr)) (setcar attr (replace-match "" nil nil (car attr))))) ;; Convert uid and gid. Use `tramp-unknown-id-integer' ;; as indication of unusable value. diff --git a/trampver.el b/trampver.el index 6956b58e39..7b86f21388 100644 --- a/trampver.el +++ b/trampver.el @@ -7,7 +7,7 @@ ;; Maintainer: Michael Albinus <michael.albi...@gmx.de> ;; Keywords: comm, processes ;; Package: tramp -;; Version: 2.6.0.4 +;; Version: 2.6.0.5 ;; Package-Requires: ((emacs "26.1")) ;; Package-Type: multi ;; URL: https://www.gnu.org/software/tramp/ @@ -40,7 +40,7 @@ ;; ./configure" to change them. ;;;###tramp-autoload -(defconst tramp-version "2.6.0.4" +(defconst tramp-version "2.6.0.5" "This version of Tramp.") ;;;###tramp-autoload @@ -78,7 +78,7 @@ ;; Check for Emacs version. (let ((x (if (not (string-version-lessp emacs-version "26.1")) "ok" - (format "Tramp 2.6.0.4 is not fit for %s" + (format "Tramp 2.6.0.5 is not fit for %s" (replace-regexp-in-string "\n" "" (emacs-version)))))) (unless (string-equal "ok" x) (error "%s" x)))