X-Loop: help-debbugs@HIDDEN
Subject: bug#79811: 29.3; query-replace-regexp with \, and ^ (previous match) uses wrong match
Resent-From: "Miguel V. S. Frasson" <mvsfrasson@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 11 Nov 2025 01:12:01 +0000
Resent-Message-ID: <handler.79811.B.176282349511587 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 79811
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
To: 79811 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.176282349511587
(code B ref -1); Tue, 11 Nov 2025 01:12:01 +0000
Received: (at submit) by debbugs.gnu.org; 11 Nov 2025 01:11:35 +0000
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>
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-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
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: "Miguel V. S. Frasson" <mvsfrasson@HIDDEN> Subject: bug#79811: Acknowledgement (29.3; query-replace-regexp with \, and ^ (previous match) uses wrong match) Message-ID: <handler.79811.B.176282349511587.ack <at> debbugs.gnu.org> References: <CAARdmY3Ecyt9ax6nooF_2H7T+OeapnyCmdcTaffOoAobc1GVFA@HIDDEN> X-Gnu-PR-Message: ack 79811 X-Gnu-PR-Package: emacs Reply-To: 79811 <at> debbugs.gnu.org Date: Tue, 11 Nov 2025 01:12:01 +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 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. --=20 79811: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D79811 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN
Subject: bug#79811: Acknowledgement (29.3; query-replace-regexp with \, and ^ (previous match) uses wrong match)
Resent-From: "Miguel V. S. Frasson" <mvsfrasson@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 13 Nov 2025 12:55:02 +0000
Resent-Message-ID: <handler.79811.B79811.17630384997266 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79811
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
To: 79811 <at> debbugs.gnu.org
Received: via spool by 79811-submit <at> debbugs.gnu.org id=B79811.17630384997266
(code B ref 79811); Thu, 13 Nov 2025 12:55:02 +0000
Received: (at 79811) by debbugs.gnu.org; 13 Nov 2025 12:54:59 +0000
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>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
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
X-Loop: help-debbugs@HIDDEN
Subject: bug#79811: 29.3; query-replace-regexp with \, and ^ (previous match) uses wrong match
Resent-From: Juri Linkov <juri@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 25 Nov 2025 20:22:26 +0000
Resent-Message-ID: <handler.79811.B79811.17641021354056 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79811
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
To: Eli Zaretskii <eliz@HIDDEN>
Cc: 79811 <at> debbugs.gnu.org, "Miguel V. S. Frasson" <mvsfrasson@HIDDEN>
Received: via spool by 79811-submit <at> debbugs.gnu.org id=B79811.17641021354056
(code B ref 79811); Tue, 25 Nov 2025 20:22:26 +0000
Received: (at 79811) by debbugs.gnu.org; 25 Nov 2025 20:22:15 +0000
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>
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-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.
X-Loop: help-debbugs@HIDDEN
Subject: bug#79811: 29.3; query-replace-regexp with \, and ^ (previous match) uses wrong match
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: Tue, 25 Nov 2025 20:22:27 +0000
Resent-Message-ID: <handler.79811.B79811.17641021374110 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79811
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
To: Juri Linkov <juri@HIDDEN>
Cc: 79811 <at> debbugs.gnu.org, mvsfrasson@HIDDEN
Received: via spool by 79811-submit <at> debbugs.gnu.org id=B79811.17641021374110
(code B ref 79811); Tue, 25 Nov 2025 20:22:27 +0000
Received: (at 79811) by debbugs.gnu.org; 25 Nov 2025 20:22:17 +0000
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>
In-Reply-To: <875xb1qkh7.fsf@HIDDEN> (message from Juri Linkov on
Sun, 23 Nov 2025 09:25:08 +0200)
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-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.
X-Loop: help-debbugs@HIDDEN
Subject: bug#79811: 29.3; query-replace-regexp with \, and ^ (previous match) uses wrong match
Resent-From: Juri Linkov <juri@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 25 Nov 2025 20:23:03 +0000
Resent-Message-ID: <handler.79811.B79811.17641021694610 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79811
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
To: Eli Zaretskii <eliz@HIDDEN>
Cc: 79811 <at> debbugs.gnu.org, mvsfrasson@HIDDEN
Received: via spool by 79811-submit <at> debbugs.gnu.org id=B79811.17641021694610
(code B ref 79811); Tue, 25 Nov 2025 20:23:03 +0000
Received: (at 79811) by debbugs.gnu.org; 25 Nov 2025 20:22:49 +0000
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>
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-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.
X-Loop: help-debbugs@HIDDEN
Subject: bug#79811: 29.3; query-replace-regexp with \, and ^ (previous match) uses wrong match
Resent-From: Juri Linkov <juri@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 25 Nov 2025 20:23:04 +0000
Resent-Message-ID: <handler.79811.B79811.17641021724654 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79811
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
To: "Miguel V. S. Frasson" <mvsfrasson@HIDDEN>
Cc: 79811 <at> debbugs.gnu.org
Received: via spool by 79811-submit <at> debbugs.gnu.org id=B79811.17641021724654
(code B ref 79811); Tue, 25 Nov 2025 20:23:04 +0000
Received: (at 79811) by debbugs.gnu.org; 25 Nov 2025 20:22:52 +0000
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>
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-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]"
))
X-Loop: help-debbugs@HIDDEN
Subject: bug#79811: 29.3; query-replace-regexp with \, and ^ (previous match) uses wrong match
Resent-From: Juri Linkov <juri@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 25 Nov 2025 20:28:22 +0000
Resent-Message-ID: <handler.79811.B79811.17641024587120 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79811
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
To: "Miguel V. S. Frasson" <mvsfrasson@HIDDEN>
Cc: 79811 <at> debbugs.gnu.org
Received: via spool by 79811-submit <at> debbugs.gnu.org id=B79811.17641024587120
(code B ref 79811); Tue, 25 Nov 2025 20:28:22 +0000
Received: (at 79811) by debbugs.gnu.org; 25 Nov 2025 20:27:38 +0000
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>
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-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.
Received: (at control) by debbugs.gnu.org; 25 Nov 2025 20:27:39 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 25 15:27:39 2025 Received: from localhost ([127.0.0.1]:42104 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-0001qn-Og for submit <at> debbugs.gnu.org; Tue, 25 Nov 2025 15:27:39 -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: control 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.
X-Loop: help-debbugs@HIDDEN
Subject: bug#79811: 29.3; query-replace-regexp with \, and ^ (previous match) uses wrong match
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: Tue, 25 Nov 2025 20:32:14 +0000
Resent-Message-ID: <handler.79811.B79811.176410268117390 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79811
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
To: "Miguel V. S. Frasson" <mvsfrasson@HIDDEN>, Juri Linkov <juri@HIDDEN>
Cc: 79811 <at> debbugs.gnu.org
Received: via spool by 79811-submit <at> debbugs.gnu.org id=B79811.176410268117390
(code B ref 79811); Tue, 25 Nov 2025 20:32:14 +0000
Received: (at 79811) by debbugs.gnu.org; 25 Nov 2025 20:31:21 +0000
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>
In-Reply-To: <CAARdmY1BLnvucbVxU=4Rh0T8Rd=V3zdkGCjek=KnuxPFrP3eUw@HIDDEN>
(mvsfrasson@HIDDEN)
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-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?
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.