GNU bug report logs - #79811
29.3; query-replace-regexp with \, and ^ (previous match) uses wrong match

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: "Miguel V. S. Frasson" <mvsfrasson@HIDDEN>; Done: Juri Linkov <juri@HIDDEN>; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 79811 <at> debbugs.gnu.org:


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?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79811; Package emacs. Full text available.
bug marked as fixed in version 31.0.50, send any further explanations to 79811 <at> debbugs.gnu.org and "Miguel V. S. Frasson" <mvsfrasson@HIDDEN> Request was from Juri Linkov <juri@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 79811 <at> debbugs.gnu.org:


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.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79811; Package emacs. Full text available.

Message received at 79811 <at> debbugs.gnu.org:


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]"
     ))




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79811; Package emacs. Full text available.

Message received at 79811 <at> debbugs.gnu.org:


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.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79811; Package emacs. Full text available.

Message received at 79811 <at> debbugs.gnu.org:


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.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79811; Package emacs. Full text available.

Message received at 79811 <at> debbugs.gnu.org:


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.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79811; Package emacs. Full text available.

Message received at 79811 <at> debbugs.gnu.org:


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




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#79811; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


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




Acknowledgement sent to "Miguel V. S. Frasson" <mvsfrasson@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#79811; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Tue, 25 Nov 2025 20:45:01 UTC

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