GNU bug report logs - #4471
menu-bar menu is undefined

Previous Next

Package: emacs;

Reported by: Juri Linkov <juri <at> jurta.org>

Date: Thu, 17 Sep 2009 21:30:06 UTC

Severity: normal

Tags: patch

Done: Chong Yidong <cyd <at> stupidchicken.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (Emacs bug Tracking System)
To: Juri Linkov <juri <at> jurta.org>
Subject: bug#4471 closed by Chong Yidong <cyd <at> stupidchicken.com> (Re:
 bug#4471: menu-bar menu is undefined)
Date: Sun, 25 Oct 2009 00:50:06 +0000
[Message part 1 (text/plain, inline)]
This is an automatic notification regarding your bug report
which was filed against the emacs package:

#4471: menu-bar menu is undefined

It has been closed by Chong Yidong <cyd <at> stupidchicken.com>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Chong Yidong <cyd <at> stupidchicken.com> by
replying to this email.


-- 
4471: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=4471
Emacs Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Chong Yidong <cyd <at> stupidchicken.com>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: Juri Linkov <juri <at> jurta.org>, 4471-done <at> debbugs.gnu.org
Subject: Re: bug#4471: menu-bar menu is undefined
Date: Sat, 24 Oct 2009 20:41:02 -0400
> >  (defvar Buffer-menu-mode-map
> >    (let ((map (make-keymap))
> > -	(menu-map (make-sparse-keymap)))
> > +	(menu-map (make-sparse-keymap "Buffer-Menu")))
> >      (suppress-keymap map t)
> >      (define-key map "v" 'Buffer-menu-select)
> >      (define-key map "2" 'Buffer-menu-2-window)
>
> IIUC this is a correct way to fix it, indeed.
> OTOH it would be better to make the non-toolkit code accept the same
> keymaps as accepted by the toolkit code.

I've checked in a change to keyboard.c, allowing the non-toolkit code to
handle keymaps with no prompt strings.
[Message part 3 (message/rfc822, inline)]
From: Juri Linkov <juri <at> jurta.org>
To: bug-gnu-emacs <at> gnu.org
Subject: menu-bar menu is undefined
Date: Fri, 18 Sep 2009 00:19:47 +0300
Some menu-bar's menus fail to open in non-toolkit X builds.

For instance, when I click on the "Buffer-Menu" menu-bar's item,
it signals the error:

  <menu-bar> <Buffer-menu-mode> <nil> is undefined

However, with the following patch it displays the menu correctly:

Index: lisp/buff-menu.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/buff-menu.el,v
retrieving revision 1.125
diff -u -r1.125 buff-menu.el
--- lisp/buff-menu.el	15 Jan 2009 16:46:09 -0000	1.125
+++ lisp/buff-menu.el	17 Sep 2009 21:15:37 -0000
@@ -119,7 +119,7 @@
 
 (defvar Buffer-menu-mode-map
   (let ((map (make-keymap))
-	(menu-map (make-sparse-keymap)))
+	(menu-map (make-sparse-keymap "Buffer-Menu")))
     (suppress-keymap map t)
     (define-key map "v" 'Buffer-menu-select)
     (define-key map "2" 'Buffer-menu-2-window)

If this is the right way to define menus, I could do the same for other
menus as well, e.g.

Index: lisp/add-log.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/add-log.el,v
retrieving revision 1.230
diff -u -r1.230 add-log.el
--- lisp/add-log.el	1 Sep 2009 07:24:18 -0000	1.230
+++ lisp/add-log.el	17 Sep 2009 21:16:23 -0000
@@ -551,7 +551,7 @@
 
 (defvar change-log-mode-map
   (let ((map (make-sparse-keymap))
-	(menu-map (make-sparse-keymap)))
+	(menu-map (make-sparse-keymap "ChangeLog")))
     (define-key map [?\C-c ?\C-p] 'add-log-edit-prev-comment)
     (define-key map [?\C-c ?\C-n] 'add-log-edit-next-comment)
     (define-key map [?\C-c ?\C-f] 'change-log-find-file)

and some other menus that have no menu names.

-- 
Juri Linkov
http://www.jurta.org/emacs/



This bug report was last modified 15 years and 239 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.