On Fri, 21 Feb 2003, stephen(a)xemacs.org wrote:
>>>>> "Jeff" == Jeff Mincy
<jeff(a)delphioutpost.com> writes:
Jeff> have toolbar specifiers changed recently?
Not that I know of.
Jeff> When I try to do
Jeff> '(set-specifier default-toolbar (list (current-buffer)
w3m-toolbar))'
Jeff> used in w3m-update-toolbar
This is wrong. First of all, using compound instantiators is
deprecated usage (cf. C-h f set-specifier); this call could, and
therefore should, be written
There appears to be several similar usages of default-toolbar in the
current packages. May want to fix these as well?
bash% fgrep -i -r 'set-specifier default-toolbar' .
./lisp/Sun/sunpro-init.el: (set-specifier default-toolbar
./lisp/Sun/sunpro-init.el: (set-specifier default-toolbar
./lisp/debug/gdb.el: (set-specifier default-toolbar (cons (current-buffer)
./lisp/debug/gdbsrc.el: (set-specifier default-toolbar (cons (current-buffer)
./lisp/debug/gdbsrc.el: (set-specifier default-toolbar
./lisp/debug/pdb.el: (set-specifier default-toolbar (cons (current-buffer)
pdb-toolbar)))
./lisp/idlwave/idlw-toolbar.el: (set-specifier default-toolbar (cons
(current-buffer)
./lisp/mew/mew-attach.el: (set-specifier default-toolbar
./lisp/mew/mew-syntax.el: (set-specifier default-toolbar (cons (current-buffer)
toolbar))))
./lisp/mew/mew-xemacs.el: (set-specifier default-toolbar
./lisp/mew/mew-xemacs.el: (set-specifier default-toolbar
(set-specifier default-toolbar w3m-toolbar (current-buffer))
using the LOCALE argument. Second, the instantiator in the actual
call can be interpreted in three ways:
Odd, I could have sworn that I tried that variant.
(cons (current-buffer) (list w3m-toolbar))
ie, a cons of a locale and a (singleton) list of toolbar specs. This
is a valid instantiator. Alternatively, it could treat this as
(cons (current-buffer) (list (list [] [] ...)))
ie, a cons of a valid locale and an invalid (single) toolbar spec.
Finally, `canonicalize-spec-list' is evidently treating it as:
(list (current-buffer) w3m-toolbar)
ie, a list of toolbar specs, and then attempting to validate
`(current-buffer)' as a toolbar spec. Woof! The Attentive Reader[tm]
will have noticed that in Lisp these three interpretations cannot be
disambiguated, so you see why compound instantiators are deprecated.
Yep
thanks.
-jeff