]> git.eshelyaron.com Git - emacs.git/commitdiff
browse-url fix for bug#6077.
authorGlenn Morris <rgm@gnu.org>
Fri, 4 Mar 2011 08:21:56 +0000 (00:21 -0800)
committerGlenn Morris <rgm@gnu.org>
Fri, 4 Mar 2011 08:21:56 +0000 (00:21 -0800)
* lisp/net/browse-url.el (browse-url): Handle deleted default-directory.

lisp/ChangeLog
lisp/net/browse-url.el

index e506705e6e4bb11a434857cc1c180dc3f2ae5a18..c550cd4e85231121ec04d32144cdb18008c5e4e2 100644 (file)
@@ -1,5 +1,8 @@
 2011-03-04  Glenn Morris  <rgm@gnu.org>
 
+       * net/browse-url.el (browse-url):
+       Handle deleted default-directory.  (Bug#6077)
+
        * recentf.el (recentf-include-p): In case of a buggy predicate,
        err on the side of including, not excluding.  (Bug#5843)
 
index 660eb3b968ee9c105578ce3a61579a84431a152d..24dbfc0c30aadaf570e931a0412e401049dd075c 100644 (file)
@@ -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.