GNU bug report logs - #50051
28.0.50; easymenu defined popup menus broken since 27.1

Previous Next

Package: emacs;

Reported by: Hugh Daschbach <hugh <at> ccss.com>

Date: Fri, 13 Aug 2021 22:10:02 UTC

Severity: normal

Found in version 28.0.50

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 50051 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Hugh Daschbach <hugh <at> ccss.com>
Cc: 50051 <at> debbugs.gnu.org, monnier <at> iro.umontreal.ca
Subject: Re: bug#50051: 28.0.50; easymenu defined popup menus broken since 27.1
Date: Sat, 14 Aug 2021 14:39:09 +0200
Hugh Daschbach <hugh <at> ccss.com> writes:

> This opens a window with *popup-tests* buffer.  Right click on the text
> "Right click here." to generate the wrong-type-argument error.
>
> This test works with 26.3.  Bisecting the Emacs source tree reveals this
> regression was introduced by the first hunk in
> a070bd1c8b5213ad469d41dd80d392f924644aed.

Stefan, this was the patch that replaced some lambdas with closures in
easymenu.  I see that parts of that patch was reverted(ish), but not the
bit that's triggering this problem.

Here's the reverted thing:

diff --git a/lisp/emacs-lisp/easymenu.el b/lisp/emacs-lisp/easymenu.el
index 292d50b91a..15b8bef428 100644
--- a/lisp/emacs-lisp/easymenu.el
+++ b/lisp/emacs-lisp/easymenu.el
@@ -475,7 +475,7 @@ easy-menu-make-symbol
                   ;; `functionp' is probably not needed.
                   (functionp callback) noexp)
               callback
-	    (lambda () (interactive) callback)))
+	    (eval `(lambda () (interactive) ,callback) t)))
     command))
 
I briefly tried to debug the current problem, but it wasn't immediately
clear what the correct fix here would be...

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




This bug report was last modified 4 years and 8 days ago.

Previous Next


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