Fix some minor shell.el oddness related to usage of error and message
authorGlenn Morris <rgm@gnu.org>
Thu, 12 Sep 2013 05:40:50 +0000 (22:40 -0700)
committerGlenn Morris <rgm@gnu.org>
Thu, 12 Sep 2013 05:40:50 +0000 (22:40 -0700)
* lisp/shell.el (shell-directory-tracker): Output error as a message
rather than just returning it as a string.
(shell-process-pushd): Remove useless use of message.

lisp/ChangeLog
lisp/shell.el

index d5b6b09..70ef948 100644 (file)
@@ -1,5 +1,9 @@
 2013-09-12  Glenn Morris  <rgm@gnu.org>
 
+       * shell.el (shell-directory-tracker): Output error as a message
+       rather than just returning it as a string.
+       (shell-process-pushd): Remove useless use of message.
+
        * dframe.el (dframe-timer-fn):
        * files.el (dir-locals-read-from-file):
        * mpc.el (mpc--status-timer-run, mpc--status-idle-timer-run)
index 387d105..2047543 100644 (file)
@@ -791,7 +791,7 @@ and `shell-pushd-dunique' control the behavior of the relevant command.
 Environment variables are expanded, see function `substitute-in-file-name'."
   (if shell-dirtrackp
       ;; We fail gracefully if we think the command will fail in the shell.
-      (condition-case nil
+      (with-demoted-errors "Couldn't cd: %s"
          (let ((start (progn (string-match
                               (concat "^" shell-command-separator-regexp)
                               str) ; skip whitespace
@@ -824,8 +824,7 @@ Environment variables are expanded, see function `substitute-in-file-name'."
              (setq start (progn (string-match shell-command-separator-regexp
                                               str end)
                                 ;; skip again
-                                (match-end 0)))))
-       (error "Couldn't cd"))))
+                                (match-end 0))))))))
 
 (defun shell-unquote-argument (string)
   "Remove all kinds of shell quoting from STRING."
@@ -907,7 +906,7 @@ Environment variables are expanded, see function `substitute-in-file-name'."
           (cond ((> num (length shell-dirstack))
                  (message "Directory stack not that deep."))
                 ((= num 0)
-                 (error (message "Couldn't cd")))
+                 (error "Couldn't cd"))
                 (shell-pushd-dextract
                  (let ((dir (nth (1- num) shell-dirstack)))
                    (shell-process-popd arg)