summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/net/browse-url.el5
2 files changed, 10 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 54929a6c0ca..cc330ada560 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
+2009-10-02 Kevin Ryde <user42@zip.com.au>
+
+ * net/browse-url.el (browse-url): Pass any symbol in
+ browse-url-browser-function to `apply', since if you've mistakenly put
+ an unbound symbol then the error is clearer. (Bug#4531)
+
2009-10-02 Juanma Barranquero <lekktu@gmail.com>
* allout.el (allout-init, allout-back-to-current-heading)
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index 1e724dda047..ead2a39c9d4 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -778,7 +778,10 @@ Prompts for a URL, defaulting to the URL at or before point. Variable
;; which may not even exist any more.
(if (stringp (frame-parameter (selected-frame) 'display))
(setenv "DISPLAY" (frame-parameter (selected-frame) 'display)))
- (if (functionp browse-url-browser-function)
+ ;; Send any symbol to `apply', not just fboundp ones, since void-function
+ ;; from apply is clearer than wrong-type-argument from dolist.
+ (if (or (symbolp browse-url-browser-function)
+ (functionp browse-url-browser-function))
(apply browse-url-browser-function url args)
;; The `function' can be an alist; look down it for first match
;; and apply the function (which might be a lambda).