* 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
* 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.