GNU logs - #78113, boring messages


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#78113: make F-keys work in perform-replace when running Emacs in terminal
Resent-From: Toomas Rosin <toomas@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 28 Apr 2025 13:05:04 +0000
Resent-Message-ID: <handler.78113.B.174584548220989 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 78113
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 78113 <at> debbugs.gnu.org
X-Debbugs-Original-To: <bug-gnu-emacs@HIDDEN>
Received: via spool by submit <at> debbugs.gnu.org id=B.174584548220989
          (code B ref -1); Mon, 28 Apr 2025 13:05:04 +0000
Received: (at submit) by debbugs.gnu.org; 28 Apr 2025 13:04:42 +0000
Received: from localhost ([127.0.0.1]:55097 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u9OA5-0005SO-28
	for submit <at> debbugs.gnu.org; Mon, 28 Apr 2025 09:04:41 -0400
Received: from lists.gnu.org ([2001:470:142::17]:52266)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <toomas@HIDDEN>) id 1u9OA1-0005IL-AW
 for submit <at> debbugs.gnu.org; Mon, 28 Apr 2025 09:04:38 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <toomas@HIDDEN>) id 1u9O7p-0002eT-CJ
 for bug-gnu-emacs@HIDDEN; Mon, 28 Apr 2025 09:02:31 -0400
Received: from 92-115-235-80.sta.estpak.ee ([80.235.115.92] helo=rosin.ee)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <toomas@HIDDEN>) id 1u9O7n-0003TS-2P
 for bug-gnu-emacs@HIDDEN; Mon, 28 Apr 2025 09:02:21 -0400
Received: by rosin.ee (Postfix, from userid 1000)
 id 46E56A2639; Mon, 28 Apr 2025 15:53:58 +0300 (EEST)
From: Toomas Rosin <toomas@HIDDEN>
X-Mailer: MH-E 8.6+git; GNU Mailutils 3.18; Emacs 30.1
Date: Mon, 28 Apr 2025 15:53:58 +0300
Message-ID: <20250428155358.16333@localhost>
User-Agent: MH (GNU Mailutils 3.18)
Received-SPF: pass client-ip=80.235.115.92; envelope-from=toomas@HIDDEN;
 helo=rosin.ee
X-Spam_score_int: -8
X-Spam_score: -0.9
X-Spam_bar: /
X-Spam_report: (-0.9 / 5.0 requ) BAYES_00=-1.9,
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 RDNS_DYNAMIC=0.982, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001,
 TVD_RCVD_IP=0.001 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.9 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.1 (/)

Hi,

I have found it very convenient to run replace commands (query-replace and friends) with F11 mapped to #'skip and F12 to #'act in query-replace-map.  But because perform-replace reads commands via read-event, this does not work in terminal.  (Pressing F11 or F12 does nothing and terminates the search.)  I have modified replace.el to use read-key-sequence instead of read-event, and now my setup seems to work flawlessly in terminal too:

--- replace.el.orig
+++ replace.el
@@ -2895,7 +2895,8 @@
                              "%s with %s: "
                              (substitute-command-keys
                               "(\\<query-replace-map>\\[help] for help) "))
-                     minibuffer-prompt-properties))))
+                     minibuffer-prompt-properties)))
+	 (last-input-key-sequence []))

     ;; Unless a single contiguous chunk is selected, operate on multiple chunks.
     (when region-noncontiguous-p
@@ -2916,7 +2917,7 @@

     ;; If last typed key in previous call of multi-buffer perform-replace
     ;; was `automatic-all', don't ask more questions in next files
-    (when (eq (lookup-key map (vector last-input-event) t) 'automatic-all)
+    (when (eq (lookup-key map last-input-key-sequence t) 'automatic-all)
       (setq query-flag nil multi-buffer t))

     (cond
@@ -3092,14 +3093,14 @@
 			       (match-substitute-replacement next-replacement
 							     nocasify literal))
 			   next-replacement)))
-		    (message message
-                             (query-replace-descr from-string)
-                             (query-replace-descr replacement-presentation)))
-		  (setq key (read-event))
+		    (setq key (read-key-sequence
+			       (format message
+				       (query-replace-descr from-string)
+				       (query-replace-descr replacement-presentation))))
+		    (setq last-input-key-sequence key))
 		  ;; Necessary in case something happens during
 		  ;; read-event that clobbers the match data.
 		  (set-match-data real-match-data)
-		  (setq key (vector key))
 		  (setq def (lookup-key map key t))
 		  ;; Restore the match data while we process the command.
 		  (cond ((eq def 'help)

Best regards,
T.




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Toomas Rosin <toomas@HIDDEN>
Subject: bug#78113: Acknowledgement (make F-keys work in perform-replace
 when running Emacs in terminal)
Message-ID: <handler.78113.B.174584548220989.ack <at> debbugs.gnu.org>
References: <20250428155358.16333@localhost>
X-Gnu-PR-Message: ack 78113
X-Gnu-PR-Package: emacs
Reply-To: 78113 <at> debbugs.gnu.org
Date: Mon, 28 Apr 2025 13:05:05 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-gnu-emacs@HIDDEN

If you wish to submit further information on this problem, please
send it to 78113 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
78113: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D78113
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#78113: make F-keys work in perform-replace when running Emacs in terminal
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 03 May 2025 09:07:02 +0000
Resent-Message-ID: <handler.78113.B78113.174626316427735 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 78113
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Toomas Rosin <toomas@HIDDEN>, Stefan Monnier <monnier@HIDDEN>, Juri Linkov <juri@HIDDEN>
Cc: 78113 <at> debbugs.gnu.org
Received: via spool by 78113-submit <at> debbugs.gnu.org id=B78113.174626316427735
          (code B ref 78113); Sat, 03 May 2025 09:07:02 +0000
Received: (at 78113) by debbugs.gnu.org; 3 May 2025 09:06:04 +0000
Received: from localhost ([127.0.0.1]:38186 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uB8ot-0007DG-Ty
	for submit <at> debbugs.gnu.org; Sat, 03 May 2025 05:06:04 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:39942)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1uB8or-0007Cl-5C
 for 78113 <at> debbugs.gnu.org; Sat, 03 May 2025 05:06:01 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1uB8oj-00069E-Fa; Sat, 03 May 2025 05:05:53 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=Wd5AMTmmYxGWH5d6kLGxCnUWfxzV52KurwCoKaANXT4=; b=dteLZoTEdBm9
 /GLJ+jasx2vf49i+jB20yj3Vb4KHWHe2AuSm2Zh6O8CkLfvuP4jtQJKhR1Yd1QKguGXK3Budp+lXj
 3rvoVxWFt7c6kzPKm9o/0bdEvbZ7NAJBUUB1+5mAAeC4HwvZXDad61yhm/R0kQJ6H69G7OWiXjwiy
 Ne+bcf8v+oMYEtZs2nHiBtA9hUyM3CBB5PW4uEjwddXsh48Zmee0C0kJ38WeGKqQhxPrVJ9KEShso
 JIu61iyu0ES+SxHE9K9ljEEdbeFZnO77q/qctbyML0fU5Ot6wF8O7glLAQGTler4/QqntPjADu8gS
 y0OuH62dZB6+b8hb4QNwnQ==;
Date: Sat, 03 May 2025 12:05:50 +0300
Message-Id: <86o6wajc7l.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <20250428155358.16333@localhost> (message from Toomas Rosin on
 Mon, 28 Apr 2025 15:53:58 +0300)
References: <20250428155358.16333@localhost>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Toomas Rosin <toomas@HIDDEN>
> Date: Mon, 28 Apr 2025 15:53:58 +0300
> 
> Hi,
> 
> I have found it very convenient to run replace commands (query-replace and friends) with F11 mapped to #'skip and F12 to #'act in query-replace-map.  But because perform-replace reads commands via read-event, this does not work in terminal.  (Pressing F11 or F12 does nothing and terminates the search.)  I have modified replace.el to use read-key-sequence instead of read-event, and now my setup seems to work flawlessly in terminal too:
> 
> --- replace.el.orig
> +++ replace.el
> @@ -2895,7 +2895,8 @@
>                               "%s with %s: "
>                               (substitute-command-keys
>                                "(\\<query-replace-map>\\[help] for help) "))
> -                     minibuffer-prompt-properties))))
> +                     minibuffer-prompt-properties)))
> +	 (last-input-key-sequence []))
> 
>      ;; Unless a single contiguous chunk is selected, operate on multiple chunks.
>      (when region-noncontiguous-p
> @@ -2916,7 +2917,7 @@
> 
>      ;; If last typed key in previous call of multi-buffer perform-replace
>      ;; was `automatic-all', don't ask more questions in next files
> -    (when (eq (lookup-key map (vector last-input-event) t) 'automatic-all)
> +    (when (eq (lookup-key map last-input-key-sequence t) 'automatic-all)
>        (setq query-flag nil multi-buffer t))
> 
>      (cond
> @@ -3092,14 +3093,14 @@
>  			       (match-substitute-replacement next-replacement
>  							     nocasify literal))
>  			   next-replacement)))
> -		    (message message
> -                             (query-replace-descr from-string)
> -                             (query-replace-descr replacement-presentation)))
> -		  (setq key (read-event))
> +		    (setq key (read-key-sequence
> +			       (format message
> +				       (query-replace-descr from-string)
> +				       (query-replace-descr replacement-presentation))))
> +		    (setq last-input-key-sequence key))
>  		  ;; Necessary in case something happens during
>  		  ;; read-event that clobbers the match data.
>  		  (set-match-data real-match-data)
> -		  (setq key (vector key))
>  		  (setq def (lookup-key map key t))
>  		  ;; Restore the match data while we process the command.
>  		  (cond ((eq def 'help)
> 
> Best regards,
> T.

Stefan and Juri, any comments?

As usual, when replacing one input function by another, there be
dragons.  So if there's a safer way of fixing this, which would not
affect every other use case with replace commands, I'd prefer that.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#78113: make F-keys work in perform-replace when running Emacs in terminal
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 03 May 2025 14:31:01 +0000
Resent-Message-ID: <handler.78113.B78113.17462826549156 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 78113
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: Toomas Rosin <toomas@HIDDEN>, 78113 <at> debbugs.gnu.org, Juri Linkov <juri@HIDDEN>
Received: via spool by 78113-submit <at> debbugs.gnu.org id=B78113.17462826549156
          (code B ref 78113); Sat, 03 May 2025 14:31:01 +0000
Received: (at 78113) by debbugs.gnu.org; 3 May 2025 14:30:54 +0000
Received: from localhost ([127.0.0.1]:42066 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uBDtG-0002Nb-1I
	for submit <at> debbugs.gnu.org; Sat, 03 May 2025 10:30:54 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:62788)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <monnier@HIDDEN>)
 id 1uBDtD-0002NJ-N8
 for 78113 <at> debbugs.gnu.org; Sat, 03 May 2025 10:30:52 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 05E7380964;
 Sat,  3 May 2025 10:30:46 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1746282645;
 bh=Yf9p9ohJG+q4u0ve2Abw8Ya65q+lPS9V9uFbObhgcfc=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=TLjGv99EYvhKMOHALYP3ZOzW2NZTrxbsA6rIdkqMcuywHSRZ60MBzT0kwu5qWAj7n
 sHgUwFerzEB6t9kXDQZYxaVdmovSZ0ZsoT1mWNB1lxCiIdUf7onw8QErkru/pkCyFx
 N46Bpnjt5/RoUP3PE5MNYfPWTsfFDV3zVzDFPaC6EJhybTWDs+z3hk9zR2Qw9wPsEn
 Z7ZLKxTDiHk1jnRF4g18WPDIIZ0lPuA+Xm5GzcrXMzPGtx+UZuVIXYhkwBsxycQlu1
 M+Vyxok4L+kZIwaB8Vsr4ZT5qurBNJyIYqJ7p4aMyZCXWCN7T0GLcfGHiFCVSJ6T23
 4qgYo7qka30+A==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id F3FA3807B7;
 Sat,  3 May 2025 10:30:44 -0400 (EDT)
Received: from pastel (104-195-232-56.cpe.teksavvy.com [104.195.232.56])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 7D9D7120192;
 Sat,  3 May 2025 10:30:44 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <86o6wajc7l.fsf@HIDDEN>
Message-ID: <jwvo6w93hmj.fsf-monnier+emacs@HIDDEN>
References: <20250428155358.16333@localhost> <86o6wajc7l.fsf@HIDDEN>
Date: Sat, 03 May 2025 10:30:43 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.058 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>> @@ -3092,14 +3093,14 @@
>>  			       (match-substitute-replacement next-replacement
>>  							     nocasify literal))
>>  			   next-replacement)))
>> -		    (message message
>> -                             (query-replace-descr from-string)
>> -                             (query-replace-descr replacement-presentation)))
>> -		  (setq key (read-event))
>> +		    (setq key (read-key-sequence
>> +			       (format message
>> +				       (query-replace-descr from-string)
>> +				       (query-replace-descr replacement-presentation))))
>> +		    (setq last-input-key-sequence key))

> Stefan and Juri, any comments?

I generally like the direction this is going.

> As usual, when replacing one input function by another, there be
> dragons.  So if there's a safer way of fixing this, which would not
> affect every other use case with replace commands, I'd prefer that.

Using `read-key` instead of `read-key-sequence` should also allow the
use of F-keys (and arrow keys, ...) but would minimize the differences
with `read-event` (since `read-key` is exactly that: a wrapper around
`read-key-sequence` which tries to minimize the differences with
`read-event`).


        Stefan


@@ -3091,18 +3091,18 @@ perform-replace
                             next-replacement nocasify literal))))
 		  ;; Bind message-log-max so we don't fill up the
 		  ;; message log with a bunch of identical messages.
-		  (let ((message-log-max nil)
-			(replacement-presentation
-			 (if query-replace-show-replacement
-			     (save-match-data
-			       (set-match-data real-match-data)
-			       (match-substitute-replacement next-replacement
-							     nocasify literal))
-			   next-replacement)))
-		    (message message
-                             (query-replace-descr from-string)
-                             (query-replace-descr replacement-presentation)))
-		  (setq key (read-event))
+		  (let* ((replacement-presentation
+			  (if query-replace-show-replacement
+			      (save-match-data
+			        (set-match-data real-match-data)
+			        (match-substitute-replacement next-replacement
+							      nocasify literal))
+			    next-replacement))
+			 (prompt
+			  (format message
+                                  (query-replace-descr from-string)
+                                  (query-replace-descr replacement-presentation))))
+		    (setq key (read-key prompt)))
 		  ;; Necessary in case something happens during
 		  ;; read-event that clobbers the match data.
 		  (set-match-data real-match-data)





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#78113: make F-keys work in perform-replace when running Emacs in terminal
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 17 May 2025 08:13:03 +0000
Resent-Message-ID: <handler.78113.B78113.174746956316902 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 78113
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Stefan Monnier <monnier@HIDDEN>
Cc: toomas@HIDDEN, 78113 <at> debbugs.gnu.org, juri@HIDDEN
Received: via spool by 78113-submit <at> debbugs.gnu.org id=B78113.174746956316902
          (code B ref 78113); Sat, 17 May 2025 08:13:03 +0000
Received: (at 78113) by debbugs.gnu.org; 17 May 2025 08:12:43 +0000
Received: from localhost ([127.0.0.1]:45213 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uGCew-0004OX-Rx
	for submit <at> debbugs.gnu.org; Sat, 17 May 2025 04:12:43 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:48356)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1uGCeu-0004O9-FU
 for 78113 <at> debbugs.gnu.org; Sat, 17 May 2025 04:12:41 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1uGCen-0007hl-MM; Sat, 17 May 2025 04:12:33 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=hej+U31yxAw15zkNtzA0yXov7V11EsT3bhz7D34i/18=; b=Qb3F+xt8lttp
 9FxrRGGtMc8clcVsCYd3PpNp40lFjDrIKRvsXj9XeYwntv74KrMg+nVzS4wcWk7hZuT7u35TkLUlF
 Y8qAqbtc0INeI32UVFenazvoZVsw2UhCijaMD4b32uDY/Rxw62Vv7FLPy2WO1QYuAa4LMeG505Yup
 srTIXb+jawysj6GlPUxBwfzRiW20vsKqomcv4kiGB4pAwWlgwAxgrxAlQQjtmachOfukdqEHULN+M
 UcJy8OqdQ6LVhwD6oDhqjoTW9T4AgIIr263f+cH4lTDrpuDhGLlJ8POQelwimcsms8Wx1lTIT/Sq4
 jlFQGj30oOcI8EGPl+ybww==;
Date: Sat, 17 May 2025 11:12:31 +0300
Message-Id: <86ldqvwt8w.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <jwvo6w93hmj.fsf-monnier+emacs@HIDDEN> (message from Stefan
 Monnier on Sat, 03 May 2025 10:30:43 -0400)
References: <20250428155358.16333@localhost> <86o6wajc7l.fsf@HIDDEN>
 <jwvo6w93hmj.fsf-monnier+emacs@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Ping!  How should we proceed with this issue?

> From: Stefan Monnier <monnier@HIDDEN>
> Cc: Toomas Rosin <toomas@HIDDEN>,  Juri Linkov <juri@HIDDEN>,
>   78113 <at> debbugs.gnu.org
> Date: Sat, 03 May 2025 10:30:43 -0400
> 
> >> @@ -3092,14 +3093,14 @@
> >>  			       (match-substitute-replacement next-replacement
> >>  							     nocasify literal))
> >>  			   next-replacement)))
> >> -		    (message message
> >> -                             (query-replace-descr from-string)
> >> -                             (query-replace-descr replacement-presentation)))
> >> -		  (setq key (read-event))
> >> +		    (setq key (read-key-sequence
> >> +			       (format message
> >> +				       (query-replace-descr from-string)
> >> +				       (query-replace-descr replacement-presentation))))
> >> +		    (setq last-input-key-sequence key))
> 
> > Stefan and Juri, any comments?
> 
> I generally like the direction this is going.
> 
> > As usual, when replacing one input function by another, there be
> > dragons.  So if there's a safer way of fixing this, which would not
> > affect every other use case with replace commands, I'd prefer that.
> 
> Using `read-key` instead of `read-key-sequence` should also allow the
> use of F-keys (and arrow keys, ...) but would minimize the differences
> with `read-event` (since `read-key` is exactly that: a wrapper around
> `read-key-sequence` which tries to minimize the differences with
> `read-event`).
> 
> 
>         Stefan
> 
> 
> @@ -3091,18 +3091,18 @@ perform-replace
>                              next-replacement nocasify literal))))
>  		  ;; Bind message-log-max so we don't fill up the
>  		  ;; message log with a bunch of identical messages.
> -		  (let ((message-log-max nil)
> -			(replacement-presentation
> -			 (if query-replace-show-replacement
> -			     (save-match-data
> -			       (set-match-data real-match-data)
> -			       (match-substitute-replacement next-replacement
> -							     nocasify literal))
> -			   next-replacement)))
> -		    (message message
> -                             (query-replace-descr from-string)
> -                             (query-replace-descr replacement-presentation)))
> -		  (setq key (read-event))
> +		  (let* ((replacement-presentation
> +			  (if query-replace-show-replacement
> +			      (save-match-data
> +			        (set-match-data real-match-data)
> +			        (match-substitute-replacement next-replacement
> +							      nocasify literal))
> +			    next-replacement))
> +			 (prompt
> +			  (format message
> +                                  (query-replace-descr from-string)
> +                                  (query-replace-descr replacement-presentation))))
> +		    (setq key (read-key prompt)))
>  		  ;; Necessary in case something happens during
>  		  ;; read-event that clobbers the match data.
>  		  (set-match-data real-match-data)
> 
> 





Last modified: Sat, 17 May 2025 08:15:01 UTC

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