* bug#4531: 23.1; browse-url with unknown func in browse-url-browser-function @ 2009-09-23 1:22 ` Kevin Ryde 2009-10-02 7:20 ` bug#4531: marked as done (23.1; browse-url with unknown func in browse-url-browser-function) Emacs bug Tracking System [not found] ` <handler.4531.D4531.125446747923800.notifdone@emacsbugs.donarmstrong.com> 0 siblings, 2 replies; 3+ messages in thread From: Kevin Ryde @ 2009-09-23 1:22 UTC (permalink / raw) To: bug-gnu-emacs [-- Attachment #1: Type: text/plain, Size: 919 bytes --] If browse-url-browser-function is an unknown symbol the error from browse-url isn't very helpful. Eg. M-: (setq browse-url-browser-function 'FOOBAR-browse-url) M-x browse-url http://www.gnu.org => Wrong type argument: listp, FOOBAR-browse-url I hoped it would say the problem is the symbol is unbound, not that it's supposed to be a list. (The value can be a list of course, but if the value is a symbol then it's surely meant to be the name of a function.) Sending symbols down the `apply' leg of `browse-url' would give => Symbol's function definition is void: FOOBAR-browse-url which I think is a much better. 2009-09-23 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 from apply is much clearer that the function you wanted is not available. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: browse-url.el.symbolp.diff --] [-- Type: text/x-diff, Size: 809 bytes --] --- browse-url.el.~1.80.~ 2009-09-23 11:08:37.000000000 +1000 +++ browse-url.el 2009-09-23 11:16:22.000000000 +1000 @@ -778,7 +778,11 @@ ;; 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). [-- Attachment #3: Type: text/plain, Size: 1076 bytes --] In GNU Emacs 23.1.1 (i486-pc-linux-gnu, GTK+ Version 2.16.5) of 2009-08-03 on raven, modified by Debian configured using `configure '--build=i486-linux-gnu' '--host=i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.1/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.1/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS='' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_AU value of $XMODIFIERS: nil locale-coding-system: iso-latin-1-unix default-enable-multibyte-characters: t ^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#4531: marked as done (23.1; browse-url with unknown func in browse-url-browser-function) 2009-09-23 1:22 ` bug#4531: 23.1; browse-url with unknown func in browse-url-browser-function Kevin Ryde @ 2009-10-02 7:20 ` Emacs bug Tracking System [not found] ` <handler.4531.D4531.125446747923800.notifdone@emacsbugs.donarmstrong.com> 1 sibling, 0 replies; 3+ messages in thread From: Emacs bug Tracking System @ 2009-10-02 7:20 UTC (permalink / raw) To: Glenn Morris [-- Attachment #1: Type: text/plain, Size: 930 bytes --] Your message dated Fri, 02 Oct 2009 03:11:17 -0400 with message-id <x2eipmuv6y.fsf@fencepost.gnu.org> and subject line Re: bug#4531: 23.1; browse-url with unknown func in browse-url-browser-function has caused the Emacs bug report #4531, regarding 23.1; browse-url with unknown func in browse-url-browser-function to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@emacsbugs.donarmstrong.com immediately.) -- 4531: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=4531 Emacs Bug Tracking System Contact owner@emacsbugs.donarmstrong.com with problems [-- Attachment #2: Type: message/rfc822, Size: 5335 bytes --] [-- Attachment #2.1.1: Type: text/plain, Size: 919 bytes --] If browse-url-browser-function is an unknown symbol the error from browse-url isn't very helpful. Eg. M-: (setq browse-url-browser-function 'FOOBAR-browse-url) M-x browse-url http://www.gnu.org => Wrong type argument: listp, FOOBAR-browse-url I hoped it would say the problem is the symbol is unbound, not that it's supposed to be a list. (The value can be a list of course, but if the value is a symbol then it's surely meant to be the name of a function.) Sending symbols down the `apply' leg of `browse-url' would give => Symbol's function definition is void: FOOBAR-browse-url which I think is a much better. 2009-09-23 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 from apply is much clearer that the function you wanted is not available. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2.1.2: browse-url.el.symbolp.diff --] [-- Type: text/x-diff, Size: 809 bytes --] --- browse-url.el.~1.80.~ 2009-09-23 11:08:37.000000000 +1000 +++ browse-url.el 2009-09-23 11:16:22.000000000 +1000 @@ -778,7 +778,11 @@ ;; 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). [-- Attachment #2.1.3: Type: text/plain, Size: 1076 bytes --] In GNU Emacs 23.1.1 (i486-pc-linux-gnu, GTK+ Version 2.16.5) of 2009-08-03 on raven, modified by Debian configured using `configure '--build=i486-linux-gnu' '--host=i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.1/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.1/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS='' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_AU value of $XMODIFIERS: nil locale-coding-system: iso-latin-1-unix default-enable-multibyte-characters: t [-- Attachment #3: Type: message/rfc822, Size: 1546 bytes --] From: Glenn Morris <rgm@gnu.org> To: 4531-done@emacsbugs.donarmstrong.com Subject: Re: bug#4531: 23.1; browse-url with unknown func in browse-url-browser-function Date: Fri, 02 Oct 2009 03:11:17 -0400 Message-ID: <x2eipmuv6y.fsf@fencepost.gnu.org> Thanks; applied. ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <handler.4531.D4531.125446747923800.notifdone@emacsbugs.donarmstrong.com>]
* bug#4531: closed by Glenn Morris <rgm@gnu.org> (Re: bug#4531: 23.1; browse-url with unknown func in browse-url-browser-function) [not found] ` <handler.4531.D4531.125446747923800.notifdone@emacsbugs.donarmstrong.com> @ 2009-10-08 0:14 ` Kevin Ryde 0 siblings, 0 replies; 3+ messages in thread From: Kevin Ryde @ 2009-10-08 0:14 UTC (permalink / raw) To: 4531 [-- Attachment #1: Type: text/plain, Size: 236 bytes --] Glenn Morris <rgm@gnu.org> writes: > > applied Actually Stefan proposed "consp && not functionp" to identify the alist case. I might apply something like below when I double check it. (It's all been in slow motion for me lately :-) [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: browse-url.el.consp.diff --] [-- Type: text/x-diff, Size: 1095 bytes --] --- browse-url.el.~1.83.~ 2009-10-08 11:09:10.000000000 +1100 +++ browse-url.el 2009-10-08 11:09:57.000000000 +1100 @@ -780,9 +780,9 @@ (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) + (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 @@ -791,7 +791,9 @@ (apply (cdr bf) url args) (throw 'done t))) (error "No browse-url-browser-function matching URL %s" - url))))) + url)) + + (apply browse-url-browser-function url args)))) ;;;###autoload (defun browse-url-at-point (&optional arg) ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-10-08 0:14 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <x2eipmuv6y.fsf@fencepost.gnu.org> 2009-09-23 1:22 ` bug#4531: 23.1; browse-url with unknown func in browse-url-browser-function Kevin Ryde 2009-10-02 7:20 ` bug#4531: marked as done (23.1; browse-url with unknown func in browse-url-browser-function) Emacs bug Tracking System [not found] ` <handler.4531.D4531.125446747923800.notifdone@emacsbugs.donarmstrong.com> 2009-10-08 0:14 ` bug#4531: closed by Glenn Morris <rgm@gnu.org> (Re: bug#4531: 23.1; " Kevin Ryde
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.