Subject: bug#8176: 24.0.50; GUI toolkit differences

From: Tim Cross <[email-masked]>
Date: Tue, 12 Jul 2011 13:34:15 +1000

OK, here is my attempt to draft an addition for 12.17.1 which may help
highlight the fact that not all toolkits are equivalent and what is
possible in some toolkits may not be possible in another.

"It should be noted that not all GUI toolkits used by emacs are
equivalent. Some toolkits have specific constraints on how they are
used. These constraints may be due to technical limitations of the
toolkit or they may represent deliberate design choices. It is
possible to implement elisp which works as expected under one toolkit
and either does not work under another or gives unexpected results.

An exmaple of this is the use of menu actions or buttons in a top
level menu-bar. The following code will work in a top level menu when
emacs is built with either the Lucid X toolkit or on MS Windows, but
will fail to work correctly when emacs is built against the GTK+ or
NextStep toolkits. Under these toolkits, the code compiles and the
menu item appears in the top level menu, but clicking on the item
fails to execute the associated action.

(defun menu-action-greet ()
   (interactive)
   (message "Hello Emacs User!"))

(defun top-level-menu ()
  (interactive)
  (define-key lisp-interaction-mode-map [menu-bar m]
     '(menu-item "Action Button" menu-action-greet)))

On Wed, Jul 6, 2011 at 4:56 PM, Tim Cross <[email-masked]> wrote:
> On Wed, Jul 6, 2011 at 12:14 AM, Lars Magne Ingebrigtsen <[email-masked]> wrote:
>> Tim Cross <[email-masked]> writes:
>>
>>> 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.
>>
>> Could you suggest a paragraph for 22.17.1 that explains this problem?
>>
>> --
>> (domestic pets only, the antidote for overdose, milk.)
>>  bloggy blog http://lars.ingebrigtsen.no/
>>
>
> I will try to draft something in the next few days.
>
> Tim
>