summaryrefslogtreecommitdiff
path: root/lisp/net
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2011-03-04 00:21:56 -0800
committerGlenn Morris <rgm@gnu.org>2011-03-04 00:21:56 -0800
commit9d9827395a41ab7b87755447ca8a9bf4a163e697 (patch)
tree345aa3cc0fb06f10475784fe2117e20489d7557c /lisp/net
parent732795fa270b62ad28e84d492557186dc24f0503 (diff)
downloademacs-9d9827395a41ab7b87755447ca8a9bf4a163e697.tar.gz
browse-url fix for bug#6077.
* lisp/net/browse-url.el (browse-url): Handle deleted default-directory.
Diffstat (limited to 'lisp/net')
-rw-r--r--lisp/net/browse-url.el7
1 files changed, 6 insertions, 1 deletions
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index 660eb3b968e..24dbfc0c30a 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -798,7 +798,12 @@ first, if that exists."
(let ((process-environment (copy-sequence process-environment))
(function (or (and (string-match "\\`mailto:" url)
browse-url-mailto-function)
- browse-url-browser-function)))
+ browse-url-browser-function))
+ ;; Ensure that `default-directory' exists and is readable (b#6077).
+ (default-directory (if (and (file-directory-p default-directory)
+ (file-readable-p default-directory))
+ default-directory
+ (expand-file-name "~/"))))
;; When connected to various displays, be careful to use the display of
;; the currently selected frame, rather than the original start display,
;; which may not even exist any more.