# HG changeset patch # User Michael Albinus # Date 1255015196 0 # Node ID 54704a4526817d93c5fe8bac679e32882798681b # Parent 695dbf5b3bb9b027ff0469e38bcae73c080642d4 * net/tramp.el (tramp-file-name-real-user, tramp-file-name-domain) (tramp-file-name-real-host, tramp-file-name-port): Apply `save-match-data. diff -r 695dbf5b3bb9 -r 54704a452681 lisp/net/tramp.el --- a/lisp/net/tramp.el Thu Oct 08 15:18:15 2009 +0000 +++ b/lisp/net/tramp.el Thu Oct 08 15:19:56 2009 +0000 @@ -3905,11 +3905,11 @@ (while (string-match "//" localname) (setq localname (replace-match "/" t t localname))) ;; No tilde characters in file name, do normal - ;; expand-file-name (this does "/./" and "/../"). We bind - ;; `directory-sep-char' here for XEmacs on Windows, which - ;; would otherwise use backslash. `default-directory' is - ;; bound, because on Windows there would be problems with UNC - ;; shares or Cygwin mounts. + ;; `expand-file-name' (this does "/./" and "/../"). We bind + ;; `directory-sep-char' here for XEmacs on Windows, which would + ;; otherwise use backslash. `default-directory' is bound, + ;; because on Windows there would be problems with UNC shares or + ;; Cygwin mounts. (let ((directory-sep-char ?/) (default-directory (tramp-compat-temporary-file-directory))) (tramp-make-tramp-file-name @@ -7296,35 +7296,39 @@ ;; "user%domain". Sometimes, we must extract these parts. (defun tramp-file-name-real-user (vec) "Return the user name of VEC without domain." - (let ((user (tramp-file-name-user vec))) - (if (and (stringp user) - (string-match tramp-user-with-domain-regexp user)) - (match-string 1 user) - user))) + (save-match-data + (let ((user (tramp-file-name-user vec))) + (if (and (stringp user) + (string-match tramp-user-with-domain-regexp user)) + (match-string 1 user) + user)))) (defun tramp-file-name-domain (vec) "Return the domain name of VEC." - (let ((user (tramp-file-name-user vec))) - (and (stringp user) - (string-match tramp-user-with-domain-regexp user) - (match-string 2 user)))) + (save-match-data + (let ((user (tramp-file-name-user vec))) + (and (stringp user) + (string-match tramp-user-with-domain-regexp user) + (match-string 2 user))))) ;; The host part of a Tramp file name vector can be of kind ;; "host#port". Sometimes, we must extract these parts. (defun tramp-file-name-real-host (vec) "Return the host name of VEC without port." - (let ((host (tramp-file-name-host vec))) - (if (and (stringp host) - (string-match tramp-host-with-port-regexp host)) - (match-string 1 host) - host))) + (save-match-data + (let ((host (tramp-file-name-host vec))) + (if (and (stringp host) + (string-match tramp-host-with-port-regexp host)) + (match-string 1 host) + host)))) (defun tramp-file-name-port (vec) "Return the port number of VEC." - (let ((host (tramp-file-name-host vec))) - (and (stringp host) - (string-match tramp-host-with-port-regexp host) - (string-to-number (match-string 2 host))))) + (save-match-data + (let ((host (tramp-file-name-host vec))) + (and (stringp host) + (string-match tramp-host-with-port-regexp host) + (string-to-number (match-string 2 host)))))) (defun tramp-tramp-file-p (name) "Return t if NAME is a Tramp file."