all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Re: Modify menu-bar help
@ 2011-02-25 20:33 Ben Key
  2011-02-25 23:58 ` Tim Cross
  0 siblings, 1 reply; 21+ messages in thread
From: Ben Key @ 2011-02-25 20:33 UTC (permalink / raw)
  To: Emacs-devel

[-- Attachment #1: Type: text/plain, Size: 232 bytes --]

Hello,

If we do document this issue somewhere we should note that GTK is not the
only environment in which this is an issue.  I tried using the code provided
by Tim Cross on the Nextstep build of Emacs 24 and had the same problem.

[-- Attachment #2: Type: text/html, Size: 273 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread
* Modify menu-bar help
@ 2011-02-24 23:16 Tim Cross
  2011-02-25  0:52 ` Drew Adams
  0 siblings, 1 reply; 21+ messages in thread
From: Tim Cross @ 2011-02-24 23:16 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1761 bytes --]

Hi all,

hoping someone can help me with a problem I'm having when trying to add a
new item to a top level menu. The item is an action rather than another
menu. I'm doing this to fix some code that worked in emacs 21, but does not
work in emacs 23 (or emacs 22 I believe). I've tried to boil it down to a
basic recipe shown below.

I'm experimenting in the scratch buffer. This is in emacs 24.0.50 on Linux,
but the problem occurs under windows as well.

; a simple test action
(defun tx-greet ()
  (interactive)
  (message "Hello Tim!"))

If I execute

(defun tx-menu ()
  (interactive)
  (define-key lisp-interaction-mode-map [menu-bar tx]
    (cons "TX" (make-sparse-keymap)))
  (define-key lisp-interaction-mode-map [menu-bar tx tx-test]
    '(menu-item "TX Test" tx-greet)))

I get a new menu item "TX" and clicking on that gives a sub-menu with one
item "TX Test". Clicking on this item and the message "Hello Tim!" appears
in the minibuffer. All works as expected.

However, if I just define the function as

(defun tx-menu ()
  (interactive)
  (define-key lisp-interaction-mode-map [menu-bar tx]
    '(menu-item "TX Test" tx-greet)))

I get the expected menu item at the top level, but clicking on it does
nothing - well, it grabs focus, the item is highlighted and you have to
click again to release focus.

So, what am I doing wrong? I've looked at menu-bar.el and I believe my code
is the same as other examples in that file which add a top level menu action
i.e. quit for the ns port etc. According to the manual, the definition looks
OK and presumably a similar definition use to work in emacs 21. I've checked
the NEWS files and cannot see anything which looks relevant. Can someone
give me some clues as at this point, I'm stumped!

thanks,

Tim

[-- Attachment #2: Type: text/html, Size: 2379 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2011-02-26 22:27 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-25 20:33 Modify menu-bar help Ben Key
2011-02-25 23:58 ` Tim Cross
2011-02-26  1:04   ` Tim Cross
2011-02-26 10:21     ` Jan Djärv
2011-02-26 10:22   ` Jan Djärv
2011-02-26 22:27     ` Tim Cross
  -- strict thread matches above, loose matches on Subject: below --
2011-02-24 23:16 Tim Cross
2011-02-25  0:52 ` Drew Adams
2011-02-25  5:14   ` Tim Cross
2011-02-25  7:15     ` Drew Adams
2011-02-25  9:31       ` Eli Zaretskii
2011-02-25  9:30     ` Eli Zaretskii
2011-02-25 10:03     ` Jan Djärv
2011-02-25 14:49       ` Tim Cross
2011-02-25 15:29         ` Drew Adams
2011-02-25 15:31         ` Eli Zaretskii
2011-02-25 15:38           ` Drew Adams
2011-02-25 15:54             ` Eli Zaretskii
2011-02-25 17:08               ` Jan Djärv
2011-02-25 17:22                 ` Drew Adams
2011-02-25  9:27   ` Eli Zaretskii

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.