emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 244acc5: Replace some `string-match-p' calls in Tramp


From: Michael Albinus
Subject: master 244acc5: Replace some `string-match-p' calls in Tramp
Date: Wed, 11 Aug 2021 09:34:52 -0400 (EDT)

branch: master
commit 244acc5a057b0d6ff03754af14d71808b6f20233
Author: Michael Albinus <michael.albinus@gmx.de>
Commit: Michael Albinus <michael.albinus@gmx.de>

    Replace some `string-match-p' calls in Tramp
    
    * lisp/net/tramp.el (tramp-debug-message, tramp-set-completion-function)
    (tramp-get-completion-methods, tramp-get-completion-user-host):
    * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
    * lisp/net/tramp-sh.el (tramp-sh-handle-make-process)
    (tramp-open-connection-setup-interactive-shell)
    (tramp-convert-file-attributes): Use `string-prefix-p'.
    
    * lisp/net/tramp.el (tramp-dissect-file-name)
    (tramp-progress-reporter-update, tramp-handle-insert-directory):
    * lisp/net/tramp-cache.el (tramp-get-hash-table)
    (tramp-flush-directory-properties):
    * lisp/net/tramp-cmds.el (tramp-append-tramp-buffers):
    * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory)
    (tramp-call-local-coding-command, tramp-get-inline-coding):
    * lisp/net/tramp-smb.el (tramp-smb-handle-file-attributes)
    (tramp-smb-handle-file-name-all-completions)
    (tramp-smb-handle-file-writable-p)
    (tramp-smb-handle-insert-directory)
    (tramp-smb-handle-start-file-process, )
    (tramp-smb-read-file-entry): Use `tramp-compat-string-search'.
---
 lisp/net/tramp-adb.el   |  2 +-
 lisp/net/tramp-cache.el |  6 +++---
 lisp/net/tramp-cmds.el  |  2 +-
 lisp/net/tramp-sh.el    | 37 +++++++++++++++++++------------------
 lisp/net/tramp-smb.el   | 26 +++++++++++++-------------
 lisp/net/tramp.el       | 25 ++++++++++---------------
 6 files changed, 47 insertions(+), 51 deletions(-)

diff --git a/lisp/net/tramp-adb.el b/lisp/net/tramp-adb.el
index 5e0accc..2f84312 100644
--- a/lisp/net/tramp-adb.el
+++ b/lisp/net/tramp-adb.el
@@ -1065,7 +1065,7 @@ implementation will be used."
                          p))))
 
                ;; Save exit.
-               (if (string-match-p tramp-temp-buffer-name (buffer-name))
+               (if (string-prefix-p tramp-temp-buffer-name (buffer-name))
                    (ignore-errors
                      (set-process-buffer (tramp-get-connection-process v) nil)
                      (kill-buffer (current-buffer)))
diff --git a/lisp/net/tramp-cache.el b/lisp/net/tramp-cache.el
index fcfad01..5a00915 100644
--- a/lisp/net/tramp-cache.el
+++ b/lisp/net/tramp-cache.el
@@ -125,7 +125,7 @@ If KEY is `tramp-cache-undefined', don't create anything, 
and return nil."
               (puthash key (make-hash-table :test #'equal) tramp-cache-data)))
          (when (tramp-file-name-p key)
            (dolist (elt tramp-connection-properties)
-             (when (string-match-p
+             (when (tramp-compat-string-search
                     (or (nth 0 elt) "")
                     (tramp-make-tramp-file-name key 'noloc 'nohop))
                (tramp-set-connection-property key (nth 1 elt) (nth 2 elt)))))
@@ -268,8 +268,8 @@ Remove also properties of all files in subdirectories."
     (dolist (key (hash-table-keys tramp-cache-data))
       (when (and (tramp-file-name-p key)
                 (stringp (tramp-file-name-localname key))
-                (string-match-p (regexp-quote directory)
-                                (tramp-file-name-localname key)))
+                (tramp-compat-string-search
+                 directory (tramp-file-name-localname key)))
        (remhash key tramp-cache-data)))
     ;; Remove file properties of symlinks.
     (when (and (stringp truename)
diff --git a/lisp/net/tramp-cmds.el b/lisp/net/tramp-cmds.el
index d30d220..6278fd3 100644
--- a/lisp/net/tramp-cmds.el
+++ b/lisp/net/tramp-cmds.el
@@ -672,7 +672,7 @@ buffer in your bug report.
   (insert "\nload-path shadows:\n==================\n")
   (ignore-errors
     (mapc
-     (lambda (x) (when (string-match-p "tramp" x) (insert x "\n")))
+     (lambda (x) (when (tramp-compat-string-search "tramp" x) (insert x "\n")))
      (split-string (list-load-path-shadows t) "\n")))
 
   ;; Append buffers only when we are in message mode.
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index c3b8df9..fad07d8 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -2603,8 +2603,8 @@ The method used must be an out-of-band method."
        (save-restriction
          (narrow-to-region beg-marker end-marker)
          ;; Some busyboxes are reluctant to discard colors.
-         (unless
-             (string-match-p "color" (tramp-get-connection-property v "ls" ""))
+         (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)
              (replace-match "")))
@@ -2958,7 +2958,7 @@ implementation will be used."
                        p)))
 
                ;; Save exit.
-               (if (string-match-p tramp-temp-buffer-name (buffer-name))
+               (if (string-prefix-p tramp-temp-buffer-name (buffer-name))
                    (ignore-errors
                      (set-process-buffer p nil)
                      (kill-buffer (current-buffer)))
@@ -4309,7 +4309,7 @@ process to set up.  VEC specifies the connection."
       ;; Use MULE to select the right EOL convention for communicating
       ;; with the process.
       (let ((cs (or (and (memq 'utf-8-hfs (coding-system-list))
-                        (string-match-p "^Darwin" uname)
+                        (string-prefix-p "Darwin" uname)
                         (cons 'utf-8-hfs 'utf-8-hfs))
                    (and (memq 'utf-8 (coding-system-list))
                         (string-match-p "utf-?8" (tramp-get-remote-locale vec))
@@ -4322,7 +4322,7 @@ process to set up.  VEC specifies the connection."
              cs-encode (or (cdr cs) 'undecided)
              cs-encode
              (coding-system-change-eol-conversion
-              cs-encode (if (string-match-p "^Darwin" uname) 'mac 'unix)))
+              cs-encode (if (string-prefix-p "Darwin" uname) 'mac 'unix)))
        (tramp-send-command vec "(echo foo ; echo bar)" t)
        (goto-char (point-min))
        (when (search-forward "\r" nil t)
@@ -4372,7 +4372,7 @@ process to set up.  VEC specifies the connection."
     ;; IRIX64 bash expands "!" even when in single quotes.  This
     ;; destroys our shell functions, we must disable it.  See
     ;; 
<https://stackoverflow.com/questions/3291692/irix-bash-shell-expands-expression-in-single-quotes-yet-shouldnt>.
-    (when (string-match-p "^IRIX64" uname)
+    (when (string-prefix-p "IRIX64" uname)
       (tramp-send-command vec "set +H" t))
 
     ;; Disable tab expansion.
@@ -4628,12 +4628,12 @@ means standard output and thus the current buffer), or 
nil (which
 means discard it)."
   (tramp-call-process
    nil tramp-encoding-shell
-   (when (and input (not (string-match-p "%s" cmd))) input)
+   (when (and input (not (tramp-compat-string-search "%s" cmd))) input)
    (if (eq output t) t nil)
    nil
    tramp-encoding-command-switch
    (concat
-    (if (string-match-p "%s" cmd) (format cmd input) cmd)
+    (if (tramp-compat-string-search "%s" cmd) (format cmd input) cmd)
     (if (stringp output) (concat " >" output) ""))))
 
 (defconst tramp-inline-compress-commands
@@ -5223,7 +5223,7 @@ Return ATTR."
        (when (stringp (car attr))
           (aset (nth 8 attr) 0 ?l)))
       ;; Convert directory indication bit.
-      (when (string-match-p "^d" (nth 8 attr))
+      (when (string-prefix-p "d" (nth 8 attr))
        (setcar attr t))
       ;; Convert symlink from `tramp-do-file-attributes-with-stat'.
       ;; Decode also multibyte string.
@@ -5803,12 +5803,13 @@ function cell is returned to be applied on a buffer."
           (with-tramp-connection-property (tramp-get-process vec) prop
             (tramp-find-inline-encoding vec)
             (tramp-get-connection-property (tramp-get-process vec) prop nil)))
-         (prop1 (if (string-match-p "encoding" prop)
+         (prop1 (if (tramp-compat-string-search "encoding" prop)
                     "inline-compress" "inline-decompress"))
          compress)
       ;; The connection property might have been cached.  So we must
       ;; send the script to the remote side - maybe.
-      (when (and coding (symbolp coding) (string-match-p "remote" prop))
+      (when (and coding (symbolp coding)
+                (tramp-compat-string-search "remote" prop))
        (let ((name (symbol-name coding)))
          (while (string-match "-" name)
            (setq name (replace-match "_" nil t name)))
@@ -5820,7 +5821,7 @@ function cell is returned to be applied on a buffer."
        ;; Return the value.
        (cond
         ((and compress (symbolp coding))
-         (if (string-match-p "decompress" prop1)
+         (if (tramp-compat-string-search "decompress" prop1)
              `(lambda (beg end)
                 (,coding beg end)
                 (let ((coding-system-for-write 'binary)
@@ -5839,16 +5840,16 @@ function cell is returned to be applied on a buffer."
               (,coding (point-min) (point-max)))))
         ((symbolp coding)
          coding)
-        ((and compress (string-match-p "decoding" prop))
+        ((and compress (tramp-compat-string-search "decoding" prop))
          (format
           ;; Windows shells need the program file name after
           ;; the pipe symbol be quoted if they use forward
           ;; slashes as directory separators.
           (cond
-           ((and (string-match-p "local" prop)
+           ((and (tramp-compat-string-search "local" prop)
                  (eq system-type 'windows-nt))
               "(%s | \"%s\")")
-           ((string-match-p "local" prop) "(%s | %s)")
+           ((tramp-compat-string-search "local" prop) "(%s | %s)")
            (t "(%s | %s >%%s)"))
           coding compress))
         (compress
@@ -5856,14 +5857,14 @@ function cell is returned to be applied on a buffer."
           ;; Windows shells need the program file name after
           ;; the pipe symbol be quoted if they use forward
           ;; slashes as directory separators.
-          (if (and (string-match-p "local" prop)
+          (if (and (tramp-compat-string-search "local" prop)
                    (eq system-type 'windows-nt))
               "(%s <%%s | \"%s\")"
             "(%s <%%s | %s)")
           compress coding))
-        ((string-match-p "decoding" prop)
+        ((tramp-compat-string-search "decoding" prop)
          (cond
-          ((string-match-p "local" prop) (format "%s" coding))
+          ((tramp-compat-string-search "local" prop) (format "%s" coding))
           (t (format "%s >%%s" coding))))
         (t
          (format "%s <%%s" coding)))))))
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el
index 3d5be61..6937244 100644
--- a/lisp/net/tramp-smb.el
+++ b/lisp/net/tramp-smb.el
@@ -849,7 +849,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are 
completely ignored."
 
            ;; Check result.
            (when entry
-             (list (and (string-match-p "d" (nth 1 entry))
+             (list (and (tramp-compat-string-search "d" (nth 1 entry))
                         t)              ;0 file type
                    -1                   ;1 link count
                    uid                  ;2 uid
@@ -982,7 +982,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are 
completely ignored."
        (mapcar
         (lambda (x)
           (list
-           (if (string-match-p "d" (nth 1 x))
+           (if (tramp-compat-string-search "d" (nth 1 x))
                (file-name-as-directory (nth 0 x))
              (nth 0 x))))
         (tramp-smb-get-file-entries directory)))))))
@@ -1021,7 +1021,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are 
completely ignored."
 (defun tramp-smb-handle-file-writable-p (filename)
   "Like `file-writable-p' for Tramp files."
   (if (file-exists-p filename)
-      (string-match-p
+      (tramp-compat-string-search
        "w"
        (or (tramp-compat-file-attribute-modes (file-attributes filename)) ""))
     (let ((dir (file-name-directory filename)))
@@ -1076,9 +1076,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are 
completely ignored."
                     ;; Check for matching entries.
                     (mapcar
                      (lambda (x)
-                       (when (string-match-p
-                              (format "^%s" base) (nth 0 x))
-                         x))
+                       (when (string-match-p (format "^%s" base) (nth 0 x)) x))
                      entries)
                   ;; We just need the only and only entry FILENAME.
                   (list (assoc base entries)))))
@@ -1088,14 +1086,14 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are 
completely ignored."
                (sort
                 entries
                 (lambda (x y)
-                  (if (string-match-p "t" switches)
+                  (if (tramp-compat-string-search "t" switches)
                       ;; Sort by date.
                       (time-less-p (nth 3 y) (nth 3 x))
                     ;; Sort by name.
                     (string-lessp (nth 0 x) (nth 0 y))))))
 
          ;; Handle "-F" switch.
-         (when (string-match-p "F" switches)
+         (when (tramp-compat-string-search "F" switches)
            (mapc
             (lambda (x)
               (unless (zerop (length (car x)))
@@ -1124,7 +1122,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are 
completely ignored."
                           (expand-file-name
                            (nth 0 x) (file-name-directory filename))
                           'string)))))
-                (when (string-match-p "l" switches)
+                (when (tramp-compat-string-search "l" switches)
                   (insert
                    (format
                     "%10s %3d %-8s %-8s %8s %s "
@@ -1153,7 +1151,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are 
completely ignored."
                   (put-text-property start (point) 'dired-filename t))
 
                 ;; Insert symlink.
-                (when (and (string-match-p "l" switches)
+                (when (and (tramp-compat-string-search "l" switches)
                            (stringp (tramp-compat-file-attribute-type attr)))
                   (insert " -> " (tramp-compat-file-attribute-type attr))))
 
@@ -1551,7 +1549,7 @@ component is used as the target of the symlink."
 
        ;; Save exit.
        (with-current-buffer (tramp-get-connection-buffer v)
-         (if (string-match-p tramp-temp-buffer-name (buffer-name))
+         (if (tramp-compat-string-search tramp-temp-buffer-name (buffer-name))
              (progn
                (set-process-buffer (tramp-get-connection-process v) nil)
                (kill-buffer (current-buffer)))
@@ -1857,10 +1855,12 @@ are listed.  Result is the list (LOCALNAME MODE SIZE 
MTIME)."
             mode (or (match-string 1 line) "")
             mode (format
                    "%s%s"
-                   (if (string-match-p "D" mode) "d" "-")
+                   (if (tramp-compat-string-search "D" mode) "d" "-")
                    (mapconcat
                     (lambda (_x) "") "    "
-                    (concat "r" (if (string-match-p "R" mode) "-" "w") "x")))
+                    (format
+                     "r%sx"
+                     (if (tramp-compat-string-search "R" mode) "-" "w"))))
             line (substring line 0 -6))
          (cl-return))
 
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index fd42696..6fc0ac8 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -1625,7 +1625,8 @@ default values are used."
            (setq v (tramp-dissect-hop-name hop)
                  hop (and hop (tramp-make-tramp-hop-name v))))
          (let ((tramp-default-host
-                (or (and v (not (string-match-p "%h" (tramp-file-name-host v)))
+                (or (and v (not (tramp-compat-string-search
+                                 "%h" (tramp-file-name-host v)))
                          (tramp-file-name-host v))
                     tramp-default-host)))
            (setq method (tramp-find-method method user host)
@@ -1973,7 +1974,7 @@ ARGUMENTS to actually emit the message (if applicable)."
            (if (not btf)
                (setq fn "")
              (and (symbolp btf) (setq fn (symbol-name btf))
-                  (or (not (string-match-p "^tramp" fn))
+                  (or (not (string-prefix-p "tramp" fn))
                       (get btf 'tramp-suppress-trace))
                   (setq fn nil))
              (setq btn (1+ btn))))
@@ -2225,7 +2226,7 @@ If VAR is nil, then we bind `v' to the structure and 
`method', `user',
   "Report progress of an operation for Tramp."
   (let* ((parameters (cdr reporter))
         (message (aref parameters 3)))
-    (when (string-match-p message (or (current-message) ""))
+    (when (tramp-compat-string-search message (or (current-message) ""))
       (tramp-compat-progress-reporter-update reporter value suffix))))
 
 (defmacro with-tramp-progress-reporter (vec level message &rest body)
@@ -2339,7 +2340,7 @@ Example:
       (unless (and (functionp (nth 0 (car v)))
                   (cond
                    ;; Windows registry.
-                   ((string-match-p "^HKEY_CURRENT_USER" (nth 1 (car v)))
+                   ((string-prefix-p "HKEY_CURRENT_USER" (nth 1 (car v)))
                     (and (memq system-type '(cygwin windows-nt))
                          (zerop
                           (tramp-call-process
@@ -2998,8 +2999,7 @@ remote host and localname (filename on remote host)."
   "Return all method completions for PARTIAL-METHOD."
   (mapcar
    (lambda (method)
-     (and method
-         (string-match-p (concat "^" (regexp-quote partial-method)) method)
+     (and method (string-prefix-p partial-method method)
          (tramp-completion-make-tramp-file-name method nil nil nil)))
    (mapcar #'car tramp-methods)))
 
@@ -3011,8 +3011,7 @@ PARTIAL-USER must match USER, PARTIAL-HOST must match 
HOST."
   (cond
 
    ((and partial-user partial-host)
-    (if        (and host
-            (string-match-p (concat "^" (regexp-quote partial-host)) host)
+    (if        (and host (string-prefix-p partial-host host)
             (string-equal partial-user (or user partial-user)))
        (setq user partial-user)
       (setq user nil
@@ -3020,16 +3019,12 @@ PARTIAL-USER must match USER, PARTIAL-HOST must match 
HOST."
 
    (partial-user
     (setq host nil)
-    (unless
-       (and user
-            (string-match-p (concat "^" (regexp-quote partial-user)) user))
+    (unless (and user (string-prefix-p partial-user user))
       (setq user nil)))
 
    (partial-host
     (setq user nil)
-    (unless
-       (and host
-            (string-match-p (concat "^" (regexp-quote partial-host)) host))
+    (unless (and host (string-prefix-p partial-host host))
       (setq host nil)))
 
    (t (setq user nil
@@ -3707,7 +3702,7 @@ User is always nil."
         (list filename switches wildcard full-directory-p))
        ;; `ls-lisp' always returns full listings.  We must remove
        ;; superfluous parts.
-       (unless (string-match-p "l" switches)
+       (unless (tramp-compat-string-search "l" switches)
          (save-excursion
            (goto-char (point-min))
            (while (setq start



reply via email to

[Prev in Thread] Current Thread [Next in Thread]