Received: (at 79811) by debbugs.gnu.org; 25 Nov 2025 20:31:21 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 25 15:31:20 2025 Received: from localhost ([127.0.0.1]:42289 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vNzh0-0004V6-QU for submit <at> debbugs.gnu.org; Tue, 25 Nov 2025 15:31:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46138) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vMkaI-0003JL-TW for 79811 <at> debbugs.gnu.org; Sat, 22 Nov 2025 05:11:15 -0500 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 1vMkZz-0002DZ-7q; Sat, 22 Nov 2025 05:10:55 -0500 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=tybsYBDzcr+ihT7QCVPiV07soMtfhXfnxgni1O/UmfE=; b=cS9DMuh1BQgf 7DKMbFvi4zkym5GZmyeapHQJxgAWKhOpITVTJbUhNoJ+XSmd4HULxosDqjGvpngK4sbZvuNBZVuRv lHzwNLRKx89n8OIRZkN2QOkFt5B6t/NBhwckXiTwn4WEwGZxLeXBBNFCKFIybnRH+jB2lTMgujXvM acX4Tgb3mmyGfEhvvZqNri/wGAOjA+qzLrqxO6GUA3Zdeq5iMQCS/EHpUt78udqPTjM/rv/srLmNR wmLYsf6o5fAmSKAs2AFx9QCTp7ONhRJvMxTOwg/oCJeyaP7foTLnyaby2QuvsYZK/zBz0cqUOAY9a jfOURXWaYmYo8g6s1sUIVA==; Date: Sat, 22 Nov 2025 12:10:43 +0200 Message-Id: <86ms4efkd8.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: "Miguel V. S. Frasson" <mvsfrasson@HIDDEN>, Juri Linkov <juri@HIDDEN> In-Reply-To: <CAARdmY1BLnvucbVxU=4Rh0T8Rd=V3zdkGCjek=KnuxPFrP3eUw@HIDDEN> (mvsfrasson@HIDDEN) Subject: Re: bug#79811: 29.3; query-replace-regexp with \, and ^ (previous match) uses wrong match References: <CAARdmY3Ecyt9ax6nooF_2H7T+OeapnyCmdcTaffOoAobc1GVFA@HIDDEN> <handler.79811.B.176282349511587.ack <at> debbugs.gnu.org> <CAARdmY1BLnvucbVxU=4Rh0T8Rd=V3zdkGCjek=KnuxPFrP3eUw@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79811 Cc: 79811 <at> debbugs.gnu.org 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: "Miguel V. S. Frasson" <mvsfrasson@HIDDEN> > Date: Thu, 13 Nov 2025 09:54:22 -0300 > > Further information: > > I couldn't reproduce the bug when replacement string doesn't contain "\," > > For instance, the query-replace-regexp > > C-m-% \([aeiou]\) RET \,\1 RET > > reproduces the bug, but > > C-m-% \([aeiou]\) RET \1 RET > > doesn't reproduce the bug (because there is no bug without \,). > > Work around: to avoid the bug, after ^, quit replace, move point > before match and start replace again. Thanks. Juri, could you please look into this?
bug-gnu-emacs@HIDDEN:bug#79811; Package emacs.
Full text available.Juri Linkov <juri@HIDDEN>
to control <at> debbugs.gnu.org.
Full text available.Received: (at 79811) by debbugs.gnu.org; 25 Nov 2025 20:27:38 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 25 15:27:38 2025 Received: from localhost ([127.0.0.1]:42102 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vNzdS-0001qe-Aj for submit <at> debbugs.gnu.org; Tue, 25 Nov 2025 15:27:38 -0500 Received: from mout-p-102.mailbox.org ([2001:67c:2050:0:465::102]:56308) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1vNb6k-0005sM-Tl; Mon, 24 Nov 2025 13:16:17 -0500 Received: from smtp202.mailbox.org (smtp202.mailbox.org [IPv6:2001:67c:2050:b231:465::202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4dFYsw447mz9t3b; Mon, 24 Nov 2025 19:16:04 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001; t=1764008164; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Yns5vQTojXEzgZypSxcCvWLANLDEX0aumthiS6rYRD4=; b=A35+Tm8L8uKOEFwVBrw3F3BJFASJmn1J+aiPXkN3dPIcNOjOk7RnodQY1KpjWCKAcPtKpt QK5/v63kz7s+GT6FN7MLecqWNleihprxKFP08aey7aLaRIWWm3FDmz7iLE9uHQh9SN45UU pIrWOxWVyfg0uRvXKam2nvskuPXfQomnH2Kkgwwaj7bggv7UXawtEWeYB98NXwh0u5EK3h cxk3QZvznZvHU2SYu5bNcBjPiuMTWjP9kAtOhhpsJ9RX6XMeAuub/S0zjA2oYXewV/Asdt yuR8S4WgY5RBYCv1dMVWTkt5WE3EWWhKXfH0ABgEAyXUmYeeXnIjsF2+IhN4Kg== Authentication-Results: outgoing_mbo_mout; dkim=none; spf=pass (outgoing_mbo_mout: domain of juri@HIDDEN designates 2001:67c:2050:b231:465::202 as permitted sender) smtp.mailfrom=juri@HIDDEN From: Juri Linkov <juri@HIDDEN> To: "Miguel V. S. Frasson" <mvsfrasson@HIDDEN> Subject: Re: bug#79811: 29.3; query-replace-regexp with \, and ^ (previous match) uses wrong match In-Reply-To: <CAARdmY3Ecyt9ax6nooF_2H7T+OeapnyCmdcTaffOoAobc1GVFA@HIDDEN> Organization: LINKOV.NET References: <CAARdmY3Ecyt9ax6nooF_2H7T+OeapnyCmdcTaffOoAobc1GVFA@HIDDEN> Date: Mon, 24 Nov 2025 20:15:13 +0200 Message-ID: <87wm3fpaa6.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Rspamd-Queue-Id: 4dFYsw447mz9t3b X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 79811 Cc: 79811 <at> debbugs.gnu.org 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: -1.0 (-) close 79811 31.0.50 thanks > When running interactively query-replace-regexp using \, in match string > to eval some lisp code on replacement, if one invokes previous match > with `^' followed by `y' (replace match), the replacement is done with > next match :-( Thanks for the bug report, it's fixed now.
bug-gnu-emacs@HIDDEN:bug#79811; Package emacs.
Full text available.
Received: (at 79811) by debbugs.gnu.org; 25 Nov 2025 20:22:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 25 15:22:52 2025
Received: from localhost ([127.0.0.1]:41934 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vNzYm-0001CK-Rl
for submit <at> debbugs.gnu.org; Tue, 25 Nov 2025 15:22:51 -0500
Received: from mout-p-201.mailbox.org ([2001:67c:2050:0:465::201]:36260)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1vNDe6-0002KR-Vu
for 79811 <at> debbugs.gnu.org; Sun, 23 Nov 2025 12:13:07 -0500
Received: from smtp102.mailbox.org (smtp102.mailbox.org [10.196.197.102])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by mout-p-201.mailbox.org (Postfix) with ESMTPS id 4dDwWY1L4vz9tVV;
Sun, 23 Nov 2025 18:12:57 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001;
t=1763917977;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=fMZxPfde0nP+u9GtlalDPDPqh2Gs8m32Sm5lkkiDrwE=;
b=V4eT/Bklf/3hwG88fvaMXH1MNz5USsIJtHlSTt4OQ6R5IC6Bm77mbkxN4vTHuxIu6BV8eU
ikJXOnyF1QMnIz7XXPkZqmyNMKx6zG/2xR/rMwB59L4XYqWw9lRjb1UYUuWTGxKG6BDy8B
Vm9s04X8rXkcOH/8IVviJ1srLMxTNbYAVLJSbowO3FS53G/PvRpMHsYdBiq15A94xhsf/g
3cjKL4BtHi6fK7lAMMQ6xCmpFONiyGJXKrncnNu/yoALX/nVDHw4Cz1yzZu69cjne3BC9K
2d0jOZWq0LP/m3T23C8F3pYFlJENdfDsiykx+Yz3CteJvAQP6IW7o091YaKWbA==
From: Juri Linkov <juri@HIDDEN>
To: "Miguel V. S. Frasson" <mvsfrasson@HIDDEN>
Subject: Re: bug#79811: 29.3; query-replace-regexp with \, and ^ (previous
match) uses wrong match
In-Reply-To: <CAARdmY3Ecyt9ax6nooF_2H7T+OeapnyCmdcTaffOoAobc1GVFA@HIDDEN>
Organization: LINKOV.NET
References: <CAARdmY3Ecyt9ax6nooF_2H7T+OeapnyCmdcTaffOoAobc1GVFA@HIDDEN>
Date: Sun, 23 Nov 2025 19:10:35 +0200
Message-ID: <877bvgn30k.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79811
Cc: 79811 <at> debbugs.gnu.org
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: -1.7 (-)
> I couldn't reproduce the bug when replacement string doesn't contain "\,"
>
> For instance, the query-replace-regexp
>
> C-m-% \([aeiou]\) RET \,\1 RET
>
> reproduces the bug, but
>
> C-m-% \([aeiou]\) RET \1 RET
>
> doesn't reproduce the bug (because there is no bug without \,).
>
> Work around: to avoid the bug, after ^, quit replace, move point
> before match and start replace again.
I see that '^' is completely broken and never worked correctly
even when the replacement string doesn't contain '\,'.
It ignores and skips the adjacent matches.
This is demonstrated by this test:
diff --git a/test/lisp/replace-tests.el b/test/lisp/replace-tests.el
index d8f2060c5f1..f8d2422b6e5 100644
--- a/test/lisp/replace-tests.el
+++ b/test/lisp/replace-tests.el
@@ -437,6 +437,9 @@ query-replace-tests
("abab" "C-M-% b* RET 1 RET !" "1a1a1")
;; Test case from commit 5632eb272c7
("a a a " "C-M-% \\ba SPC RET c RET !" "ccc") ; not "ca c"
+ ("abc" "C-M-% \\([abc]\\) RET [\\1] RET y n ^ y y" "[a][b]yc") ;; should be "[a][b][c]"
+ ("abc" "C-M-% \\([abc]\\) RET [\\,\\1] RET y n ^ y y" "[a][c]yc") ;; should be "[a][b][c]"
))
bug-gnu-emacs@HIDDEN:bug#79811; Package emacs.
Full text available.Received: (at 79811) by debbugs.gnu.org; 25 Nov 2025 20:22:49 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 25 15:22:48 2025 Received: from localhost ([127.0.0.1]:41932 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vNzYk-0001Bd-CG for submit <at> debbugs.gnu.org; Tue, 25 Nov 2025 15:22:48 -0500 Received: from mout-p-102.mailbox.org ([80.241.56.152]:57410) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1vNDe3-0002KM-57 for 79811 <at> debbugs.gnu.org; Sun, 23 Nov 2025 12:13:03 -0500 Received: from smtp102.mailbox.org (smtp102.mailbox.org [10.196.197.102]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4dDwWV35Nrz9smr; Sun, 23 Nov 2025 18:12:54 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001; t=1763917974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=P5Y2WX0xdUsSvjO8bekcl8/fjo2oPpuPBh3mfdtqSUY=; b=vp4JMDTic4kMJdAG0dkjyh+Xo3SB6Ieqh6axn71uU0cOSMtuGp0G/EXzMMW5wbPP4fNTf3 CWnpaX9ghoQcE00us2mEc/lbFM5Ddb+mC2qAdTu2a4cszl3ipB0PdCD1VcO4wU7onTMvhP IWCnyE+iJkHfJw7Cav/8KiQ9Ox21lE2Q4HVx22iD07xIT6F7XJK5yhUhSZyok7qSH0xdxm Nn3BBS+oQ/VVsFxZIXPwIkN3Tzi+bgBHeiAqDvWTVIpcJqug0+0kd4y0WqhTqMoSK3h4eI 8wEOqWTGqVtcNuxQeowNM0QitNEaqHI2HiKXT5Gy4lPOaSquqRRACMfcuEjwDw== From: Juri Linkov <juri@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#79811: 29.3; query-replace-regexp with \, and ^ (previous match) uses wrong match In-Reply-To: <86qztpdvzi.fsf@HIDDEN> Organization: LINKOV.NET References: <CAARdmY3Ecyt9ax6nooF_2H7T+OeapnyCmdcTaffOoAobc1GVFA@HIDDEN> <handler.79811.B.176282349511587.ack <at> debbugs.gnu.org> <CAARdmY1BLnvucbVxU=4Rh0T8Rd=V3zdkGCjek=KnuxPFrP3eUw@HIDDEN> <86ms4efkd8.fsf@HIDDEN> <875xb1qkh7.fsf@HIDDEN> <86qztpdvzi.fsf@HIDDEN> Date: Sun, 23 Nov 2025 19:05:30 +0200 Message-ID: <87fra4oia5.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 79811 Cc: 79811 <at> debbugs.gnu.org, mvsfrasson@HIDDEN 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: -1.7 (-) >> BTW, such tests will also help later to migrate query-replace >> from 'read-key' to the minibuffer char-reading functions >> that will simplify query-replace interactions and will obsolete >> such keys as 'C-r' that enters recursive edit, etc. > > Thanks, sounds like a good plan. Patches welcome. I tried to replace 'read-key' with the minibuffer-reading functions, but this never will be possible because for backward-compatibility any key that is not in 'query-replace-map' should exit query-replace (like Isearch is exited by any other char). For example, 'C-x o' can't be used to switch from the minibuffer, because it should exit query-replace before switching to other window.
bug-gnu-emacs@HIDDEN:bug#79811; Package emacs.
Full text available.
Received: (at 79811) by debbugs.gnu.org; 25 Nov 2025 20:22:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 25 15:22:17 2025
Received: from localhost ([127.0.0.1]:41880 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vNzYH-00013y-22
for submit <at> debbugs.gnu.org; Tue, 25 Nov 2025 15:22:17 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:33220)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vN4wQ-0005Tn-5t
for 79811 <at> debbugs.gnu.org; Sun, 23 Nov 2025 02:55:27 -0500
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 1vN4w6-0000Ha-Pd; Sun, 23 Nov 2025 02:55:06 -0500
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=kOtSoCsNnIeKa1i3RyQviIvo7FbnrimGx2dDWbafwYg=; b=Sm0WccgSqc35
y4eQyds8Y1do8/DHdgtaMXj/gumPBnFn4+xvVHQEA18LRPpXGzuj1MpoqjG6Ab5ZoEhOHteC2i57B
zmzgrUGrdYWNAMtEJyfViaYz1mgUJgphy/kXBokIYO0F6A1GpeyHka+hvjuVEdkA8a5/IFEUj8wNI
cu+DL72nornHzTQdcbinEfviD3wgIxU+NI71BB0dfUr8Y6OnFQ/WT1KK1XLP1+uWGA5340ep4Lloh
v3Y7V+jcXbmClLH1A587Inmb/kMqdjXC7pZmLCNzO2QczA58R93+9HHnTxgHQGT58Q2fPkEHvdZ/A
TbTIb1cbF3xAAfl0OR6hcw==;
Date: Sun, 23 Nov 2025 09:54:57 +0200
Message-Id: <86qztpdvzi.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-Reply-To: <875xb1qkh7.fsf@HIDDEN> (message from Juri Linkov on
Sun, 23 Nov 2025 09:25:08 +0200)
Subject: Re: bug#79811: 29.3; query-replace-regexp with \, and ^ (previous
match) uses wrong match
References: <CAARdmY3Ecyt9ax6nooF_2H7T+OeapnyCmdcTaffOoAobc1GVFA@HIDDEN>
<handler.79811.B.176282349511587.ack <at> debbugs.gnu.org>
<CAARdmY1BLnvucbVxU=4Rh0T8Rd=V3zdkGCjek=KnuxPFrP3eUw@HIDDEN>
<86ms4efkd8.fsf@HIDDEN> <875xb1qkh7.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 79811
Cc: 79811 <at> debbugs.gnu.org, mvsfrasson@HIDDEN
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: Juri Linkov <juri@HIDDEN>
> Cc: "Miguel V. S. Frasson" <mvsfrasson@HIDDEN>, 79811 <at> debbugs.gnu.org
> Date: Sun, 23 Nov 2025 09:25:08 +0200
>
> >> Work around: to avoid the bug, after ^, quit replace, move point
> >> before match and start replace again.
> >
> > Thanks.
> >
> > Juri, could you please look into this?
>
> I see there is the following comment about '^' ('backup'):
>
> ;; Record previous position for ^ when we move on.
> ;; Change markers to numbers in the match data
> ;; since lots of markers slow down editing.
>
> I guess this doesn't play well with next called only for the current match:
>
> ;; Calculate the replacement string, if necessary.
> (when replacements
> (set-match-data real-match-data)
> (setq next-replacement
> (funcall (car replacements) (cdr replacements)
> replace-count)))
>
> Trying to change this complex logic will surely break other cases.
>
> So first we need to write more tests covering all possible cases,
> including query-replace-regexp with \, and ^.
>
> BTW, such tests will also help later to migrate query-replace
> from 'read-key' to the minibuffer char-reading functions
> that will simplify query-replace interactions and will obsolete
> such keys as 'C-r' that enters recursive edit, etc.
Thanks, sounds like a good plan. Patches welcome.
bug-gnu-emacs@HIDDEN:bug#79811; Package emacs.
Full text available.
Received: (at 79811) by debbugs.gnu.org; 25 Nov 2025 20:22:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 25 15:22:15 2025
Received: from localhost ([127.0.0.1]:41868 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vNzYE-00012v-9s
for submit <at> debbugs.gnu.org; Tue, 25 Nov 2025 15:22:15 -0500
Received: from mout-p-101.mailbox.org ([2001:67c:2050:0:465::101]:54618)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1vN4oC-00051h-1X
for 79811 <at> debbugs.gnu.org; Sun, 23 Nov 2025 02:46:57 -0500
Received: from smtp102.mailbox.org (smtp102.mailbox.org [10.196.197.102])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4dDgyD07Qmz9stT;
Sun, 23 Nov 2025 08:46:44 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001;
t=1763884004;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=HJrsNjI/Wmdt4x2N4wh5BfHkBJUubpm1zKHvYsF9SQo=;
b=0xLtTjJs1nDpbIFPV1QOWQWrHGFk0csU4mRiz535wRVdvSuujhNKzVedst6vZIjfnMn5W/
RV26U0deqHR/zhe+Z5BEpQt4mHDx5lK+Ikm0TLCmdZ15KoGRKQUoi4Gvk+NAxIxQvrlD+l
AS5TL5//2IS+xd99o0HlRmvJKZ31iEiynws49eD49+CClJDDdEY5Y6SB2zYYyOFTg9hsCM
QjmtvtQyW2ISAuxDXi63Th4LkWD/UQdMNfAPjZ9ltqxeluoJ3q6WjHvNaDDTlGH9Ea5sob
VSMWOsfntgYEy08x3OaAcQLbCThkmncRb/2Amj80PwXw5MNPIb85vd7S49Ml9Q==
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#79811: 29.3; query-replace-regexp with \, and ^ (previous
match) uses wrong match
In-Reply-To: <86ms4efkd8.fsf@HIDDEN>
Organization: LINKOV.NET
References: <CAARdmY3Ecyt9ax6nooF_2H7T+OeapnyCmdcTaffOoAobc1GVFA@HIDDEN>
<handler.79811.B.176282349511587.ack <at> debbugs.gnu.org>
<CAARdmY1BLnvucbVxU=4Rh0T8Rd=V3zdkGCjek=KnuxPFrP3eUw@HIDDEN>
<86ms4efkd8.fsf@HIDDEN>
Date: Sun, 23 Nov 2025 09:25:08 +0200
Message-ID: <875xb1qkh7.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79811
Cc: 79811 <at> debbugs.gnu.org, "Miguel V. S. Frasson" <mvsfrasson@HIDDEN>
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: -1.7 (-)
>> Work around: to avoid the bug, after ^, quit replace, move point
>> before match and start replace again.
>
> Thanks.
>
> Juri, could you please look into this?
I see there is the following comment about '^' ('backup'):
;; Record previous position for ^ when we move on.
;; Change markers to numbers in the match data
;; since lots of markers slow down editing.
I guess this doesn't play well with next called only for the current match:
;; Calculate the replacement string, if necessary.
(when replacements
(set-match-data real-match-data)
(setq next-replacement
(funcall (car replacements) (cdr replacements)
replace-count)))
Trying to change this complex logic will surely break other cases.
So first we need to write more tests covering all possible cases,
including query-replace-regexp with \, and ^.
BTW, such tests will also help later to migrate query-replace
from 'read-key' to the minibuffer char-reading functions
that will simplify query-replace interactions and will obsolete
such keys as 'C-r' that enters recursive edit, etc.
bug-gnu-emacs@HIDDEN:bug#79811; Package emacs.
Full text available.Received: (at 79811) by debbugs.gnu.org; 13 Nov 2025 12:54:59 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 13 07:54:58 2025 Received: from localhost ([127.0.0.1]:54715 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vJWqo-0001t8-Jh for submit <at> debbugs.gnu.org; Thu, 13 Nov 2025 07:54:58 -0500 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:52326) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <mvsfrasson@HIDDEN>) id 1vJWql-0001sy-G5 for 79811 <at> debbugs.gnu.org; Thu, 13 Nov 2025 07:54:56 -0500 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-429c4c65485so693387f8f.0 for <79811 <at> debbugs.gnu.org>; Thu, 13 Nov 2025 04:54:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763038489; x=1763643289; darn=debbugs.gnu.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=TE9NWPs+4GyMzpgaiWqrMkrjWTnqdNESaScPjD6EY/Y=; b=EHHOlILh2azTyghH/JY0ZzR/kjz0Mmt80tHDTyx8V3XfOs+U9N4L807RruQ9i/0Yht q5rcjS6GJNAel/OUn2GcQIkXIbd9Q1upI1YCEaoNvW3P8wxPhVQHdDAftPEbE4Ol/gpO TZyaFHq8jnzGckzcnQa2tFBbrnKp7mVor0JF9V4K556Mpdh1EtvETDUCGsytPX/aSzLK eyT4l9C1/nhXND+ovGS4pmLXeokqKi0ULrAk4lgBimche4c+Fgh6sJO3KINkHTdBCM5L 2seO9Zgck/A7debVPkw366+9PNv9Lg8ZWNT/RcME66LbEmbx6soQcyymN72xsUsKnosA R1xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763038489; x=1763643289; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=TE9NWPs+4GyMzpgaiWqrMkrjWTnqdNESaScPjD6EY/Y=; b=e2TrpHyQ+W69iVNGuXGqgoJMT4ueC5kAOX3QYCsGX2ms1xHHGsuE02BiH5bVU1sF15 wBDhUttcI6Z/E+D0Mh1DNttXXEaYpQgqkUVV34E+EcaJYIWPP1RnwM0U69By2xOFcmwK n5VLFqdDlaeCnsMdhTZRAtrZNKAfv2SLpse9xTkiWnmYh1MQvyXWDWl3Zgjm/ickpjx9 x/0KjxEq/amQgQci0wyUoyPizNEDhd8YhNYICST5Tci0FY6zBlgvlTEEJUhiYacykYht PwXd3HO1fW0fKbFZhGm8wdLs+FvjIKeMDowucTGlXPkS97gdGDP+Etxi+qwhqnEeoTMk RcjQ== X-Gm-Message-State: AOJu0YxdSs6FJGhFecAhTurSk09M7miRVNvbw248PV4wyPijNPpOVeP9 tlwlvC89OM7fsNoYe1AKoZuYF4uGfFqik0lzcQPEWRoUGGy+dW5g0V2lFBPQdC+Cikn3xyqIPSX yndW22BwQubezAu/ZjG426vAQAQmzL27ef9GD X-Gm-Gg: ASbGncszbya0ONPco4nEr00g454xcuDGe5fRSQyA3siBeCYE4AAZp4uWWUpn4/BOEou c8oF1yEqrWiq6MCW0KchTb7YqspwH0x2Hk/PMUp1wocwPxTL8JcnBVIA9bEbH/ta5J36dOpdlQL 9+FRlHjoQSzcHiYl2nzzGXFGV+b+FvlU9cVW15RVYAmdn0pAXfTDRu7KWvPFxfrXWgSBOewc0me JTaACXhH2eFfKao3B5eSaoS4sg6XplF6+LdZSwOgcAj9lzhF+mw2Ep6O4AQvzQK2gJ03OKrqZ8P LkILd5AOJ2TRVrDqr5I0x/RmZs0ijDxgQd8iHsk= X-Google-Smtp-Source: AGHT+IFC9zDYtEDOe8la/KpeHtsHCr1MuX+7muSGrf+xXxtTQ8Sxm8Foe0Ji4S2iGbLlaE0ENv/1HgV/1jZClYhKpsM= X-Received: by 2002:a05:6000:2c0f:b0:42b:2e39:6d58 with SMTP id ffacd0b85a97d-42b4bdb3809mr5883780f8f.51.1763038488735; Thu, 13 Nov 2025 04:54:48 -0800 (PST) MIME-Version: 1.0 References: <CAARdmY3Ecyt9ax6nooF_2H7T+OeapnyCmdcTaffOoAobc1GVFA@HIDDEN> <handler.79811.B.176282349511587.ack <at> debbugs.gnu.org> In-Reply-To: <handler.79811.B.176282349511587.ack <at> debbugs.gnu.org> From: "Miguel V. S. Frasson" <mvsfrasson@HIDDEN> Date: Thu, 13 Nov 2025 09:54:22 -0300 X-Gm-Features: AWmQ_bkgOQ6hpVzO5ZKtconzD2uPBWY5hdg5HIt3cbGsfcMD5HYhx7mnN1PnvDI Message-ID: <CAARdmY1BLnvucbVxU=4Rh0T8Rd=V3zdkGCjek=KnuxPFrP3eUw@HIDDEN> Subject: Re: bug#79811: Acknowledgement (29.3; query-replace-regexp with \, and ^ (previous match) uses wrong match) To: 79811 <at> debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79811 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: -1.0 (-) Further information: I couldn't reproduce the bug when replacement string doesn't contain "\," For instance, the query-replace-regexp C-m-% \([aeiou]\) RET \,\1 RET reproduces the bug, but C-m-% \([aeiou]\) RET \1 RET doesn't reproduce the bug (because there is no bug without \,). Work around: to avoid the bug, after ^, quit replace, move point before match and start replace again. Em seg., 10 de nov. de 2025 =C3=A0s 22:12, GNU bug Tracking System <help-debbugs@HIDDEN> escreveu: > > 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 79811 <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. > > -- > 79811: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D79811 > GNU Bug Tracking System > Contact help-debbugs@HIDDEN with problems --=20 Miguel Vinicius Santini Frasson mvsfrasson@HIDDEN
bug-gnu-emacs@HIDDEN:bug#79811; Package emacs.
Full text available.Received: (at submit) by debbugs.gnu.org; 11 Nov 2025 01:11:35 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Nov 10 20:11:35 2025 Received: from localhost ([127.0.0.1]:41395 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vIcv1-00030p-38 for submit <at> debbugs.gnu.org; Mon, 10 Nov 2025 20:11:35 -0500 Received: from lists.gnu.org ([2001:470:142::17]:57138) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <mvsfrasson@HIDDEN>) id 1vIcuw-00030j-Nx for submit <at> debbugs.gnu.org; Mon, 10 Nov 2025 20:11:32 -0500 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 <mvsfrasson@HIDDEN>) id 1vIcuq-0007Ek-JN for bug-gnu-emacs@HIDDEN; Mon, 10 Nov 2025 20:11:24 -0500 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <mvsfrasson@HIDDEN>) id 1vIcun-00049V-0K for bug-gnu-emacs@HIDDEN; Mon, 10 Nov 2025 20:11:24 -0500 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-42b32ff5d10so168897f8f.1 for <bug-gnu-emacs@HIDDEN>; Mon, 10 Nov 2025 17:11:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762823477; x=1763428277; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=cAn0C/VfBXWTZZlU0EVTsWvQdYyD4g34SuHyPDEeqEQ=; b=G8irN1131gn3NViJYhptL6oMxKJYgRvUy+ODku0TTNqmQTeWBsCC/UxvfJIaPZYHE/ tmzRIuTRucD3neo+YxU9wIPr8vJiJrUSDYpf9mpccu+u/mHiTBN16cu5gDeWZ4ZbrR+1 4mvkxgBLhZB1/UAeIo1ag5mBOInjsCaftEOa/D2PYfMM6fHocpqbtmFQ66GZsVWVPLRI 0Auy8a96T9aCV6pbvA2tmIQBq9oXvNv4ZgUK851lyuP7pw4nrsAV3uQYSfr2Zxmjx85l 71wPEAisWH7GmlcRWXFbRIHyIj2CqVR4wScHulLkazteo8YfPW1Lry6i8/bMqjyhzup+ BHLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762823477; x=1763428277; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=cAn0C/VfBXWTZZlU0EVTsWvQdYyD4g34SuHyPDEeqEQ=; b=c7NDBLrzbxuawdKSCX0tW0JjqIMpCFe7lKj94s/jLepzL+0JrO5DAaQdrTsVvrNPAw LCI6pKDMw7xhNJtrTws5pD9u5TaBQH07Zsar4NOQlWZgSDc3gWEATvl8fyfa+alM56Co CpLgAh7bs+Am8HF46HOvoKKDxS8YDHxqny9z3ax4do96Djo1igqsjD95ZRm5bGokjqHF cbvtPh8n5B1jAAEDJDvJlyvouqp4+12HeHi6K9IH03B/Z255mo2lSosHB2nknQK9KJM+ Rn46gG5o8GgHX7vJbWjcxES8IYUxmzh5Re7Yy0a11sknhaPaNUdehEJPlDdi5s5aIHqt RuOw== X-Gm-Message-State: AOJu0YxW8sUToEpOujDNuZwL+dXJYtVvK5WgpEQcnCuKDiRYORhMlgGO xeS6WH+dpPk6PV1ioMpD6k9dWSIpT+2ooa+rRd5rbOCMEwBGiOJo95qsypkhvexiZi1YUGoFBGt R2enEznYl9Rdd525pehL50j1gCpDSn99+lvqW X-Gm-Gg: ASbGncsgrhbWKneU5Y83kPCy9DOH3wvqTgdLTxJtPXHod1JSYY5g/1f+QWfuZmB/jil QKISOynu1IVTL8V2PaAiW8b03pG0a4i/vu5sqapR2jTXftxSneoV2KgRLhUdFDkedLxfEBpmcNk Z7a8ZgecYrDpLCdLiWnfnVfrIa6dX1HFmTz1qJaRbXPIBxJLFtRQUmRUANc55eUoOJLi2kU6XBQ 0sJyORGRoU6tPQDE684O14JygFDvsWcOTCeBdF6XRoe8/7JedkCKssjDCGD0J85f6vZv3x/52Qa mRChxWgjcacc1VmOGhYIa48twi0ZkNaba/3CgP2cgmjVtA0fXg== X-Google-Smtp-Source: AGHT+IHnvd5Bkckmh13x9Uizeif9NjC/UyL28/RBrDNRcJS0rM0b6iUn4mSAZwWTF3kqm9YVwaDz7MgKSqf61vceq2g= X-Received: by 2002:a05:6000:381:b0:42b:3661:304e with SMTP id ffacd0b85a97d-42b432c93ffmr1093983f8f.16.1762823477195; Mon, 10 Nov 2025 17:11:17 -0800 (PST) MIME-Version: 1.0 From: "Miguel V. S. Frasson" <mvsfrasson@HIDDEN> Date: Mon, 10 Nov 2025 22:10:51 -0300 X-Gm-Features: AWmQ_bm0faJfNb_69-GB7E1QjBaQ9Sq5A4hKbycS_BP-60ghrvWU8CCvqea2FKE Message-ID: <CAARdmY3Ecyt9ax6nooF_2H7T+OeapnyCmdcTaffOoAobc1GVFA@HIDDEN> Subject: 29.3; query-replace-regexp with \, and ^ (previous match) uses wrong match To: bug-gnu-emacs@HIDDEN Content-Type: text/plain; charset="UTF-8" Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=mvsfrasson@HIDDEN; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit 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.0 (/) When running interactively query-replace-regexp using \, in match string to eval some lisp code on replacement, if one invokes previous match with `^' followed by `y' (replace match), the replacement is done with next match :-( To reproduce the bug: 1) emacs -Q We land on *scratch* buffer, whose text begins with ";; This buffer is for ..." 2) Go to beginning of text, on 1st `;' 3) Perform the following query-replace-regexp C-M-% \([aeiou]\) RET \,(upcase \1) RET 4) Accept first with `y'. Text becomes ";; ThIs buffer is for ..." and match goes to `u'. 5) Deny second with `n', match goes to `e'. 6) Perform previous match with `^', match returns to `u'. 7) Now the bug: current match is `u', then accept with `y'. Result: ;; ThIs bEffer is for... Replacement was done as if the current match was `e', not `u'. Expected: ;; ThIs bUffer is for... In GNU Emacs 29.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0) of 2024-04-01, modified by Debian built on lcy02-amd64-083 Windowing system distributor 'The X.Org Foundation', version 11.0.12101011 System Description: Ubuntu 24.04.3 LTS Configured using: 'configure --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/libexec --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --with-libsystemd --with-pop=yes --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/29.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.3/site-lisp:/usr/share/emacs/site-lisp --with-sound=alsa --without-gconf --with-mailutils --with-native-compilation --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/libexec --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --with-libsystemd --with-pop=yes --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/29.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.3/site-lisp:/usr/share/emacs/site-lisp --with-sound=alsa --without-gconf --with-mailutils --with-native-compilation --with-cairo --with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=/build/emacs-0yuuFP/emacs-29.3+1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=/build/emacs-0yuuFP/emacs-29.3+1=/usr/src/emacs-1:29.3+1-1ubuntu2 -Wall' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=3' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LANG: pt_BR.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils time-date thingatpt cl-loaddefs comp comp-cstr warnings icons subr-x rx cl-seq cl-macs gv cl-extra help-mode bytecomp byte-compile cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 77280 10744) (symbols 48 7183 0) (strings 32 19569 1449) (string-bytes 1 589011) (vectors 16 15349) (vector-slots 8 324678 17351) (floats 8 29 42) (intervals 56 299 0) (buffers 984 11)) -- Miguel Vinicius Santini Frasson mvsfrasson@HIDDEN
"Miguel V. S. Frasson" <mvsfrasson@HIDDEN>:bug-gnu-emacs@HIDDEN.
Full text available.bug-gnu-emacs@HIDDEN:bug#79811; Package emacs.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.