]> git.eshelyaron.com Git - emacs.git/commitdiff
Remove compatibility hack in Tramp
authorMichael Albinus <michael.albinus@gmx.de>
Fri, 31 Jan 2020 09:29:02 +0000 (10:29 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Fri, 31 Jan 2020 09:29:02 +0000 (10:29 +0100)
* lisp/net/tramp-compat.el (tramp-compat-process-running-p): Remove.

* lisp/net/tramp-gvfs.el (tramp-gvfs-enabled):
Use `tramp-process-running-p'.

* lisp/net/lisp/net/tramp.el (with-tramp-progress-reporter): Simplify.
(tramp-process-running-p): New defun.

lisp/net/tramp-compat.el
lisp/net/tramp-gvfs.el
lisp/net/tramp.el

index ba1cb9e431054c0e15f3c8cedda357f976af5a30..87bcd08b85a597ae6e086497e13a1abe4caf60d0 100644 (file)
@@ -77,20 +77,6 @@ Add the extension of F, if existing."
       #'temporary-file-directory
     #'tramp-handle-temporary-file-directory))
 
-(defun tramp-compat-process-running-p (process-name)
-  "Return t if system process PROCESS-NAME is running for `user-login-name'."
-  (when (stringp process-name)
-    (let (result)
-      (dolist (pid (tramp-compat-funcall 'list-system-processes) result)
-       (let ((attributes (process-attributes pid)))
-         (and (string-equal (cdr (assoc 'user attributes)) (user-login-name))
-               (when-let ((comm (cdr (assoc 'comm attributes))))
-                 ;; The returned command name could be truncated to 15
-                 ;; characters.  Therefore, we cannot check for
-                 ;; `string-equal'.
-                (string-match-p (concat "^" (regexp-quote comm)) process-name))
-              (setq result t)))))))
-
 ;; `file-attribute-*' are introduced in Emacs 26.1.
 
 (defalias 'tramp-compat-file-attribute-type
@@ -296,4 +282,9 @@ A nil value for either argument stands for the current time."
 
 (provide 'tramp-compat)
 
+;;; TODO:
+;;
+;; * Starting with Emacs 27.1, there's no need to escape open
+;;   parentheses with a backslash in docstrings anymore.
+
 ;;; tramp-compat.el ends here
index 4374dc0a10dff2a94bc6cdeb7d2ab233e5955310..2c117fe630b9ef855b10f5c1764320bf3583541a 100644 (file)
         (autoload 'zeroconf-init "zeroconf")
         (tramp-compat-funcall 'dbus-get-unique-name :system)
         (tramp-compat-funcall 'dbus-get-unique-name :session)
-        (or (tramp-compat-process-running-p "gvfs-fuse-daemon")
-            (tramp-compat-process-running-p "gvfsd-fuse"))))
+        (or (tramp-process-running-p "gvfs-fuse-daemon")
+            (tramp-process-running-p "gvfsd-fuse"))))
   "Non-nil when GVFS is available.")
 
 ;;;###tramp-autoload
index 131681a8fdc33edb69d2dcf9b0303f8521f55d44..70d0fb070d8cdac6ba64be6bacd82e77f8a5e99c 100644 (file)
@@ -1999,9 +1999,9 @@ without a visible progress reporter."
            (tm
             ;; We start a pulsing progress reporter after 3
             ;; seconds. Display only when there is a minimum level.
-            (when (<= ,level (min tramp-verbose 3))
-             (when-let ((pr (make-progress-reporter ,message nil nil)))
-               (run-at-time 3 0.1 #'tramp-progress-reporter-update pr)))))
+           (when-let ((pr (and (<= ,level (min tramp-verbose 3))
+                               (make-progress-reporter ,message nil nil))))
+             (run-at-time 3 0.1 #'tramp-progress-reporter-update pr))))
        (unwind-protect
            ;; Execute the body.
            (prog1 (progn ,@body) (setq cookie "done"))
@@ -4816,6 +4816,19 @@ verbosity of 6."
     (tramp-message vec 6 "%s" result)
     result))
 
+(defun tramp-process-running-p (process-name)
+  "Return t if system process PROCESS-NAME is running for `user-login-name'."
+  (when (stringp process-name)
+    (catch 'result
+      (dolist (pid (tramp-compat-funcall 'list-system-processes))
+       (let ((attributes (process-attributes pid)))
+         (and (string-equal (cdr (assoc 'user attributes)) (user-login-name))
+               (when-let ((comm (cdr (assoc 'comm attributes))))
+                 ;; The returned command name could be truncated to 15
+                 ;; characters.  Therefore, we cannot check for `string-equal'.
+                (string-prefix-p comm process-name))
+              (throw 'result t)))))))
+
 (defun tramp-read-passwd (proc &optional prompt)
   "Read a password from user (compat function).
 Consults the auth-source package.