GNU bug report logs - #66192
30.0.50; lisp/buttons.el (push-button) fails to handle the <return> action on gui emacs

Previous Next

Package: emacs;

Reported by: Madhu <enometh <at> meer.net>

Date: Mon, 25 Sep 2023 15:12:02 UTC

Severity: normal

Found in version 30.0.50

Done: Stefan Kangas <stefankangas <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Madhu <enometh <at> meer.net>
Subject: bug#66192: closed (Re: bug#66192: 30.0.50; lisp/buttons.el
 (push-button) fails to handle the <return> action on gui emacs)
Date: Tue, 26 Sep 2023 11:39:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#66192: 30.0.50; lisp/buttons.el (push-button) fails to handle the <return> action on gui emacs

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 66192 <at> debbugs.gnu.org.

-- 
66192: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66192
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Stefan Kangas <stefankangas <at> gmail.com>
To: Madhu <enometh <at> meer.net>, luangruo <at> yahoo.com
Cc: 66192-done <at> debbugs.gnu.org
Subject: Re: bug#66192: 30.0.50; lisp/buttons.el (push-button) fails to handle
 the <return> action on gui emacs
Date: Tue, 26 Sep 2023 04:38:04 -0700
Madhu <enometh <at> meer.net> writes:

> Yes it's fixed, please close.

Done.

[Message part 3 (message/rfc822, inline)]
From: Madhu <enometh <at> meer.net>
To: bug-gnu-emacs <at> gnu.org
Subject: 30.0.50; lisp/buttons.el (push-button) fails to handle the
 <return> action on gui emacs
Date: Mon, 25 Sep 2023 20:40:20 +0530 (IST)
[Message part 4 (text/plain, inline)]
* commit a496509cedb17109d0e6297a74e2ff8ed526333c
|Commit:     Po Lu <luangruo <at> yahoo.com>
|CommitDate: Thu Jan 19 22:19:06 2023 +0800

Introduced a change to lisp/button.el:(push-button) which causes the
following recipe to fail. Consider a buffer with the following
contents:

```
;;text-button

(defvar-keymap my-button-map :parent button-map "<return>" 'push-button)
(setq $but (make-text-button 1 10
			     'action #'(lambda(b) (message "push-button %S" b))
			     'keymap my-button-map))
```

evaluating the buffer sets up a text button in the first line. In a gui
emacs Hitting RET on the button fails with an error:
	"push-button: Wrong type argument: listp, return".

The following patch fixes it for me but maybe there is some other issue?
[0001-lisp-button.el-push-button-handle-kbd-return.patch (text/x-patch, inline)]
From e69be9cf0af72c5fcda8cda05b50a556741009b2 Mon Sep 17 00:00:00 2001
From: Madhu <enometh <at> net.meer>
Date: Mon, 25 Sep 2023 20:20:05 +0530
Subject: [PATCH] lisp/button.el: (push-button): handle kbd <return>

---
 lisp/button.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/button.el b/lisp/button.el
index b01595943fc..0e98ec722d9 100644
--- a/lisp/button.el
+++ b/lisp/button.el
@@ -492,7 +492,7 @@ push-button
 	    (if str-button
 	        ;; mode-line, header-line, or display string event.
 	        (button-activate str t)
-              (if (eq (car pos) 'touchscreen-down)
+              (if (and (listp pos) (eq (car pos) 'touchscreen-down))
                   ;; If touch-screen-track tap returns nil, then the
                   ;; tap was cancelled.
                   (when (touch-screen-track-tap pos)
-- 
2.39.2.101.g768bb238c4


This bug report was last modified 1 year and 241 days ago.

Previous Next


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