mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-05-03 19:52:16 -07:00
(browse-url): Identify alist with "consp and
not functionp" and let all other things go down the `apply' leg, as suggested by Stefan. (Further to bug#4531.)
This commit is contained in:
parent
b0b0ef98fb
commit
9c16fc9540
1 changed files with 14 additions and 14 deletions
|
|
@ -778,20 +778,20 @@ 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)))
|
||||
;; 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).
|
||||
(catch 'done
|
||||
(dolist (bf browse-url-browser-function)
|
||||
(when (string-match (car bf) url)
|
||||
(apply (cdr bf) url args)
|
||||
(throw 'done t)))
|
||||
(error "No browse-url-browser-function matching URL %s"
|
||||
url)))))
|
||||
(if (and (consp browse-url-browser-function)
|
||||
(not (functionp browse-url-browser-function)))
|
||||
;; The `function' can be an alist; look down it for first match
|
||||
;; and apply the function (which might be a lambda).
|
||||
(catch 'done
|
||||
(dolist (bf browse-url-browser-function)
|
||||
(when (string-match (car bf) url)
|
||||
(apply (cdr bf) url args)
|
||||
(throw 'done t)))
|
||||
(error "No browse-url-browser-function matching URL %s"
|
||||
url))
|
||||
;; Unbound symbols go down this leg, since void-function from
|
||||
;; apply is clearer than wrong-type-argument from dolist.
|
||||
(apply browse-url-browser-function url args))))
|
||||
|
||||
;;;###autoload
|
||||
(defun browse-url-at-point (&optional arg)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue