Agustin Martin writes:
 > On Mon, Jan 10, 2011 at 05:17:54PM -0800, Steve VanDevender wrote:
 > > Package: dictionaries-common
 > > Version: 1.5.16
 > > Severity: important
 > > Tags: squeeze
 > > 
 > > /usr/share/emacs/site-lisp/dictionaries-common/ispell.el creates a bogus
 > > entry in default-menubar under XEmacs 21 (xemacs21-nomule is what I am
 > > running).
 > > 
 > > After ispell.el changes the "Kill Process" menu item under Cmds ->
 > > Spell-Check, any attempt to click on the menubar produces the error
 > > "Wrong type argument: stringp, clear" because a symbol is not allowed as
 > > an optional fourth item in a menu specification.  I originally
 > > encountered this when using the VM mail reader that is part of
 > > xemacs21-basesupport, and finding that after the first time I ran
 > > vm-compose-mail, the menubar became unusable.  However, it seems likely
 > > this affects other Emacs/XEmacs packages as well.
 > 
 > Cannot reproduce that here at all, neither with normal xemacs21 nor with
 > xemacs21-nomule. Using XEmacs, open a file, spellcheck, kill process, no
 > problem, menu is accesible. Am I missing something? 

You need to have the "ispell" package installed as well.  I discovered
this after submitting the bug report so I did not know to include that
information at the time.  (xemacs21 is a metapackage that is satisifed
by either xemacs21-mule or xemacs21-nomule).

 > > I find that the patch below fixes the issue locally (after I apply it
 > > and recompile ispell.elc).  If adding "'clear" to the menu was meant
 > > to accomplish something, that probably needs to be done in some more
 > > portable way.  My testing does not suggest that the function of that
 > > menu entry is impaired by removal of "'clear".
 > > 
 > > --- ispell.el.orig 2010-11-15 05:21:32.000000000 -0800
 > > +++ ispell.el      2011-01-10 16:50:35.000000000 -0800
 > > @@ -1352,7 +1352,7 @@
 > >         ["Continue Check"  ispell-continue                 t]
 > >         ["Complete Word Frag"ispell-complete-word-interior-frag t]
 > >         ["Complete Word"   ispell-complete-word            t]
 > > -       ["Kill Process"    ispell-kill-ispell       t 'clear]
 > > +       ["Kill Process"    ispell-kill-ispell              t]
 > >         ["Customize..."    (customize-group 'ispell)       t]
 > >         ;; flyspell-mode may not be bound...
 > >         ;;["flyspell"      flyspell-mode
 > 
 > This is there to clean session localwords.

Unfortunately that's not how that menu list works; the additional items
after the function entry for the menu item are not arguments to be
passed to the function, but parameters that control the display and
behavior of that menu item in the menu-handling code.  Seriously, the
'clear in that list is what's causing the "Wrong type argument: stringp,
clear" error that breaks the menubar (and I would note the code did not
have that 'clear in the lenny version of dictionaries-common where this
error did not occur).

See the XEmacs lispref node for "Menus" for more information on how
pull-down menus are specified in XEmacs.  There may be a way to do this
with some of the optional name-value pairs that are allowed in menu
specifiers, but simply putting 'clear in the list is not valid and
throws an error when that menu is installed.

 > -- 
 > Agustin



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to