Subject: bug#8176: 24.0.50; GUI toolkit differences

From: Tim Cross <[email-masked]>
Date: Tue, 5 Jul 2011 10:00:57 +1000

On Tue, Jul 5, 2011 at 12:05 AM, Lars Magne Ingebrigtsen <[email-masked]> wrote:
> Tim Cross <[email-masked]> writes:
>
>> Either this is a bug in GTK or how emacs interfaces with the library
>> (seems unlikely, more likely a desing constraint of GTK) and should be
>> fixed or a footnote added to the manual to let developers know of this
>> limitation in some toolkits, noteably GTK based ones.
>>
>> The following code was evaluated within the scratch buffer. I confirmed
>> it works fine under emacs 24 built with lucid, but fails to work when
>> built with GTK2+. Others reported it worked find under win32, but failed
>> on ns.
>>
>> (defun tx-greet ()
>>   (interactive)
>>   (message "Hello Tim!"))
>>
>> (defun tx-menu ()
>>   (interactive)
>>   (define-key lisp-interaction-mode-map [menu-bar tx]
>>     '(menu-item "TX Test" tx-greet)))
>
> I can confirm that this doesn't work under GTK Emacs.
>
> Do you have a suggestion where this limitation should be documented?
>
> --
> (domestic pets only, the antidote for overdose, milk.)
>  bloggy blog http://lars.ingebrigtsen.no/
>

My suggestion would be to add it to the elisp manual, possibly as a
footnote, in either section 22.17 or possibly 22.17.1. Something along
the lines that not all GUI toolkits are equal and some features or
behaviours available in one toolkit may not be available in another.
For example, GTK will not allow a top level menu button or action,
while Lucid and NS do.

A tricky part in documenting this is getting consistency of terms. I'm
not sure if 'top level button or action' is really understood, but
basically it refers to a menu item on the top level menu bar which
performs an action other than to open a sub-menu.

thanks for looking at this.

Tim