diff options
author | Michael Albinus <michael.albinus@gmx.de> | 2018-11-28 16:38:49 +0100 |
---|---|---|
committer | Michael Albinus <michael.albinus@gmx.de> | 2018-11-28 16:38:49 +0100 |
commit | 9b9c70b7dbaa001d2f78a15fd1f3aaa8fce44eef (patch) | |
tree | cfa695721fbefaa5dbe0366e349288d2905fd814 | |
parent | 1ca436a33c7de612e44409841d6bed0fe6268141 (diff) | |
download | emacs-9b9c70b7dbaa001d2f78a15fd1f3aaa8fce44eef.tar.gz |
Tramp cleanup
* lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions)
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions):
* lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
Use `string-match-p'.
* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
Set file properties more robust.
* lisp/net/tramp-sh.el (tramp-stat-marker)
(tramp-convert-file-attributes): Add tramp-autoload cookie.
-rw-r--r-- | lisp/net/tramp-cache.el | 12 | ||||
-rw-r--r-- | lisp/net/tramp-gvfs.el | 2 | ||||
-rw-r--r-- | lisp/net/tramp-rclone.el | 17 | ||||
-rw-r--r-- | lisp/net/tramp-sh.el | 4 | ||||
-rw-r--r-- | lisp/net/tramp-smb.el | 6 |
5 files changed, 26 insertions, 15 deletions
diff --git a/lisp/net/tramp-cache.el b/lisp/net/tramp-cache.el index ebb4254dab4..51a8f13c4a4 100644 --- a/lisp/net/tramp-cache.el +++ b/lisp/net/tramp-cache.el @@ -28,7 +28,7 @@ ;; An implementation of information caching for remote files. ;; Each connection, identified by a `tramp-file-name' structure or by -;; a process, has a unique cache. We distinguish 3 kind of caches, +;; a process, has a unique cache. We distinguish 4 kind of caches, ;; depending on the key: ;; ;; - localname is NIL. This are reusable properties. Examples: @@ -49,6 +49,16 @@ ;; an open connection. Examples: "scripts" keeps shell script ;; definitions already sent to the remote shell, "last-cmd-time" is ;; the time stamp a command has been sent to the remote process. +;; +;; - The key is `nil'. This are temporary properties related to the +;; local machine. Examples: "parse-passwd" and "parse-group" keep +;; the results of parsing "/etc/passwd" and "/etc/group", "locale" +;; is the used shell locale. + +;; Some properties are handled special: +;; +;; - "process-name", "process-buffer" and "first-password-request" are +;; not saved in the file `tramp-persistency-file-name'. ;;; Code: diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el index 9d53edd0843..76747f7c993 100644 --- a/lisp/net/tramp-gvfs.el +++ b/lisp/net/tramp-gvfs.el @@ -1143,7 +1143,7 @@ If FILE-SYSTEM is non-nil, return file system attributes." (defun tramp-gvfs-handle-file-name-all-completions (filename directory) "Like `file-name-all-completions' for Tramp files." - (unless (save-match-data (string-match "/" filename)) + (unless (string-match-p "/" filename) (all-completions filename (with-parsed-tramp-file-name (expand-file-name directory) nil diff --git a/lisp/net/tramp-rclone.el b/lisp/net/tramp-rclone.el index 3ca857dc3be..6c01d7def1a 100644 --- a/lisp/net/tramp-rclone.el +++ b/lisp/net/tramp-rclone.el @@ -518,15 +518,14 @@ connection if a previous connection has died for some reason." ;; In `tramp-check-cached-permissions', the connection properties ;; {uig,gid}-{integer,string} are used. We set them to proper values. - (unless (tramp-get-connection-property vec "uid-integer" nil) - (tramp-set-connection-property - vec "uid-integer" (tramp-get-local-uid 'integer)) - (tramp-set-connection-property - vec "gid-integer" (tramp-get-local-gid 'integer)) - (tramp-set-connection-property - vec "uid-string" (tramp-get-local-uid 'string)) - (tramp-set-connection-property - vec "gid-string" (tramp-get-local-gid 'string)))) + (with-tramp-connection-property + vec "uid-integer" (tramp-get-local-uid 'integer)) + (with-tramp-connection-property + vec "gid-integer" (tramp-get-local-gid 'integer)) + (with-tramp-connection-property + vec "uid-string" (tramp-get-local-uid 'string)) + (with-tramp-connection-property + vec "gid-string" (tramp-get-local-gid 'string))) (defun tramp-rclone-send-command (vec &rest args) "Send the COMMAND to connection VEC." diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index b5d4893580e..900b4b3c277 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -945,6 +945,7 @@ od -v -t x1 -A n </dev/null && \ busybox awk '{}' </dev/null" "Test command for checking `tramp-awk-encode' and `tramp-awk-decode'.") +;;;###tramp-autoload (defconst tramp-stat-marker "/////" "Marker in stat commands for file attributes.") @@ -1838,7 +1839,7 @@ be non-negative integers." ;; files. (defun tramp-sh-handle-file-name-all-completions (filename directory) "Like `file-name-all-completions' for Tramp files." - (unless (save-match-data (string-match "/" filename)) + (unless (string-match-p "/" filename) (all-completions filename (with-parsed-tramp-file-name (expand-file-name directory) nil @@ -5114,6 +5115,7 @@ raises an error." "`%s' does not return a valid Lisp expression: `%s'" command (buffer-string)))))))) +;;;###tramp-autoload (defun tramp-convert-file-attributes (vec attr) "Convert `file-attributes' ATTR generated by perl script, stat or ls. Convert file mode bits to string and set virtual device number. diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index 23b5176b528..a49dbbdb39a 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el @@ -1796,12 +1796,12 @@ Result is the list (LOCALNAME MODE SIZE MTIME)." (if (string-match "\\([ACDEHNORrsSTV]+\\)?$" line) (setq mode (or (match-string 1 line) "") - mode (save-match-data (format + mode (format "%s%s" - (if (string-match "D" mode) "d" "-") + (if (string-match-p "D" mode) "d" "-") (mapconcat (lambda (_x) "") " " - (concat "r" (if (string-match "R" mode) "-" "w") "x")))) + (concat "r" (if (string-match "R" mode) "-" "w") "x"))) line (substring line 0 -6)) (cl-return)) |