branch: externals/tramp commit 2299b3c55e5d0a046c0a33a7266356fbd8790a34 Author: Michael Albinus <michael.albi...@gmx.de> Commit: Michael Albinus <michael.albi...@gmx.de>
Tramp ELPA version 2.5.1.5 released --- Makefile | 1 - README | 4 +-- test/tramp-tests.el | 1 - texi/trampelpa.texi | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++ texi/trampver.texi | 2 +- tramp-compat.el | 19 +++++++++------ tramp-gvfs.el | 9 +++---- tramp-sshfs.el | 2 +- tramp.el | 2 ++ trampver.el | 6 ++--- 10 files changed, 93 insertions(+), 23 deletions(-) diff --git a/Makefile b/Makefile index 839d0aa..92d3c53 100644 --- a/Makefile +++ b/Makefile @@ -50,7 +50,6 @@ clean: # This target is for the maintainer only. sync: - cp -p $(SOURCE_DIR)/README-ELPA README cp -p $(SOURCE_DIR)/lisp/tramp-adb.el tramp-adb.el cp -p $(SOURCE_DIR)/lisp/tramp-archive.el tramp-archive.el cp -p $(SOURCE_DIR)/lisp/tramp-cache.el tramp-cache.el diff --git a/README b/README index 6214832..68e8a75 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.5.1.4/tramp*.elc + $ rm -f ~/.emacs.d/elpa/tramp-2.5.1.5/tramp*.elc * Start Emacs with Tramp's source files - $ emacs -L ~/.emacs.d/elpa/tramp-2.5.1.4 -l tramp + $ emacs -L ~/.emacs.d/elpa/tramp-2.5.1.5 -l tramp This should not give you the error. diff --git a/test/tramp-tests.el b/test/tramp-tests.el index 061aebb..b7fc9f1 100644 --- a/test/tramp-tests.el +++ b/test/tramp-tests.el @@ -55,7 +55,6 @@ (declare-function tramp-check-remote-uname "tramp-sh") (declare-function tramp-find-executable "tramp-sh") (declare-function tramp-get-remote-chmod-h "tramp-sh") -(declare-function tramp-get-remote-gid "tramp-sh") (declare-function tramp-get-remote-path "tramp-sh") (declare-function tramp-get-remote-perl "tramp-sh") (declare-function tramp-get-remote-stat "tramp-sh") diff --git a/texi/trampelpa.texi b/texi/trampelpa.texi new file mode 100644 index 0000000..88d081c --- /dev/null +++ b/texi/trampelpa.texi @@ -0,0 +1,70 @@ +@c -*-texinfo-*- + +@c Copyright (C) 2021 Free Software Foundation, Inc. +@c See file doclicense.texi for copying conditions. + +@include trampver.texi + +@node ELPA Installation +@ifplaintext +@unnumbered Installing @value{tramp} via GNU ELPA +@end ifplaintext +@ifnotplaintext +@section Installing @value{tramp} via GNU ELPA +@end ifnotplaintext +@cindex installation +@cindex GNU ELPA + +@ifplaintext +@ifclear elpainclude +Tramp stands for ``Transparent Remote (file) Access, Multiple +Protocol''. This package provides remote file editing, similar to +Ange-FTP. + +The difference is that Ange-FTP uses FTP to transfer files between the +local and the remote host, whereas Tramp uses a combination of +@option{rsh} and @option{rcp} or other work-alike programs, such as +@option{ssh}/@option{scp}. + +A remote file name has always the syntax + +@example +@trampfn{method,user%domain@@host#port,/path/to/file} +@end example + +Most of the parts are optional, read the manual +@uref{@value{trampurl}} for details. +@end ifclear +@end ifplaintext + +Tramp must be compiled for the Emacs version you are running. If you +experience compatibility error messages for the Tramp package, or if +you use another major Emacs version than the version Tramp has been +installed with, you must recompile the package: + +@itemize @bullet +@item +Remove all byte-compiled Tramp files + +@example +$ rm -f ~/.emacs.d/elpa/tramp-@value{trampver}/tramp*.elc +@end example + +@item +Start Emacs with Tramp's source files + +@example +$ emacs -L ~/.emacs.d/elpa/tramp-@value{trampver} -l tramp +@end example + +This should not give you the error. + +@item +Recompile the Tramp package @strong{with this running Emacs instance} + +@example +M-x tramp-recompile-elpa +@end example + +Afterwards, you must restart Emacs. +@end itemize diff --git a/texi/trampver.texi b/texi/trampver.texi index fa83843..83b9db9 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.5.1.4 +@set trampver 2.5.1.5 @set trampurl https://www.gnu.org/software/tramp/ @set tramp-bug-report-address tramp-devel@@gnu.org @set emacsver 25.1 diff --git a/tramp-compat.el b/tramp-compat.el index d20d3db..adcb774 100644 --- a/tramp-compat.el +++ b/tramp-compat.el @@ -411,14 +411,17 @@ CONDITION can also be a list of error conditions." (if (fboundp 'file-name-concat) #'file-name-concat (lambda (directory &rest components) - (unless (null directory) - (let ((components (delq nil components)) - file-name-handler-alist) - (if (null components) - directory - (tramp-compat-file-name-concat - (concat (file-name-as-directory directory) (car components)) - (cdr components)))))))) + (let ((components (cl-remove-if (lambda (el) + (or (null el) (equal "" el))) + components)) + file-name-handler-alist) + (if (null components) + directory + (apply #'tramp-compat-file-name-concat + (concat (unless (or (equal "" directory) (null directory)) + (file-name-as-directory directory)) + (car components)) + (cdr components))))))) (dolist (elt (all-completions "tramp-compat-" obarray 'functionp)) (put (intern elt) 'tramp-suppress-trace t)) diff --git a/tramp-gvfs.el b/tramp-gvfs.el index 7e22639..cab912b 100644 --- a/tramp-gvfs.el +++ b/tramp-gvfs.el @@ -1865,12 +1865,9 @@ Their full names are \"org.gtk.vfs.MountTracker.mounted\" and host (tramp-file-name-host v) port (tramp-file-name-port v))))) (when (member method tramp-gvfs-methods) - (with-parsed-tramp-file-name - ;; This must be changed when we throw the old signature - ;; away in Emacs 27.1 and higher. - (with-no-warnings - (tramp-make-tramp-file-name method user domain host port "")) - nil + (let ((v (make-tramp-file-name + :method method :user user :domain domain + :host host :port port))) (tramp-message v 6 "%s %s" signal-name (tramp-gvfs-stringify-dbus-message mount-info)) diff --git a/tramp-sshfs.el b/tramp-sshfs.el index a100786..1886031 100644 --- a/tramp-sshfs.el +++ b/tramp-sshfs.el @@ -110,7 +110,7 @@ (file-notify-rm-watch . ignore) (file-notify-valid-p . ignore) (file-ownership-preserved-p . ignore) - (file-readable-p . tramp-fuse-handle-file-readable-p) + (file-readable-p . tramp-handle-file-readable-p) (file-regular-p . tramp-handle-file-regular-p) (file-remote-p . tramp-handle-file-remote-p) (file-selinux-context . tramp-handle-file-selinux-context) diff --git a/tramp.el b/tramp.el index f2ae200..8870874 100644 --- a/tramp.el +++ b/tramp.el @@ -2497,6 +2497,8 @@ Must be handled by the callers." file-system-info ;; Emacs 28+ only. file-locked-p lock-file make-lock-file-name unlock-file + ;; Emacs 29+ only. + abbreviate-file-name ;; Tramp internal magic file name function. tramp-set-file-uid-gid)) (if (file-name-absolute-p (nth 0 args)) diff --git a/trampver.el b/trampver.el index 89499b5..d5f8d0d 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.5.1.4 +;; Version: 2.5.1.5 ;; Package-Requires: ((emacs "25.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.5.1.4" +(defconst tramp-version "2.5.1.5" "This version of Tramp.") ;;;###tramp-autoload @@ -76,7 +76,7 @@ ;; Check for Emacs version. (let ((x (if (not (string-lessp emacs-version "25.1")) "ok" - (format "Tramp 2.5.1.4 is not fit for %s" + (format "Tramp 2.5.1.5 is not fit for %s" (replace-regexp-in-string "\n" "" (emacs-version)))))) (unless (string-equal "ok" x) (error "%s" x)))