summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2014-04-06 18:27:32 -0700
committerGlenn Morris <rgm@gnu.org>2014-04-06 18:27:32 -0700
commita9c921e66b68c4bdc699171d467be09ca327acb2 (patch)
tree42793d7e96f9fe172288c4958292b1936a2f6b9c
parent79ebc53034684f176432c255ae3109323226871c (diff)
downloademacs-a9c921e66b68c4bdc699171d467be09ca327acb2.tar.gz
* lisp/shell.el (shell-directory-tracker): Go back to just ignoring failures.
Fixes: debbugs:17159
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/shell.el7
2 files changed, 10 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 7fbb5cb960e..26004f8d6e2 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2014-04-07 Glenn Morris <rgm@gnu.org>
+
+ * shell.el (shell-directory-tracker):
+ Go back to just ignoring failures. (Bug#17159)
+
2014-04-06 João Távora <joaotavora@gmail.com>
Fix `electric-pair-delete-adjacent-pairs' in modes binding
diff --git a/lisp/shell.el b/lisp/shell.el
index c5c1275f19f..9dc9a013f8b 100644
--- a/lisp/shell.el
+++ b/lisp/shell.el
@@ -792,8 +792,11 @@ 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.
- (with-demoted-errors "Couldn't cd: %s"
- (let ((start (progn (string-match
+;;; (with-demoted-errors "Directory tracker failure: %s"
+ ;; This fails so often that it seems better to just ignore errors (?).
+ ;; Eg even: foo=/tmp; cd $foo is beyond us (bug#17159).
+ (ignore-errors
+ (let ((start (progn (string-match
(concat "^" shell-command-separator-regexp)
str) ; skip whitespace
(match-end 0)))