Subject: bug#16565: closed (Re: bug#16565: 24.3.50; x-popup-menu just returns nil)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 29 Jan 2014 08:28:08 +0000

Your bug report

#16565: 24.3.50; x-popup-menu just returns nil

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
16565: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16565
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#16565: 24.3.50; x-popup-menu just returns nil
From: Jan Djärv <[email-masked]>
To: Eli Zaretskii <[email-masked]>, Michael Heerdegen <[email-masked]>
Cc: [email-masked]
Date: Wed, 29 Jan 2014 09:27:24 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello.

2014-01-28 17:31, Eli Zaretskii skrev:
>> From: Michael Heerdegen <[email-masked]>
>
>> I continued debugging xmenu_show and found that after the call to
>> `create_and_show_popup_menu', `menu_item_selection' is only != 0 in the
>> good case.
>
> Perhaps Jan could help us out, then.  Jan, it sounds like GTK doesn't
> like what we do with the menu, for some reason.
>

The Gtk+ assumtion is that popup is done on key down, not key up, i.e.:

(global-set-key
  [(meta control down mouse-3)] ;just some free key
  #'foo)

It is very strange to popup a menu on key up.  From the Gtk+ point of view, 
that corresponds to popping up without a mouse click, hence the error.  I have 
checked in a fix in trunk.

	Jan D.

Subject: 24.3.50; x-popup-menu just returns nil
From: Michael Heerdegen <[email-masked]>
To: [email-masked]
Date: Mon, 27 Jan 2014 03:50:37 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

in emacs -Q, I eval the following:

--8<---------------cut here---------------start------------->8---
(defun foo (event)
  (interactive "e")
  (message "%s" (x-popup-menu event (mouse-menu-bar-map))))
 
(global-set-key
 [(meta control mouse-3)] ;just some free key
 #'foo)
--8<---------------cut here---------------end--------------->8---

Now, I hit M-C-mouse-3 somewhere.  The menu appears at the right place.
I select any item, and FOO messages "nil" instead of a list of events.
This is the bug.

However, when I redefine FOO so that it uses t instead of EVENT as first
argument of `x-popup-menu', it works as expected!

The problem seems to be system specific.  I see it on Debian Linux with
X, Drew Adams doesn't see it under Windows.

I use openbox, but the behavior is the same in an X session without any
window manager.

Regards,

Michael.

In GNU Emacs 24.3.50.2 (x86_64-unknown-linux-gnu, GTK+ Version 3.8.6)
 of 2014-01-27 on drachen
Windowing system distributor `The X.Org Foundation', version 11.0.11405000
System Description:	Debian GNU/Linux testing (jessie)

Important settings:
  value of $LC_ALL: de_DE.utf8
  value of $LC_COLLATE: C
  value of $LC_TIME: C
  value of $LANG: de_DE.utf8
  locale-coding-system: utf-8-unix