From: Sam Steingold Date: Tue, 6 Oct 2009 19:52:15 +0000 (+0000) Subject: (tramp-compat-process-running-p): Check that X-Git-Tag: emacs-pretest-23.1.90~900 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f58f7520cd4b68e9ae5aebe2486d102c45cb6d7b;p=emacs.git (tramp-compat-process-running-p): Check that the comm attribute is present before calling regexp-quote. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 77482ef548a..123af6d9613 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2009-10-06 Sam Steingold + + * net/tramp-compat.el (tramp-compat-process-running-p): Check that + the comm attribute is present before calling regexp-quote. + 2009-10-06 Juanma Barranquero * play/animate.el (animate-string): For good effect, make sure diff --git a/lisp/net/tramp-compat.el b/lisp/net/tramp-compat.el index 258bc2f4de0..57f23df94f3 100644 --- a/lisp/net/tramp-compat.el +++ b/lisp/net/tramp-compat.el @@ -312,15 +312,15 @@ element is not omitted." (dolist (pid (funcall (symbol-function 'list-system-processes)) result) (let ((attributes (funcall (symbol-function 'process-attributes) pid))) - (when - (and (string-equal - (cdr (assoc 'user attributes)) (user-login-name)) - ;; The returned command name could be truncated - ;; to 15 characters. Therefore, we cannot check - ;; for `string-equal'. - (string-match - (concat "^" (regexp-quote (cdr (assoc 'comm attributes)))) - process-name)) + (when (and (string-equal + (cdr (assoc 'user attributes)) (user-login-name)) + (let ((comm (cdr (assoc 'comm attributes)))) + ;; The returned command name could be truncated + ;; to 15 characters. Therefore, we cannot check + ;; for `string-equal'. + (and comm (string-match + (concat "^" (regexp-quote comm)) + process-name)))) (setq result t)))))) ;; Fallback, if there is no Lisp support yet.