branch: externals/tramp commit 3e0278ea5938092600a781947334d175a4e4b542 Author: Michael Albinus <michael.albi...@gmx.de> Commit: Michael Albinus <michael.albi...@gmx.de>
Tramp ELPA version 2.5.3 released --- README | 4 ++-- test/tramp-tests.el | 12 +----------- texi/tramp.texi | 7 ------- texi/trampver.texi | 2 +- tramp-gvfs.el | 15 +++++++++------ tramp-smb.el | 7 +++---- tramp.el | 2 +- trampver.el | 8 +++++--- 8 files changed, 22 insertions(+), 35 deletions(-) diff --git a/README b/README index 95c732e3aa..c86430ecb4 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.2.5/tramp*.elc + $ rm -f ~/.emacs.d/elpa/tramp-2.5.3/tramp*.elc * Start Emacs with Tramp's source files - $ emacs -L ~/.emacs.d/elpa/tramp-2.5.2.5 -l tramp + $ emacs -L ~/.emacs.d/elpa/tramp-2.5.3 -l tramp This should not give you the error. diff --git a/test/tramp-tests.el b/test/tramp-tests.el index 61fa6a5ae4..9071beedf2 100644 --- a/test/tramp-tests.el +++ b/test/tramp-tests.el @@ -2028,17 +2028,7 @@ Also see `ignore'." :type 'user-error) (should-error (expand-file-name "/method:user1@host1|ssh:user2@host2:/path/to/file") - :type 'user-error)) - - ;; Samba does not support file names with periods followed by - ;; spaces, and trailing periods or spaces. - (when (tramp--test-smb-p) - (dolist (file '("foo." "foo. bar" "foo ")) - (should-error - (tramp-smb-get-localname - (tramp-dissect-file-name - (expand-file-name file tramp-test-temporary-file-directory))) - :type 'file-error)))) + :type 'user-error))) (ert-deftest tramp-test04-substitute-in-file-name () "Check `substitute-in-file-name'." diff --git a/texi/tramp.texi b/texi/tramp.texi index 3e5c72244c..c1530e82ec 100644 --- a/texi/tramp.texi +++ b/texi/tramp.texi @@ -4985,13 +4985,6 @@ minibuffer: (before my-minibuffer-complete activate) (expand-abbrev)) @end group - -@group -;; If you use partial-completion-mode -(defadvice PC-do-completion - (before my-PC-do-completion activate) - (expand-abbrev)) -@end group @end lisp The reduced typing: @kbd{C-x C-f xy @key{TAB}}. diff --git a/texi/trampver.texi b/texi/trampver.texi index bf8a943c05..580d9ba69e 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.2.5 +@set trampver 2.5.3 @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-gvfs.el b/tramp-gvfs.el index 3a5041c491..4adc35bcb6 100644 --- a/tramp-gvfs.el +++ b/tramp-gvfs.el @@ -841,6 +841,8 @@ Operations not mentioned here will be handled by the default Emacs primitives.") (tramp-file-name-method (tramp-dissect-file-name filename)))) (and (stringp method) (member method tramp-gvfs-methods))))) +(defvar tramp-gvfs-dbus-event-vector) + ;;;###tramp-autoload (defun tramp-gvfs-file-name-handler (operation &rest args) "Invoke the GVFS related OPERATION and ARGS. @@ -848,7 +850,11 @@ First arg specifies the OPERATION, second arg is a list of arguments to pass to the OPERATION." (unless tramp-gvfs-enabled (tramp-user-error nil "Package `tramp-gvfs' not supported")) - (if-let ((fn (assoc operation tramp-gvfs-file-name-handler-alist))) + (if-let ((filename (apply #'tramp-file-name-for-operation operation args)) + (tramp-gvfs-dbus-event-vector + (and (tramp-tramp-file-p filename) + (tramp-dissect-file-name filename))) + (fn (assoc operation tramp-gvfs-file-name-handler-alist))) (save-match-data (apply (cdr fn) args)) (tramp-run-real-handler operation args))) @@ -942,7 +948,8 @@ The call will be traced by Tramp with trace level 6." (defvar tramp-gvfs-dbus-event-vector nil "Current Tramp file name to be used, as vector. It is needed when D-Bus signals or errors arrive, because there -is no information where to trace the message.") +is no information where to trace the message. +Globally, the value shall always be nil; it is bound where needed.") (defun tramp-gvfs-dbus-event-error (event err) "Called when a D-Bus error message arrives, see `dbus-event-error-functions'." @@ -2121,10 +2128,6 @@ connection if a previous connection has died for some reason." (unless (tramp-connectable-p vec) (throw 'non-essential 'non-essential)) - ;; We set the file name, in case there are incoming D-Bus signals or - ;; D-Bus errors. - (setq tramp-gvfs-dbus-event-vector vec) - ;; For password handling, we need a process bound to the connection ;; buffer. Therefore, we create a dummy process. Maybe there is a ;; better solution? diff --git a/tramp-smb.el b/tramp-smb.el index 2aaa6e8ab3..dfcb7162c8 100644 --- a/tramp-smb.el +++ b/tramp-smb.el @@ -1631,7 +1631,7 @@ errors for shares like \"C$/\", which are common in Microsoft Windows." v 3 (format "Moving tmp file %s to %s" tmpfile filename) (unwind-protect (unless (tramp-smb-send-command - v (format "put %s \"%s\"" + v (format "put \"%s\" \"%s\"" tmpfile (tramp-smb-get-localname v))) (tramp-error v 'file-error "Cannot write `%s'" filename)) (delete-file tmpfile))) @@ -1695,9 +1695,8 @@ If VEC has no cifs capabilities, exchange \"/\" by \"\\\\\"." (when (string-match "\\(\\$\\$\\)\\(/\\|$\\)" localname) (setq localname (replace-match "$" nil nil localname 1))) - ;; A period followed by a space, or trailing periods and spaces, - ;; are not supported. - (when (string-match-p "\\. \\|\\.$\\| $" localname) + ;; A trailing space is not supported. + (when (string-match-p " $" localname) (tramp-error vec 'file-error "Invalid file name %s" (tramp-make-tramp-file-name vec localname))) diff --git a/tramp.el b/tramp.el index 3ee1169139..88715e3230 100644 --- a/tramp.el +++ b/tramp.el @@ -238,7 +238,7 @@ pair of the form (KEY VALUE). The following KEYs are defined: unchanged after expansion (i.e. no host, no user or no port were specified), that sublist is not used. For e.g. - '((\"-a\" \"-b\") (\"-l\" \"%u\")) + \\='((\"-a\" \"-b\") (\"-l\" \"%u\")) that means that (\"-l\" \"%u\") is used only if the user was specified, and it is thus effectively optional. diff --git a/trampver.el b/trampver.el index 5e0e582f86..c1d58a45f4 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.2.5 +;; Version: 2.5.3 ;; 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.2.5" +(defconst tramp-version "2.5.3" "This version of Tramp.") ;;;###tramp-autoload @@ -58,6 +58,7 @@ ;; `emacs-repository-get-branch' has been introduced with Emacs 27.1. (with-no-warnings (and (stringp dir) (file-directory-p dir) + (executable-find "git") (emacs-repository-get-branch dir))))) "The repository branch of the Tramp sources.") @@ -70,13 +71,14 @@ (dir (or (locate-dominating-file (locate-library "tramp") ".git") source-directory))) (and (stringp dir) (file-directory-p dir) + (executable-find "git") (emacs-repository-get-version dir)))) "The repository revision of the Tramp sources.") ;; Check for Emacs version. (let ((x (if (not (string-lessp emacs-version "25.1")) "ok" - (format "Tramp 2.5.2.5 is not fit for %s" + (format "Tramp 2.5.3 is not fit for %s" (replace-regexp-in-string "\n" "" (emacs-version)))))) (unless (string-equal "ok" x) (error "%s" x)))