GNU bug report logs - #79835
[PATCH] Add query-replace-read-transpose-from-to

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: Jens Schmidt <jschmidt4gnu@HIDDEN>; Keywords: patch; dated Fri, 14 Nov 2025 19:54:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

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


Received: (at 79835) by debbugs.gnu.org; 28 Nov 2025 07:07:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 28 02:07:13 2025
Received: from localhost ([127.0.0.1]:43957 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vOsZV-00053d-6x
	for submit <at> debbugs.gnu.org; Fri, 28 Nov 2025 02:07:13 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:56446)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vOsZT-00053N-39
 for 79835 <at> debbugs.gnu.org; Fri, 28 Nov 2025 02:07:11 -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 1vOsZL-0004mO-H8; Fri, 28 Nov 2025 02:07:03 -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=PuHy+aC5bvnMXJbYurRxiiRiBUif/9fIHJkNHDloZGk=; b=qhvmmOXN47Jq
 uIi6rjH46yMxHTz4Bwdm5W5bXsOBKPkULWAYWpsqIoRiEN2sktqp1P3v7gDqi6G86xuACeD5SBDa2
 eNqXtJcgmM1d73paodSjdOk+PDOmdoOKT/L3SnyKjxCnJvK+r4ZMVp2j16fPde7RAzns+R0AYGB5S
 WvjH1NtSXxh3ZBEKaLXkLKxtQNpyGtQHf6F8iHVb7VsRsJeGNi0WkfGGqZOC9PlopGve7jU/L00LV
 4hqxtrGraB2NpX3RuYLvGJ1XaKQi7tQVIg/Y4gxJDWyQZQwFFmfQwz55HAsItwcHt9qtTI70PoORg
 OO8dTY7kkgaUr09RIiKlbg==;
Date: Fri, 28 Nov 2025 09:07:00 +0200
Message-Id: <86fr9yab57.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Jens Schmidt <jschmidt4gnu@HIDDEN>
In-Reply-To: <f7fdd6f1-c8f6-441e-8bd2-e1da90aa62df@HIDDEN> (message
 from Jens Schmidt on Thu, 27 Nov 2025 21:14:35 +0100)
Subject: Re: bug#79835: [PATCH] Add query-replace-read-transpose-from-to
References: <87tsywl7cq.fsf@HIDDEN> <87ecpxc3y1.fsf@HIDDEN>
 <84bd31d1-9d93-4e36-bc79-40f886a6bc00@HIDDEN>
 <86ldk4lu1x.fsf@HIDDEN>
 <64e666bd-66f5-49df-9425-389b0030ac5f@HIDDEN>
 <86ecpwkogb.fsf@HIDDEN>
 <ecf86e97-ff6a-4dac-86de-897c72bc6484@HIDDEN>
 <87y0nrqr2p.fsf@HIDDEN>
 <f7fdd6f1-c8f6-441e-8bd2-e1da90aa62df@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 79835
Cc: 79835 <at> debbugs.gnu.org, juri@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 (---)

> Date: Thu, 27 Nov 2025 21:14:35 +0100
> Cc: Eli Zaretskii <eliz@HIDDEN>, 79835 <at> debbugs.gnu.org
> From: Jens Schmidt <jschmidt4gnu@HIDDEN>
> 
> I don't think there is a big rush getting this transpose thingy in,
> unless Eli plans to split off Emacs 31 really soon.

I don't plan to cut the emacs-31 branch before (a) we land the igc
branch, and (b) we install the TrueColor support for the Windows
terminal.  The former awaits stabilization of the branch (I think we
are almost there, if not there already), the latter awaits the
completion of the legal paperwork (which unfortunately turned out to
be exceedingly complicated in this case).

Realistically, I don't expect to cut the emacs-31 branch for at least
another month.




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

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


Received: (at 79835) by debbugs.gnu.org; 27 Nov 2025 20:15:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 27 15:15:04 2025
Received: from localhost ([127.0.0.1]:37704 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vOiOO-0003yi-Fi
	for submit <at> debbugs.gnu.org; Thu, 27 Nov 2025 15:15:04 -0500
Received: from mr6.vodafonemail.de ([145.253.228.166]:60592)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <jschmidt4gnu@HIDDEN>)
 id 1vOiOM-0003xq-3K
 for 79835 <at> debbugs.gnu.org; Thu, 27 Nov 2025 15:15:03 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vodafonemail.de;
 s=vfde-mb-mr2-23sep; t=1764274496;
 bh=WoP7w+mQT1edffRW+85i86FBB3CC/quZtePWUrOUTDc=;
 h=Message-ID:Date:User-Agent:Subject:To:References:From:
 Content-Language:In-Reply-To:Content-Type:From;
 b=FmqvERXfM9RYFPpcR2HS81P5KLWPt/U8WBeFYGOKP91O9iY/b+vggd420P0ErlE1K
 Ne5bhsrJhnIEtp6dVf00MF9ixByqC3rlrBTQSyH3bTsCijvijIrmXU2v88q0dRs5lv
 d+/oW4IOCmfMov5fB8iTxFEs1G5s3oB2DEQKofws=
Received: from smtp.vodafone.de (unknown [10.0.0.2])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by mr6.vodafonemail.de (Postfix) with ESMTPS id 4dHSMh1BfXz1yYv;
 Thu, 27 Nov 2025 20:14:56 +0000 (UTC)
Received: from [192.168.178.41] (unknown [62.144.243.157])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp.vodafone.de (Postfix) with ESMTPSA id 4dHSMY4CRLz92kP;
 Thu, 27 Nov 2025 20:14:46 +0000 (UTC)
Message-ID: <f7fdd6f1-c8f6-441e-8bd2-e1da90aa62df@HIDDEN>
Date: Thu, 27 Nov 2025 21:14:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#79835: [PATCH] Add query-replace-read-transpose-from-to
To: Juri Linkov <juri@HIDDEN>
References: <87tsywl7cq.fsf@HIDDEN> <87ecpxc3y1.fsf@HIDDEN>
 <84bd31d1-9d93-4e36-bc79-40f886a6bc00@HIDDEN>
 <86ldk4lu1x.fsf@HIDDEN>
 <64e666bd-66f5-49df-9425-389b0030ac5f@HIDDEN>
 <86ecpwkogb.fsf@HIDDEN>
 <ecf86e97-ff6a-4dac-86de-897c72bc6484@HIDDEN>
 <87y0nrqr2p.fsf@HIDDEN>
From: Jens Schmidt <jschmidt4gnu@HIDDEN>
Content-Language: de-DE-frami, en-US
In-Reply-To: <87y0nrqr2p.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-type: clean
X-purgate: clean
X-purgate-size: 479
X-purgate-ID: 155817::1764274495-0173FC77-1BA92C4C/0/0
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79835
Cc: Eli Zaretskii <eliz@HIDDEN>, 79835 <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 (-)

On 2025-11-27  19:16, Juri Linkov wrote:

>> - Currently, this feature is mostly unusable since its usage almost
>>   certainly will trigger bug#70122.  So I'd rather wait for that to be
>>   handled in some way or other before installing this patch.
> 
> So first we need to push the patch from bug#70122
> that fixes the crash?

I'd say yes.  I don't think there is a big rush getting this
transpose thingy in, unless Eli plans to split off Emacs 31
really soon.





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

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


Received: (at 79835) by debbugs.gnu.org; 27 Nov 2025 18:16:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 27 13:16:59 2025
Received: from localhost ([127.0.0.1]:37534 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vOgY6-0006m5-Oo
	for submit <at> debbugs.gnu.org; Thu, 27 Nov 2025 13:16:59 -0500
Received: from mout-p-103.mailbox.org ([2001:67c:2050:0:465::103]:35688)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1vOgY4-0006lp-RS
 for 79835 <at> debbugs.gnu.org; Thu, 27 Nov 2025 13:16:57 -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-103.mailbox.org (Postfix) with ESMTPS id 4dHPlM5R4sz9tcg;
 Thu, 27 Nov 2025 19:16:47 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001; 
 t=1764267407;
 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=WfoLe/oQUoxIUeR3yvZ1IGfx1LYbo89ik6aUk/KArjo=;
 b=EakhS2MOkbbdXgz0qftSnPbAelGUZfWGljT3PsU/WHZPwIrJ/v4GtIfRjcQGbTXvEASTwu
 Aixlt4z+4PHyQz0JyXvm12mkADkNah6kjFPkhRyDgU4j69qT1nXF4Qm/S+qheb9QJhafea
 g2BjSw5g3PWr68rUoy6hFEKtsVFUoKgP0GiDGgeY0BHDIqRQ7gcKU59U9Zbisy9HTtIQch
 uHCCH55WhwB0CH7dSS8lfmFzZxm14J+i0dEJcLKFXIshg8ATXSctf6JRFcWcK8JAsXqeCe
 VYulRXiZcSW6euD7pYBHJlCOkedeuxFLsvpdLIR8LNYYtmr8ofqsr7JsLu/hTg==
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: Jens Schmidt <jschmidt4gnu@HIDDEN>
Subject: Re: bug#79835: [PATCH] Add query-replace-read-transpose-from-to
In-Reply-To: <ecf86e97-ff6a-4dac-86de-897c72bc6484@HIDDEN>
Organization: LINKOV.NET
References: <87tsywl7cq.fsf@HIDDEN> <87ecpxc3y1.fsf@HIDDEN>
 <84bd31d1-9d93-4e36-bc79-40f886a6bc00@HIDDEN>
 <86ldk4lu1x.fsf@HIDDEN>
 <64e666bd-66f5-49df-9425-389b0030ac5f@HIDDEN>
 <86ecpwkogb.fsf@HIDDEN>
 <ecf86e97-ff6a-4dac-86de-897c72bc6484@HIDDEN>
Date: Thu, 27 Nov 2025 20:16:14 +0200
Message-ID: <87y0nrqr2p.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Rspamd-Queue-Id: 4dHPlM5R4sz9tcg
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79835
Cc: Eli Zaretskii <eliz@HIDDEN>, 79835 <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 (-)

> - Currently, this feature is mostly unusable since its usage almost
>   certainly will trigger bug#70122.  So I'd rather wait for that to be
>   handled in some way or other before installing this patch.

So first we need to push the patch from bug#70122
that fixes the crash?




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

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


Received: (at 79835) by debbugs.gnu.org; 25 Nov 2025 20:31:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 25 15:31:56 2025
Received: from localhost ([127.0.0.1]:42334 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vNzhc-0004vT-3E
	for submit <at> debbugs.gnu.org; Tue, 25 Nov 2025 15:31:56 -0500
Received: from mail-pl1-x644.google.com ([2607:f8b0:4864:20::644]:51385)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <visuweshm@HIDDEN>)
 id 1vNOij-00071C-0D
 for 79835 <at> debbugs.gnu.org; Mon, 24 Nov 2025 00:02:37 -0500
Received: by mail-pl1-x644.google.com with SMTP id
 d9443c01a7336-2958db8ae4fso38337795ad.2
 for <79835 <at> debbugs.gnu.org>; Sun, 23 Nov 2025 21:02:36 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1763960551; x=1764565351; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:references
 :message-id:date:in-reply-to:subject:cc:to:from:from:to:cc:subject
 :date:message-id:reply-to;
 bh=PLK005bds+02XivX7C9ARJnO5oi7bHn/Cfsk5BheSug=;
 b=XL81iu0mfW67j8sC6mDybV45Qs6bBvbwpze99QbHX4iV+ZFyAK/hF758u+Yu6dAfNH
 nZXZmGzRV7kbkz4LO9A0O7A9HcO676jn0zz8ivBvL0j8kqb/p8kFwaBa9mWYu3L4TLhB
 PhIVevtAjNPl5ebAn2ZpxY1jy+gZWfkgkvE49HCtqQAGKszPp2olimm6eV54RpW6muQf
 VPgKopGEE1VBZq7j9drfMdQZhe5JzdDlWrWANeonlL15M0rVIu4klaLfkd4EGhEWHYt1
 fujGGqEC0c4O0t90rejq7NLTCdSud82NdspGyQuGdtIj+hfOJ1sbIqZvZlUVR+jWbxqR
 DfQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1763960551; x=1764565351;
 h=content-transfer-encoding:mime-version:user-agent:references
 :message-id:date:in-reply-to:subject:cc:to:from:x-gm-gg
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=PLK005bds+02XivX7C9ARJnO5oi7bHn/Cfsk5BheSug=;
 b=xJdQS4Lp9l19nnELBtl/HdZpWJobl0bO7I5ImnIaX3Mlm4VtOq6w7qJmkvH/CLhomE
 euQptobMACUXw9L542rXzXXYczJ0cu94Ys85BUMuAXsBwymHBe6LCEbjZIS7tfhwWumw
 VtfwUsIMajIpGlNDXnVD8zHsb4siPP2Sr2OYr/vZvHJvXG0daJaeeMpaLrenYlJYXcaq
 K/yx4Y5EI+GxBaF9crQ8K+JPpHPRygiH1E4a6AVVYnB0AjRRxe7qLPQXeoSdAeucsi7B
 omy9KoWXckL5+YAR2m1UtGRqF4TsNq7Xro5EthSjbGvmEqY+VPQZOEzMi0QBV6PPMRS2
 FB7w==
X-Forwarded-Encrypted: i=1;
 AJvYcCX19+EiJCYEYr76vOWgD42xRVjbyO+ABkyKjPQazNZXqmcENxuVDlsjiPwqWC1UA8QIEFYUeg==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxIm+heW3jcWxaKmpquob0/OZKZT3DTHY3q3R4WiR19ABck1T2m
 u4Qs6OHe7PTFJEJqXSrhgouv088/AVf1FSmnF4BLIDYO7DQuOiZkl28K
X-Gm-Gg: ASbGncsWmPmMuFp/P5h3WSNbI4uSijD/SLlro4+//tsJbOQAzO+O2RLHyxAvvKatpdf
 Z62PAEwBszmOuUL6ggyTaekH9z6oyIITDUf6Fx1O6/whOmDf5dxuft7c0Ik/mEx8ImxPb2rgwXN
 hC8jton3Av398AnU6GZRENPY8tDTO+zFweFvWPdWiZHRJ4WMad8uuGAdOnLsAxrZT8nOw89ajOp
 +u1qhX6lhoPvVKhxAS/WTvcBeD67CUE1lJi8JNaBGMoa4oziWJ/ZqO6EzX2DAGmXyz43ngJPXne
 Xgsjd+ePD8mryBV4Ch8x3BpnLIkKKU+aUHuJR39Qm0cSSDUfYT8rZKgJ+Lix4Y5RHC3gt5u2QXm
 k/yMXVSWsjXvdazX5raTCQRDpKjprycxV6o8VzLck2eqhet34ATsjhByytgYeOnbjz5qlDXAL9+
 im16sIUxFe1ysm1PPC
X-Google-Smtp-Source: AGHT+IEYWZwed7Lz87YR7DUvavPcYaaA2w40LNuDE8IeqVlwYt/eUOc2be1CrHlSdcoMgvo8y1dWCA==
X-Received: by 2002:a17:903:3508:b0:297:dd7f:f1e0 with SMTP id
 d9443c01a7336-29b6c68dd8fmr101910105ad.43.1763960550623; 
 Sun, 23 Nov 2025 21:02:30 -0800 (PST)
Received: from localhost ([158.144.41.70]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-29b5b29d706sm119463565ad.80.2025.11.23.21.02.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 23 Nov 2025 21:02:30 -0800 (PST)
From: Visuwesh <visuweshm@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
Subject: Re: bug#79835: [PATCH] Add query-replace-read-transpose-from-to
In-Reply-To: <87346atrbo.fsf@HIDDEN>
Date: Mon, 24 Nov 2025 10:32:21 +0530
Message-ID: <873464gh0i.fsf@HIDDEN>
References: <87tsywl7cq.fsf@HIDDEN> <87ecpxc3y1.fsf@HIDDEN>
 <84bd31d1-9d93-4e36-bc79-40f886a6bc00@HIDDEN>
 <874iqrocbq.fsf@HIDDEN>
 <cc381453-8969-4fc5-879c-ad9c192b44f1@HIDDEN>
 <87346atrbo.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 79835
Cc: Jens Schmidt <jschmidt4gnu@HIDDEN>, 79835 <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 (-)

[=E0=AE=AA=E0=AF=81=E0=AE=A4=E0=AE=A9=E0=AF=8D =E0=AE=A8=E0=AE=B5=E0=AE=AE=
=E0=AF=8D=E0=AE=AA=E0=AE=B0=E0=AF=8D 19, 2025] Juri Linkov wrote:

>>> Shouldn't this error when `from =E2=86=92 to' is something like
>>>=20
>>>     SOME-REGEXP =E2=86=92 "\&"
>>>=20
>>> or some such where the replacement part of the command uses the fancy \X
>>> stuff?
>>
>> Agreed, transposing FROM and TO is less helpful for
>> `query-replace-regexp' than for just `query-replace'.  But I somewhat
>> feel that it would be hard to draw a line which FROM and TO should be
>> allowed to be transposed and which should not.  For example, "\&" is
>> just an overly complicated way to match "&", but a valid regexp, after
>> all.
>>
>> What would be feasible, though, is a test whether TO is valid as regular
>> expression before transposing, for example, with
>>
>>   (ignore-errors (string-match-p TO "") t)
>>
>> But then we probably also should test FROM for validity before
>> transposing, since a lone backslash is valid as FROM, but not as TO.
>>
>> But then again the user might very well know what she is doing, and be
>> annoyed by the extra noise caused by such a pre-transpose test.
>>
>> In short, I'd rather keep that feature simple, and as it is.
>
> Indeed, the user might want to transpose these parts
> to edit them more afterwards, e.g.
>
>   SOME-TEXT =E2=86=92 "OTHER-TEXT \&"
>
> transpose to
>
>   "OTHER-TEXT \&" =E2=86=92 SOME-TEXT
>
> then manually edit to
>
>   OTHER-TEXT =E2=86=92 "SOME-TEXT \&"

Somehow it slipped pass my mind that I could repeat M-s t in case the
transpose does not make sense.  c:




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

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


Received: (at 79835) by debbugs.gnu.org; 25 Nov 2025 20:22:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 25 15:22:21 2025
Received: from localhost ([127.0.0.1]:41899 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-00015O-BO
	for submit <at> debbugs.gnu.org; Tue, 25 Nov 2025 15:22:21 -0500
Received: from mr5.vodafonemail.de ([145.253.228.165]:55644)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <jschmidt4gnu@HIDDEN>)
 id 1vNBSQ-0003ss-7M
 for 79835 <at> debbugs.gnu.org; Sun, 23 Nov 2025 09:52:55 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vodafonemail.de;
 s=vfde-mb-mr2-23sep; t=1763909567;
 bh=LIz2rZlLNGE0RG88Iu/gTsq43cmVp8rJVZJRwXiPKBM=;
 h=Content-Type:Message-ID:Date:User-Agent:Subject:To:References:
 From:Content-Language:In-Reply-To:From;
 b=uYcHis/vXbdR9tOge86PdMFZKZXnvN/Shhw1jYZmWAgeWTFD63o81siUOIJJxIiXd
 sQN5qEowD6StO0LimBisR7V69I6emykazBa1NFHZXhEqx4PXFHQo+27ZRs7k680HBD
 9luH/eHIggZLasEJPfbY+Y6mf7u92vqz9NUFrQ+A=
Received: from smtp.vodafone.de (unknown [10.0.0.2])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by mr5.vodafonemail.de (Postfix) with ESMTPS id 4dDsPq5BpFz1yDv;
 Sun, 23 Nov 2025 14:52:47 +0000 (UTC)
Received: from [192.168.178.41] (port-83-236-4-249.dynamic.as20676.net
 [83.236.4.249])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp.vodafone.de (Postfix) with ESMTPSA id 4dDsPh4gRmz8slC;
 Sun, 23 Nov 2025 14:52:37 +0000 (UTC)
Content-Type: multipart/mixed; boundary="------------ckIyJzneh7TlORM6ukiCbfHH"
Message-ID: <ecf86e97-ff6a-4dac-86de-897c72bc6484@HIDDEN>
Date: Sun, 23 Nov 2025 15:52:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#79835: [PATCH] Add query-replace-read-transpose-from-to
To: Eli Zaretskii <eliz@HIDDEN>
References: <87tsywl7cq.fsf@HIDDEN> <87ecpxc3y1.fsf@HIDDEN>
 <84bd31d1-9d93-4e36-bc79-40f886a6bc00@HIDDEN>
 <86ldk4lu1x.fsf@HIDDEN>
 <64e666bd-66f5-49df-9425-389b0030ac5f@HIDDEN>
 <86ecpwkogb.fsf@HIDDEN>
From: Jens Schmidt <jschmidt4gnu@HIDDEN>
Content-Language: de-DE-frami, en-US
In-Reply-To: <86ecpwkogb.fsf@HIDDEN>
X-purgate-type: clean
X-purgate: clean
X-purgate-size: 8025
X-purgate-ID: 155817::1763909567-1B5BB950-811D370F/0/0
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 79835
Cc: 79835 <at> debbugs.gnu.org, juri@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 (-)

This is a multi-part message in MIME format.
--------------ckIyJzneh7TlORM6ukiCbfHH
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 2025-11-18  04:29, Eli Zaretskii wrote:

>> Right.  I took example from functions `query-replace-read-from'
>> and `query-replace-read-to', which also refer to `from' and `to',
>> respectively.  Should I change these, too?
> 
> Yes, please.

Done in the attached patch.

From my POV there is one cave-at and one nit open:

- Currently, this feature is mostly unusable since its usage almost
  certainly will trigger bug#70122.  So I'd rather wait for that to be
  handled in some way or other before installing this patch.

  (Obviously, when first testing this I transposed only "foo" with
  "bar", which belongs to the rare cases that does not trigger above
  bug.)

- In principle, function `read-regexp' could be used outside the context
  of `query-replace-regexp', so providing a binding for
  `query-replace-read-transpose-from-to' in `read-regexp-map' is
  somewhat unclean.  (Nothing bad happens if someone uses `M-s t' in a
  non-replace `read-regexp', just a slightly confusing error will be
  issued.)

  The clean solution would be yet another key map
  `query-replace-regexp-read-map', etc., but I'm not sure whether that
  is worth the effort.

--------------ckIyJzneh7TlORM6ukiCbfHH
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-Add-query-replace-read-transpose-from-to.patch"
Content-Disposition: attachment;
 filename="0001-Add-query-replace-read-transpose-from-to.patch"
Content-Transfer-Encoding: base64

RnJvbSAwOTkxYTk1NWVlYmM0MzMyMDYzMWMzNDhiYWQwZjc0NWMwYzQ4MGZkIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKZW5zIFNjaG1pZHQgPGpzY2htaWR0NGdudUB2b2Rh
Zm9uZW1haWwuZGU+CkRhdGU6IEZyaSwgMTQgTm92IDIwMjUgMjA6Mjg6MjMgKzAxMDAKU3Vi
amVjdDogW1BBVENIXSBBZGQgcXVlcnktcmVwbGFjZS1yZWFkLXRyYW5zcG9zZS1mcm9tLXRv
CgpQcm92aWRlIGEgY29tbWFuZCB0byBlYXNpbHkgc3dhcCBGUk9NIGFuZCBUTyBhcmd1bWVu
dHMgaW4gYSBxdWVyeQpyZXBsYWNlIG9wZXJhdGlvbi4KCiogbGlzcC9yZXBsYWNlLmVsIChx
dWVyeS1yZXBsYWNlLXJlYWQtdHJhbnNwb3NlLWZyb20tdG8pOiBOZXcgZnVuY3Rpb24uCihx
dWVyeS1yZXBsYWNlLXJlYWQtbWFwKTogTmV3IGtleW1hcC4KKHF1ZXJ5LXJlcGxhY2UtcmVh
ZC1mcm9tKTogVXNlIG5ldyBrZXltYXAgdG8gcmVhZCBmcm9tIG1pbmlidWZmZXIuCihyZWFk
LXJlZ2V4cC1tYXApOiBJbmhlcml0IGZyb20gJ3F1ZXJ5LXJlcGxhY2UtcmVhZC1tYXAnLgoo
cXVlcnktcmVwbGFjZS1yZWFkLWZyb20sIHF1ZXJ5LXJlcGxhY2UtcmVhZC10byk6IEZpeCBw
YXJhbWV0ZXIKcmVmZXJlbmNlcyBpbiBkb2Mgc3RyaW5ncy4KKiBldGMvTkVXUzogRG9jdW1l
bnQgdGhlIGNoYW5nZS4gIChCdWcjNzk4MzUpCi0tLQogZXRjL05FV1MgICAgICAgIHwgIDYg
KysrKysrCiBsaXNwL3JlcGxhY2UuZWwgfCAyOCArKysrKysrKysrKysrKysrKysrKysrKyst
LS0tCiAyIGZpbGVzIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0p
CgpkaWZmIC0tZ2l0IGEvZXRjL05FV1MgYi9ldGMvTkVXUwppbmRleCBmZjhlYmU3ZTgyNC4u
NGE0NjUxMTY1M2YgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC04
MjksNiArODI5LDEyIEBAIGFjdGl2YXRlIHRoZSBtYXJrIGlmIGl0IGlzIG5vdCBhbHJlYWR5
IGFjdGl2ZS4KIFRoZSBkZWZhdWx0IHZhbHVlIGlzIHQsIHdoaWNoIHJldGFpbnMgdGhlIG9s
ZCBiZWhhdmlvci4KIFRoaXMgdmFyaWFibGUgaGFzIG5vIGVmZmVjdCB3aGVuIFRyYW5zaWVu
dCBNYXJrIG1vZGUgaXMgb2ZmLgogCistLS0KKyoqIFlvdSBjYW4gbm93IHVzZSAnTS1zIHQn
IHRvIHN3YXAgRlJPTSBhbmQgVE8gZHVyaW5nICdxdWVyeS1yZXBsYWNlJy4KK0xpa2V3aXNl
IGR1cmluZyAncXVlcnktcmVwbGFjZS1yZWdleHAnLiAgVGhlIG9yaWdpbmFsIGJpbmRpbmcg
b2YgJ00tcycKKygnbmV4dC1tYXRjaGluZy1oaXN0b3J5LWVsZW1lbnQnKSBpcyBub3cgYXZh
aWxhYmxlIG9uICdNLXMgTS1zJyBvciAnTS1zCitzJyBmb3IgcXVlcnkgcmVwbGFjZSBtaW5p
YnVmZmVyIGlucHV0LgorCiAtLS0KICoqIE5ldyBjb21tYW5kcyBmb3IgZmlsbGluZyB0ZXh0
IHVzaW5nIHNlbWFudGljIGxpbmVmZWVkcy4KIFRoZSBuZXcgY29tbWFuZCAnZmlsbC1wYXJh
Z3JhcGgtc2VtbGYnIGZpbGxzIGEgcGFyYWdyYXBoIG9mIHRleHQgdXNpbmcKZGlmZiAtLWdp
dCBhL2xpc3AvcmVwbGFjZS5lbCBiL2xpc3AvcmVwbGFjZS5lbAppbmRleCBiMDY4OWI5M2Uw
Ni4uYmU5MDI4Yjg2ZGIgMTAwNjQ0Ci0tLSBhL2xpc3AvcmVwbGFjZS5lbAorKysgYi9saXNw
L3JlcGxhY2UuZWwKQEAgLTIwMSw3ICsyMDEsNyBAQCBxdWVyeS1yZXBsYWNlLXJlYWQtZnJv
bS1zdWdnZXN0aW9ucwogICAgICAgICAgICAgICAgICAgKGNhciAoc3ltYm9sLXZhbHVlIHF1
ZXJ5LXJlcGxhY2UtZnJvbS1oaXN0b3J5LXZhcmlhYmxlKSkpKSkKIAogKGRlZnVuIHF1ZXJ5
LXJlcGxhY2UtcmVhZC1mcm9tIChwcm9tcHQgcmVnZXhwLWZsYWcpCi0gICJRdWVyeSBhbmQg
cmV0dXJuIHRoZSBgZnJvbScgYXJndW1lbnQgb2YgYSBgcXVlcnktcmVwbGFjZScgb3BlcmF0
aW9uLgorICAiUXVlcnkgYW5kIHJldHVybiB0aGUgRlJPTSBhcmd1bWVudCBvZiBhIGBxdWVy
eS1yZXBsYWNlJyBvcGVyYXRpb24uCiBQcm9tcHQgd2l0aCBQUk9NUFQuICBSRUdFWFAtRkxB
RyBub24tbmlsIG1lYW5zIHRoZSByZXNwb25zZSBzaG91bGQgYmUgYSByZWdleHAuCiBUaGUg
cmV0dXJuIHZhbHVlIGNhbiBhbHNvIGJlIGEgcGFpciAoRlJPTSAuIFRPKSBpbmRpY2F0aW5n
IHRoYXQgdGhlIHVzZXIKIHdhbnRzIHRvIHJlcGxhY2UgRlJPTSB3aXRoIFRPLiIKQEAgLTI2
Myw3ICsyNjMsNyBAQCBxdWVyeS1yZXBsYWNlLXJlYWQtZnJvbQogICAgICAgICAgICAgICAg
ICAgIHF1ZXJ5LXJlcGxhY2UtcmVhZC1mcm9tLXJlZ2V4cC1kZWZhdWx0CiAgICAgICAgICAg
ICAgICAgICAgJ21pbmlidWZmZXItaGlzdG9yeSkKICAgICAgICAgICAgICAgICAocmVhZC1m
cm9tLW1pbmlidWZmZXIKLSAgICAgICAgICAgICAgICAgcHJvbXB0IG5pbCBuaWwgbmlsIG5p
bAorICAgICAgICAgICAgICAgICBwcm9tcHQgbmlsIHF1ZXJ5LXJlcGxhY2UtcmVhZC1tYXAg
bmlsIG5pbAogICAgICAgICAgICAgICAgICAoaWYgZGVmYXVsdAogICAgICAgICAgICAgICAg
ICAgICAgKGRlbGV0ZS1kdXBzCiAgICAgICAgICAgICAgICAgICAgICAgKGNvbnMgZGVmYXVs
dCAocXVlcnktcmVwbGFjZS1yZWFkLWZyb20tc3VnZ2VzdGlvbnMpKSkKQEAgLTMzNyw3ICsz
MzcsNyBAQCBxdWVyeS1yZXBsYWNlLWNvbXBpbGUtcmVwbGFjZW1lbnQKIAogCiAoZGVmdW4g
cXVlcnktcmVwbGFjZS1yZWFkLXRvIChmcm9tIHByb21wdCByZWdleHAtZmxhZykKLSAgIlF1
ZXJ5IGFuZCByZXR1cm4gdGhlIGB0bycgYXJndW1lbnQgb2YgYSBgcXVlcnktcmVwbGFjZScg
b3BlcmF0aW9uLgorICAiUXVlcnkgYW5kIHJldHVybiB0aGUgVE8gYXJndW1lbnQgb2YgYSBg
cXVlcnktcmVwbGFjZScgb3BlcmF0aW9uLgogUHJvbXB0IHdpdGggUFJPTVBULiAgUkVHRVhQ
LUZMQUcgbm9uLW5pbCBtZWFucyB0aGUgcmVzcG9uc2UKIHNob3VsZCBhIHJlZ2V4cC4iCiAg
IChxdWVyeS1yZXBsYWNlLWNvbXBpbGUtcmVwbGFjZW1lbnQKQEAgLTM4Nyw2ICszODcsMTcg
QEAgcXVlcnktcmVwbGFjZS1yZWFkLWFyZ3MKICAgICAgICAgICAgICAgICAgICAgIChnZXQt
dGV4dC1wcm9wZXJ0eSAwICdpc2VhcmNoLXJlZ2V4cC1mdW5jdGlvbiBmcm9tKSkpCiAgICAg
ICAgICAgICAoYW5kIGN1cnJlbnQtcHJlZml4LWFyZyAoZXEgY3VycmVudC1wcmVmaXgtYXJn
ICctKSkpKSkpCiAKKyhkZWZ1biBxdWVyeS1yZXBsYWNlLXJlYWQtdHJhbnNwb3NlLWZyb20t
dG8gKCkKKyAgIlRyYW5zcG9zZSB0aGUgRlJPTSBhbmQgVE8gYXJndW1lbnRzIG9mIGEgYHF1
ZXJ5LXJlcGxhY2UnIG9wZXJhdGlvbi4iCisgIChpbnRlcmFjdGl2ZSkKKyAgKGlmLWxldCog
KChzZXAtYmVnCisgICAgICAgICAgICAgKG5leHQtc2luZ2xlLXByb3BlcnR5LWNoYW5nZSAo
bWluaWJ1ZmZlci1wcm9tcHQtZW5kKSAnc2VwYXJhdG9yKSkKKyAgICAgICAgICAgIChzZXAt
ZW5kCisgICAgICAgICAgICAgKG5leHQtc2luZ2xlLXByb3BlcnR5LWNoYW5nZSBzZXAtYmVn
ICdzZXBhcmF0b3IpKSkKKyAgICAgICh0cmFuc3Bvc2UtcmVnaW9ucyAobWluaWJ1ZmZlci1w
cm9tcHQtZW5kKSBzZXAtYmVnCisgICAgICAgICAgICAgICAgICAgICAgICAgc2VwLWVuZCAo
cG9pbnQtbWF4KSkKKyAgICAodXNlci1lcnJvciAiTm8gcXVlcnktcmVwbGFjZSBzZXBhcmF0
b3IgdG8gdHJhbnNwb3NlIGFyb3VuZCIpKSkKKwogKGRlZnVuIHF1ZXJ5LXJlcGxhY2UgKGZy
b20tc3RyaW5nIHRvLXN0cmluZyAmb3B0aW9uYWwgZGVsaW1pdGVkIHN0YXJ0IGVuZCBiYWNr
d2FyZCByZWdpb24tbm9uY29udGlndW91cy1wKQogICAiUmVwbGFjZSBzb21lIG9jY3VycmVu
Y2VzIG9mIEZST00tU1RSSU5HIHdpdGggVE8tU1RSSU5HLgogQXMgZWFjaCBtYXRjaCBpcyBm
b3VuZCwgdGhlIHVzZXIgbXVzdCB0eXBlIGEgY2hhcmFjdGVyIHNheWluZwpAQCAtODI5LDgg
Kzg0MCwxNyBAQCByZWFkLXJlZ2V4cC1zdWdnZXN0aW9ucwogICAgKHJlZ2V4cC1xdW90ZSAo
b3IgKGNhciBzZWFyY2gtcmluZykgIiIpKQogICAgKGNhciAoc3ltYm9sLXZhbHVlIHF1ZXJ5
LXJlcGxhY2UtZnJvbS1oaXN0b3J5LXZhcmlhYmxlKSkpKQogCi0oZGVmdmFyLWtleW1hcCBy
ZWFkLXJlZ2V4cC1tYXAKKyhkZWZ2YXIta2V5bWFwIHF1ZXJ5LXJlcGxhY2UtcmVhZC1tYXAK
ICAgOnBhcmVudCBtaW5pYnVmZmVyLWxvY2FsLW1hcAorICA7OyBEZWZpbmluZyBNLXMgYXMg
YSBwcmVmaXggaGVyZSBoYXMgdGhlIHNpZGUgZWZmZWN0IG9mIGhpZGluZworICA7OyByZWd1
bGFyIE0tcywgYm91bmQgdG8gYG5leHQtbWF0Y2hpbmctaGlzdG9yeS1lbGVtZW50JyBpbiB0
aGUKKyAgOzsgZGVmYXVsdCBtaW5pYnVmZmVyIG1hcC4gIFRyeSB0byBtaXRpZ2F0ZSB0aGF0
IGxvc3MuCisgICJNLXMgcyIgIyduZXh0LW1hdGNoaW5nLWhpc3RvcnktZWxlbWVudAorICAi
TS1zIE0tcyIgIyduZXh0LW1hdGNoaW5nLWhpc3RvcnktZWxlbWVudAorICAiTS1zIHQiICMn
cXVlcnktcmVwbGFjZS1yZWFkLXRyYW5zcG9zZS1mcm9tLXRvKQorCisoZGVmdmFyLWtleW1h
cCByZWFkLXJlZ2V4cC1tYXAKKyAgOnBhcmVudCBxdWVyeS1yZXBsYWNlLXJlYWQtbWFwCiAg
ICJNLXMgYyIgIydyZWFkLXJlZ2V4cC10b2dnbGUtY2FzZS1mb2xkKQogCiAoZGVmdmFyIHJl
YWQtcmVnZXhwLS1jYXNlLWZvbGQgbmlsKQotLSAKMi40Ny4zCgo=

--------------ckIyJzneh7TlORM6ukiCbfHH--




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

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


Received: (at 79835) by debbugs.gnu.org; 19 Nov 2025 07:30:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 19 02:30:15 2025
Received: from localhost ([127.0.0.1]:35039 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vLcdq-0008Ol-Mr
	for submit <at> debbugs.gnu.org; Wed, 19 Nov 2025 02:30:15 -0500
Received: from mout-p-103.mailbox.org ([80.241.56.161]:37698)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1vLcdn-00083w-Ij
 for 79835 <at> debbugs.gnu.org; Wed, 19 Nov 2025 02:30:12 -0500
Received: from smtp102.mailbox.org (smtp102.mailbox.org
 [IPv6:2001:67c:2050:b231:465::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-103.mailbox.org (Postfix) with ESMTPS id 4dBCmp6NRlz9tks;
 Wed, 19 Nov 2025 08:30:02 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001; 
 t=1763537402;
 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:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=A3QYoRiOgW8DHY4hsvKqJJF4my4B3/OycBtYOyk8lTk=;
 b=O4AUs4fC0qhfZDcjp6iglqdC8Se26/GwvwdHpy+7Fdq25vQA7mRs5LmLdnXp971HNA6V3a
 o9zXTal8IVHhT0ODEsHLcqUVuPoZ3Xlf0QfcIlwKlSMkYGzHh/5f8gsOMmYonS6Q9bAOPD
 cNltTwBXTDxQPc6Kv5vPn/e1q/c7mJ4vnvadeqiYhb3ajPaRKx3+nr0LsEM5I8IZqr0+XD
 cg5r6YxVMpzhpTdQOXgqa38G90o20vwxMEB8bMl2KxXvYniRhMWG5i7NY0QQNpscmk7it6
 HkvJ9RqfGQeir6N9O1ZAWyE0nWy2UOdPGP6ACCZE1jr+zKTYia8tjgbl8/FQXQ==
Authentication-Results: outgoing_mbo_mout; dkim=none;
 spf=pass (outgoing_mbo_mout: domain of juri@HIDDEN designates
 2001:67c:2050:b231:465::102 as permitted sender)
 smtp.mailfrom=juri@HIDDEN
From: Juri Linkov <juri@HIDDEN>
To: Jens Schmidt <jschmidt4gnu@HIDDEN>
Subject: Re: bug#79835: [PATCH] Add query-replace-read-transpose-from-to
In-Reply-To: <cc381453-8969-4fc5-879c-ad9c192b44f1@HIDDEN>
Organization: LINKOV.NET
References: <87tsywl7cq.fsf@HIDDEN> <87ecpxc3y1.fsf@HIDDEN>
 <84bd31d1-9d93-4e36-bc79-40f886a6bc00@HIDDEN>
 <874iqrocbq.fsf@HIDDEN>
 <cc381453-8969-4fc5-879c-ad9c192b44f1@HIDDEN>
Date: Wed, 19 Nov 2025 09:28:38 +0200
Message-ID: <87346atrbo.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 4dBCmp6NRlz9tks
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79835
Cc: 79835 <at> debbugs.gnu.org, Visuwesh <visuweshm@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 (-)

>> Shouldn't this error when `from → to' is something like
>> 
>>     SOME-REGEXP → "\&"
>> 
>> or some such where the replacement part of the command uses the fancy \X
>> stuff?
>
> Agreed, transposing FROM and TO is less helpful for
> `query-replace-regexp' than for just `query-replace'.  But I somewhat
> feel that it would be hard to draw a line which FROM and TO should be
> allowed to be transposed and which should not.  For example, "\&" is
> just an overly complicated way to match "&", but a valid regexp, after
> all.
>
> What would be feasible, though, is a test whether TO is valid as regular
> expression before transposing, for example, with
>
>   (ignore-errors (string-match-p TO "") t)
>
> But then we probably also should test FROM for validity before
> transposing, since a lone backslash is valid as FROM, but not as TO.
>
> But then again the user might very well know what she is doing, and be
> annoyed by the extra noise caused by such a pre-transpose test.
>
> In short, I'd rather keep that feature simple, and as it is.

Indeed, the user might want to transpose these parts
to edit them more afterwards, e.g.

  SOME-TEXT → "OTHER-TEXT \&"

transpose to

  "OTHER-TEXT \&" → SOME-TEXT

then manually edit to

  OTHER-TEXT → "SOME-TEXT \&"




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

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


Received: (at 79835) by debbugs.gnu.org; 18 Nov 2025 22:51:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 18 17:51:20 2025
Received: from localhost ([127.0.0.1]:60293 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vLUXg-0000gY-8w
	for submit <at> debbugs.gnu.org; Tue, 18 Nov 2025 17:51:20 -0500
Received: from mr4.vodafonemail.de ([145.253.228.164]:58644)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <jschmidt4gnu@HIDDEN>)
 id 1vLUXd-0000gI-FS
 for 79835 <at> debbugs.gnu.org; Tue, 18 Nov 2025 17:51:18 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vodafonemail.de;
 s=vfde-mb-mr2-23sep; t=1763506270;
 bh=bXJWgRhguAj1r2/DRbNTRnUg2dxjt4K77cN9ax+0IoE=;
 h=Message-ID:Date:User-Agent:Subject:To:References:From:
 Content-Language:In-Reply-To:Content-Type:From;
 b=WlfSZKh34yiyL8581JCcgMXLfTKa3CB2wX0XRKxkmwAZSpSY26PR1N5VfSdnE5rAx
 OtAel0sxqcFsse2jH2LscRHIWhteHaytiwulD57GlLSaEgEzqF5fhdAcYyD0DDCwBT
 fUr1qdVCLNbhFDOkTA/yWco/be6BHPWGl6z8gyVs=
Received: from smtp.vodafone.de (unknown [10.0.0.2])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by mr4.vodafonemail.de (Postfix) with ESMTPS id 4dB0G62T7Vz1y2J;
 Tue, 18 Nov 2025 22:51:10 +0000 (UTC)
Received: from [192.168.178.41] (port-83-236-3-21.dynamic.as20676.net
 [83.236.3.21])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp.vodafone.de (Postfix) with ESMTPSA id 4dB0Fz3HpBz90r2;
 Tue, 18 Nov 2025 22:51:00 +0000 (UTC)
Message-ID: <cc381453-8969-4fc5-879c-ad9c192b44f1@HIDDEN>
Date: Tue, 18 Nov 2025 23:50:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#79835: [PATCH] Add query-replace-read-transpose-from-to
To: Visuwesh <visuweshm@HIDDEN>
References: <87tsywl7cq.fsf@HIDDEN> <87ecpxc3y1.fsf@HIDDEN>
 <84bd31d1-9d93-4e36-bc79-40f886a6bc00@HIDDEN>
 <874iqrocbq.fsf@HIDDEN>
From: Jens Schmidt <jschmidt4gnu@HIDDEN>
Content-Language: de-DE-frami, en-US
In-Reply-To: <874iqrocbq.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-purgate-type: clean
X-purgate: clean
X-purgate-size: 1082
X-purgate-ID: 155817::1763506270-F2CC326F-B728C37C/0/0
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79835
Cc: 79835 <at> debbugs.gnu.org, Juri Linkov <juri@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 (-)

On 2025-11-18  11:38, Visuwesh wrote:

> Shouldn't this error when `from → to' is something like
> 
>     SOME-REGEXP → "\&"
> 
> or some such where the replacement part of the command uses the fancy \X
> stuff?

Agreed, transposing FROM and TO is less helpful for
`query-replace-regexp' than for just `query-replace'.  But I somewhat
feel that it would be hard to draw a line which FROM and TO should be
allowed to be transposed and which should not.  For example, "\&" is
just an overly complicated way to match "&", but a valid regexp, after
all.

What would be feasible, though, is a test whether TO is valid as regular
expression before transposing, for example, with

  (ignore-errors (string-match-p TO "") t)

But then we probably also should test FROM for validity before
transposing, since a lone backslash is valid as FROM, but not as TO.

But then again the user might very well know what she is doing, and be
annoyed by the extra noise caused by such a pre-transpose test.

In short, I'd rather keep that feature simple, and as it is.





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

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


Received: (at 79835) by debbugs.gnu.org; 18 Nov 2025 10:39:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 18 05:39:21 2025
Received: from localhost ([127.0.0.1]:56469 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vLJ7I-0002vI-Fq
	for submit <at> debbugs.gnu.org; Tue, 18 Nov 2025 05:39:20 -0500
Received: from mail-pl1-x641.google.com ([2607:f8b0:4864:20::641]:60831)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <visuweshm@HIDDEN>)
 id 1vLJ7E-0002uq-0Y
 for 79835 <at> debbugs.gnu.org; Tue, 18 Nov 2025 05:39:18 -0500
Received: by mail-pl1-x641.google.com with SMTP id
 d9443c01a7336-2955623e6faso49339195ad.1
 for <79835 <at> debbugs.gnu.org>; Tue, 18 Nov 2025 02:39:15 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1763462350; x=1764067150; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:references
 :message-id:date:in-reply-to:subject:cc:to:from:from:to:cc:subject
 :date:message-id:reply-to;
 bh=0D4bZSDryVVXygjmMLGfKL7qZe8iDB+ZoC689YzwIuA=;
 b=UO1oO3ZArBRqzI9u0ofnyk5LO0VOMNlj1YoKhsn5O5E4Mia7Dd2Aer/8/V9X6YYJZh
 Syd6nap3/NPuc24yx5B1MB7gXCc878eKZpD48TR+P9X7vboC+Ul1g8hrTqk+jDtejbrC
 PbBeyFADamM1NpCcdIfz2gI1XYsQM1fMQlim5SFs7/kEjzu0KNVjx7nTGYEyKIGCc0bu
 AQZIjV9GiSV1CbNLvDme1WM/wgcIWyuVozVWJ/hzWmT9bjrhD9NFwvLw8bqGMKJ7ah+b
 ZPLZkI4OsELS5Zm7gViSsJ5TIfA1ElajRFQTe4706L+EPai1HYj7LhAnx8huMCwqF5yr
 3OMg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1763462350; x=1764067150;
 h=content-transfer-encoding:mime-version:user-agent:references
 :message-id:date:in-reply-to:subject:cc:to:from:x-gm-gg
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=0D4bZSDryVVXygjmMLGfKL7qZe8iDB+ZoC689YzwIuA=;
 b=esvnYJT6IbMlkqoXK/Vii5EcPLi/NbWKvDz+CsfE3ILr72q+aBmgsWzntZ3K9Cf+v4
 73nadoMc0OzoHZTHj3XGvPW3a6YgZ/ayfsoOMAu2mzpbaoKx67Q8hQDnEQ2CbY0ncY4E
 DfCWjQfYtkD5fQksv3x9GiIuvBP/o1z2cDUdlWe1Az6FtxQOu52F9RpncvQjv7W4BF0J
 UiU9UzuZIziPoW2vuBvVoSGqa5VciqHvm/5ROUGh19FsCT4heRc0YKqxGoTehohIBY6T
 nHa3A8n3p8xMyu3VLMlos4cbOn6HcD4O/Djz5kegodx6nkBa7RlKMgFdL/KmRz7sSaH8
 pE6A==
X-Forwarded-Encrypted: i=1;
 AJvYcCUN8xx9VSl4FRx50tHLx8TXHRM4tRTYsjpvJFjyf7bU0+RSQ9EuQXV0lOyhTE7mePSYOqeaHA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yx4/viZ3k5BxKuyJX6nyMV1yLG1yOzxCoh+YMPMxHpeVTXw/+0r
 p6KPZIRsw/dhL9bEkCR7+tbAobxNWu1/Lkhg/pIDya+1AR3454kFdgDe
X-Gm-Gg: ASbGncuXb+c8AJlSWmb3y+b6ZAo5p1Wbpv3BPl2GKitgfSSTRKmsrZIsBkMTuvAn8m6
 Y9XXNVR2udkw2FYoIbISEizg64kWAI1YKi9M0SQo/VZ8em0L1bpMZde7mDYnSugo5bae3szYqSU
 B6RwmJbCnHUZRK2WupmVLmxAykhUz/2ama4VLlKk1zbdUVWdOx75mRzsdHfOUEsuEIisuJgNx9c
 ZEKYvirEIlRW3z1y+D+Cpve+0+46A34LAC8wuwDcWPES9HGVn7K4tqWYXIUiGBNgFSJu8KB5DXZ
 OVj1s5/WWMfplxnVGS59nbov1yniVqCEKqpkC5gIecIKtloSRE7NELlPh5csMHl7NyPqjJ2IPZh
 E3IuVbwEo6xPh43aGTFZFWFaFOYcaOyUNjjz7UVf7/+M0Rv2pDmqzLLR9ZNVBFovTcHYlXokYCD
 w1kZOzUQ==
X-Google-Smtp-Source: AGHT+IE/kcMGOxyKfBpqdE8vLbO5Ezv3sZjMhhdFJmdXCqUGvooMCia0LIy+eL5nR72sx+e8n3dueA==
X-Received: by 2002:a17:902:ec84:b0:295:9c48:96c0 with SMTP id
 d9443c01a7336-2986a6b83ddmr197985675ad.5.1763462349706; 
 Tue, 18 Nov 2025 02:39:09 -0800 (PST)
Received: from localhost ([158.144.40.39]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-2985c2b0d91sm170535695ad.63.2025.11.18.02.39.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 18 Nov 2025 02:39:09 -0800 (PST)
From: Visuwesh <visuweshm@HIDDEN>
To: Jens Schmidt <jschmidt4gnu@HIDDEN>
Subject: Re: bug#79835: [PATCH] Add query-replace-read-transpose-from-to
In-Reply-To: <84bd31d1-9d93-4e36-bc79-40f886a6bc00@HIDDEN>
Date: Tue, 18 Nov 2025 16:08:17 +0530
Message-ID: <874iqrocbq.fsf@HIDDEN>
References: <87tsywl7cq.fsf@HIDDEN> <87ecpxc3y1.fsf@HIDDEN>
 <84bd31d1-9d93-4e36-bc79-40f886a6bc00@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 79835
Cc: 79835 <at> debbugs.gnu.org, Juri Linkov <juri@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.0 (-)

[=E0=AE=9E=E0=AE=BE=E0=AE=AF=E0=AE=BF=E0=AE=B1=E0=AF=81 =E0=AE=A8=E0=AE=B5=
=E0=AE=AE=E0=AF=8D=E0=AE=AA=E0=AE=B0=E0=AF=8D 16, 2025] Jens Schmidt via "B=
ug reports for GNU Emacs, the Swiss army knife of text editors" wrote:

> On 2025-11-16  17:55, Juri Linkov wrote:
>
>> Thank you very much for implementing this long-missed feature.
>> Adding a NEWS entry would be nice.

Agreed, it would be nice to finally have this.

> Please see the attached patch.  Thanks!
>
> From 79ec4fb8105cc6f2a92321dba4f3f37ae8752adf Mon Sep 17 00:00:00 2001
> From: Jens Schmidt <farblos@HIDDEN>
> Date: Fri, 14 Nov 2025 20:28:23 +0100
> Subject: [PATCH] Add query-replace-read-transpose-from-to
>
> From: Jens Schmidt <jschmidt4gnu@HIDDEN>
>
> Provide a command to easily swap 'from' and 'to' in a query replace
> operation.
>
> * lisp/replace.el (query-replace-read-transpose-from-to): New function.
> (query-replace-read-map): New keymap.
> (query-replace-read-from): Use new keymap to read from minibuffer.
> (read-regexp-map): Inherit from 'query-replace-read-map'.
> * etc/NEWS: Document the change.  (Bug#79835)
> [...]=20=20
> +(defun query-replace-read-transpose-from-to ()
> +  "Transpose the `from' and `to' of a `query-replace' operation."
> +  (interactive)
> +  (if-let* ((sep-beg
> +             (next-single-property-change (minibuffer-prompt-end) 'separ=
ator))
> +            (sep-end
> +             (next-single-property-change sep-beg 'separator)))
> +      (transpose-regions (minibuffer-prompt-end) sep-beg
> +                         sep-end (point-max))
> +    (user-error "No query-replace separator to transpose around")))
> +

Shouldn't this error when `from =E2=86=92 to' is something like

    SOME-REGEXP =E2=86=92 "\&"

or some such where the replacement part of the command uses the fancy \X
stuff?




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

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


Received: (at 79835) by debbugs.gnu.org; 18 Nov 2025 03:30:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Nov 17 22:30:14 2025
Received: from localhost ([127.0.0.1]:55126 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vLCQ1-0004ei-N7
	for submit <at> debbugs.gnu.org; Mon, 17 Nov 2025 22:30:14 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:47614)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vLCPx-0004Z6-A8
 for 79835 <at> debbugs.gnu.org; Mon, 17 Nov 2025 22:30:11 -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 1vLCPn-0005kW-W5; Mon, 17 Nov 2025 22:30:00 -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=EsCtrHD1NJMPFlBrxD1E6zaI8iR7UMPpAVLXJaHICBM=; b=UWfmsfkg7srH
 GL7uyP3hAOuUGbJIqnLNQcMRJlHK+6/WYP35km1nNl8UyktiMoQlLdm6eM8LBuzXX1BjnAMFWiGOE
 1jzwIoCVfp7qc5Iss59riE9SVMnBpX1bqS/hdx0xSu9VU4HAUm8ejYm+WrBLSB5yUiP8BBypqI22D
 i0+2mvFeKf8c9nuA2u+x/XrNl2V6G0slT+23znToyXe/BWmMRLrxwIms1MGssnCeBnvKG6jYmWlrs
 z8gXwbeSRPC2sJpzvMqRCPHROV8zIP7q1l+3NFTYo9GSzTjsAH+Pv5MEA0NNXMmxoBVbI0zPzkk4J
 8EQLaOxD7HIWuxnjyjmPsg==;
Date: Tue, 18 Nov 2025 05:29:56 +0200
Message-Id: <86ecpwkogb.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Jens Schmidt <jschmidt4gnu@HIDDEN>
In-Reply-To: <64e666bd-66f5-49df-9425-389b0030ac5f@HIDDEN> (message
 from Jens Schmidt on Mon, 17 Nov 2025 21:30:18 +0100)
Subject: Re: bug#79835: [PATCH] Add query-replace-read-transpose-from-to
References: <87tsywl7cq.fsf@HIDDEN> <87ecpxc3y1.fsf@HIDDEN>
 <84bd31d1-9d93-4e36-bc79-40f886a6bc00@HIDDEN>
 <86ldk4lu1x.fsf@HIDDEN>
 <64e666bd-66f5-49df-9425-389b0030ac5f@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 79835
Cc: 79835 <at> debbugs.gnu.org, juri@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 (---)

> Date: Mon, 17 Nov 2025 21:30:18 +0100
> Cc: juri@HIDDEN, 79835 <at> debbugs.gnu.org
> From: Jens Schmidt <jschmidt4gnu@HIDDEN>
> 
> On 2025-11-17  13:31, Eli Zaretskii wrote:
> 
> >> +(defun query-replace-read-transpose-from-to ()
> >> +  "Transpose the `from' and `to' of a `query-replace' operation."
> > 
> > This should use FROM and TO.  Something like
> > 
> >   Transpose the FROM and TO arguments of a `query-replace' operation.
> 
> Right.  I took example from functions `query-replace-read-from'
> and `query-replace-read-to', which also refer to `from' and `to',
> respectively.  Should I change these, too?

Yes, please.




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

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


Received: (at 79835) by debbugs.gnu.org; 17 Nov 2025 20:30:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Nov 17 15:30:40 2025
Received: from localhost ([127.0.0.1]:54109 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vL5s0-0006vr-Dt
	for submit <at> debbugs.gnu.org; Mon, 17 Nov 2025 15:30:40 -0500
Received: from mr3.vodafonemail.de ([145.253.228.163]:34778)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <jschmidt4gnu@HIDDEN>)
 id 1vL5rv-0006vR-Jd
 for 79835 <at> debbugs.gnu.org; Mon, 17 Nov 2025 15:30:38 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vodafonemail.de;
 s=vfde-mb-mr2-23sep; t=1763411429;
 bh=ZkD91ERKvz29KX1+RoB6iDy8Sc+hJjjtwAoppJY7IJU=;
 h=Message-ID:Date:User-Agent:Subject:To:References:From:
 Content-Language:In-Reply-To:Content-Type:From;
 b=YAE+9YUXfo7C0jvhwpX8uQDO979gxz2yaBfVExDcLJwEfQl2n53LqGQ2miZMgCcq7
 sz6lGVzpIRvR3bm06bNTcJRplV9U6PA8EU1euq572ioTSMzXi5RetP60u4iEFJb6Rf
 APncJ7v7Jw8kn/ciJzASDvajgFNDJSgYPvrF2I4I=
Received: from smtp.vodafone.de (unknown [10.0.0.2])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by mr3.vodafonemail.de (Postfix) with ESMTPS id 4d9KBF2xlxz2GRJ;
 Mon, 17 Nov 2025 20:30:29 +0000 (UTC)
Received: from [192.168.178.41] (port-92-199-130-179.dynamic.as20676.net
 [92.199.130.179])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp.vodafone.de (Postfix) with ESMTPSA id 4d9KB64vdJz9rvy;
 Mon, 17 Nov 2025 20:30:19 +0000 (UTC)
Message-ID: <64e666bd-66f5-49df-9425-389b0030ac5f@HIDDEN>
Date: Mon, 17 Nov 2025 21:30:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#79835: [PATCH] Add query-replace-read-transpose-from-to
To: Eli Zaretskii <eliz@HIDDEN>
References: <87tsywl7cq.fsf@HIDDEN> <87ecpxc3y1.fsf@HIDDEN>
 <84bd31d1-9d93-4e36-bc79-40f886a6bc00@HIDDEN>
 <86ldk4lu1x.fsf@HIDDEN>
From: Jens Schmidt <jschmidt4gnu@HIDDEN>
Content-Language: de-DE-frami, en-US
In-Reply-To: <86ldk4lu1x.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-type: clean
X-purgate: clean
X-purgate-size: 478
X-purgate-ID: 155817::1763411429-D05F4DE7-CD80C0CE/0/0
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79835
Cc: 79835 <at> debbugs.gnu.org, juri@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 (-)

On 2025-11-17  13:31, Eli Zaretskii wrote:

>> +(defun query-replace-read-transpose-from-to ()
>> +  "Transpose the `from' and `to' of a `query-replace' operation."
> 
> This should use FROM and TO.  Something like
> 
>   Transpose the FROM and TO arguments of a `query-replace' operation.

Right.  I took example from functions `query-replace-read-from'
and `query-replace-read-to', which also refer to `from' and `to',
respectively.  Should I change these, too?





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

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


Received: (at 79835) by debbugs.gnu.org; 17 Nov 2025 12:31:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Nov 17 07:31:32 2025
Received: from localhost ([127.0.0.1]:51062 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vKyOK-0005oX-Fl
	for submit <at> debbugs.gnu.org; Mon, 17 Nov 2025 07:31:32 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:33642)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vKyOI-0005oE-Ck
 for 79835 <at> debbugs.gnu.org; Mon, 17 Nov 2025 07:31:30 -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 1vKyOC-0006fg-R9; Mon, 17 Nov 2025 07:31:24 -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=IZ0/B7jvChmHRuu5TNE6ZTgB1do9vMw2WGDcI8ogKUk=; b=phrqzNkamNUy
 VdGQsMAlM+I6C/o+SGpjIAWGrWK/GZ5DBMTQWQuZUA5woSkW0+UeAbaglpy08/58h0x8IbCAXHKuX
 JFPnHAssBoZmi+tLljlM2/U1EDdo7Aaotij5ukKluxTNbFiX6GG5vNCeQrOyBU8BK3CUFP7vj0uH5
 Vad7LE7kSF2qSzHpnC4y2jfxSP8AkRpEajTwPVVfRdJJzBatvh/eXhSNE+htF5/Jf1qOPxeSReSv9
 CAwHQkvvUCQQ1QEHohgh368b3xf7UH5Lk4dTrqZY92CYZMEPo0J5ni/gnszGd9HbHCUlE/qoxaU9E
 gwXcb9Tt04MlNg38+LCJFw==;
Date: Mon, 17 Nov 2025 14:31:22 +0200
Message-Id: <86ldk4lu1x.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Jens Schmidt <jschmidt4gnu@HIDDEN>
In-Reply-To: <84bd31d1-9d93-4e36-bc79-40f886a6bc00@HIDDEN>
 (bug-gnu-emacs@HIDDEN)
Subject: Re: bug#79835: [PATCH] Add query-replace-read-transpose-from-to
References: <87tsywl7cq.fsf@HIDDEN> <87ecpxc3y1.fsf@HIDDEN>
 <84bd31d1-9d93-4e36-bc79-40f886a6bc00@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 79835
Cc: 79835 <at> debbugs.gnu.org, juri@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 (---)

> Cc: 79835 <at> debbugs.gnu.org
> Date: Sun, 16 Nov 2025 23:04:58 +0100
> From:  Jens Schmidt via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
> > Thank you very much for implementing this long-missed feature.
> > Adding a NEWS entry would be nice.
> 
> Please see the attached patch.  Thanks!

Thanks.

> +(defun query-replace-read-transpose-from-to ()
> +  "Transpose the `from' and `to' of a `query-replace' operation."

This should use FROM and TO.  Something like

  Transpose the FROM and TO arguments of a `query-replace' operation.

> +(defvar-keymap query-replace-read-map
>    :parent minibuffer-local-map
> +  ;; defining M-s as a prefix here has the side effect of hiding
        ^^^^^^^^
Please start a sentence with a capital letter.




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

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


Received: (at 79835) by debbugs.gnu.org; 16 Nov 2025 22:05:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 16 17:05:23 2025
Received: from localhost ([127.0.0.1]:47272 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vKks6-0004Sq-Kd
	for submit <at> debbugs.gnu.org; Sun, 16 Nov 2025 17:05:23 -0500
Received: from mr3.vodafonemail.de ([145.253.228.163]:44848)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <jschmidt4gnu@HIDDEN>)
 id 1vKks3-0004SR-L3
 for 79835 <at> debbugs.gnu.org; Sun, 16 Nov 2025 17:05:20 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vodafonemail.de;
 s=vfde-mb-mr2-23sep; t=1763330712;
 bh=EywetvulEBr8rLB2L1etEvc/RMmQD2gr67BwzdRBRGE=;
 h=Content-Type:Message-ID:Date:User-Agent:Subject:To:References:
 From:Content-Language:In-Reply-To:From;
 b=YSoay7RfT0fPoSP5VMhcTiVqXIQDpiKgexJicz3Y84TJi0D8b5iBTR1nQci49fVKN
 ltv8I8YrGJf1rflpYx+nSj3q4hXI7AyhZXfmlDuISZw/hFd25H8gzNR2WKXpC+nTWd
 FI2oEci6u3zdm34VGvSz5lWk6RTdWuJ+clPEwpn0=
Received: from smtp.vodafone.de (unknown [10.0.0.2])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by mr3.vodafonemail.de (Postfix) with ESMTPS id 4d8lL05Qxkz2Gdp;
 Sun, 16 Nov 2025 22:05:12 +0000 (UTC)
Received: from [192.168.178.41] (port-92-199-213-92.dynamic.as20676.net
 [92.199.213.92])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp.vodafone.de (Postfix) with ESMTPSA id 4d8lKx19VHz8sYr;
 Sun, 16 Nov 2025 22:05:05 +0000 (UTC)
Content-Type: multipart/mixed; boundary="------------0r0iA1fIG3Q8zMMpRHtGXk0X"
Message-ID: <84bd31d1-9d93-4e36-bc79-40f886a6bc00@HIDDEN>
Date: Sun, 16 Nov 2025 23:04:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#79835: [PATCH] Add query-replace-read-transpose-from-to
To: Juri Linkov <juri@HIDDEN>
References: <87tsywl7cq.fsf@HIDDEN> <87ecpxc3y1.fsf@HIDDEN>
From: Jens Schmidt <jschmidt4gnu@HIDDEN>
Content-Language: de-DE-frami, en-US
In-Reply-To: <87ecpxc3y1.fsf@HIDDEN>
X-purgate-type: clean
X-purgate: clean
X-purgate-size: 5722
X-purgate-ID: 155817::1763330712-2F57D911-F970E5F5/0/0
X-Spam-Score: -1.7 (-)
X-Debbugs-Envelope-To: 79835
Cc: 79835 <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: -2.7 (--)

This is a multi-part message in MIME format.
--------------0r0iA1fIG3Q8zMMpRHtGXk0X
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 2025-11-16  17:55, Juri Linkov wrote:

> Thank you very much for implementing this long-missed feature.
> Adding a NEWS entry would be nice.

Please see the attached patch.  Thanks!

--------------0r0iA1fIG3Q8zMMpRHtGXk0X
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-Add-query-replace-read-transpose-from-to.patch"
Content-Disposition: attachment;
 filename="0001-Add-query-replace-read-transpose-from-to.patch"
Content-Transfer-Encoding: base64

RnJvbSA3OWVjNGZiODEwNWNjNmYyYTkyMzIxZGJhNGYzZjM3YWU4NzUyYWRmIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKZW5zIFNjaG1pZHQgPGZhcmJsb3NAdm9kYWZvbmVt
YWlsLmRlPgpEYXRlOiBGcmksIDE0IE5vdiAyMDI1IDIwOjI4OjIzICswMTAwClN1YmplY3Q6
IFtQQVRDSF0gQWRkIHF1ZXJ5LXJlcGxhY2UtcmVhZC10cmFuc3Bvc2UtZnJvbS10bwoKRnJv
bTogSmVucyBTY2htaWR0IDxqc2NobWlkdDRnbnVAdm9kYWZvbmVtYWlsLmRlPgoKUHJvdmlk
ZSBhIGNvbW1hbmQgdG8gZWFzaWx5IHN3YXAgJ2Zyb20nIGFuZCAndG8nIGluIGEgcXVlcnkg
cmVwbGFjZQpvcGVyYXRpb24uCgoqIGxpc3AvcmVwbGFjZS5lbCAocXVlcnktcmVwbGFjZS1y
ZWFkLXRyYW5zcG9zZS1mcm9tLXRvKTogTmV3IGZ1bmN0aW9uLgoocXVlcnktcmVwbGFjZS1y
ZWFkLW1hcCk6IE5ldyBrZXltYXAuCihxdWVyeS1yZXBsYWNlLXJlYWQtZnJvbSk6IFVzZSBu
ZXcga2V5bWFwIHRvIHJlYWQgZnJvbSBtaW5pYnVmZmVyLgoocmVhZC1yZWdleHAtbWFwKTog
SW5oZXJpdCBmcm9tICdxdWVyeS1yZXBsYWNlLXJlYWQtbWFwJy4KKiBldGMvTkVXUzogRG9j
dW1lbnQgdGhlIGNoYW5nZS4gIChCdWcjNzk4MzUpCi0tLQogZXRjL05FV1MgICAgICAgIHwg
IDYgKysrKysrCiBsaXNwL3JlcGxhY2UuZWwgfCAyNCArKysrKysrKysrKysrKysrKysrKysr
LS0KIDIgZmlsZXMgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK
CmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDM1YzUzNmQ2ZWU4Li5k
ODFhNjkwMTlkMCAxMDA2NDQKLS0tIGEvZXRjL05FV1MKKysrIGIvZXRjL05FV1MKQEAgLTgy
OSw2ICs4MjksMTIgQEAgYWN0aXZhdGUgdGhlIG1hcmsgaWYgaXQgaXMgbm90IGFscmVhZHkg
YWN0aXZlLgogVGhlIGRlZmF1bHQgdmFsdWUgaXMgdCwgd2hpY2ggcmV0YWlucyB0aGUgb2xk
IGJlaGF2aW9yLgogVGhpcyB2YXJpYWJsZSBoYXMgbm8gZWZmZWN0IHdoZW4gVHJhbnNpZW50
IE1hcmsgbW9kZSBpcyBvZmYuCiAKKy0tLQorKiogWW91IGNhbiBub3cgdXNlICdNLXMgdCcg
dG8gc3dhcCAnZnJvbScgYW5kICd0bycgZHVyaW5nICdxdWVyeS1yZXBsYWNlJy4KK0xpa2V3
aXNlIGR1cmluZyAncXVlcnktcmVwbGFjZS1yZWdleHAnLiAgVGhlIG9yaWdpbmFsIGJpbmRp
bmcgb2YgJ00tcycKKygnbmV4dC1tYXRjaGluZy1oaXN0b3J5LWVsZW1lbnQnKSBpcyBub3cg
YXZhaWxhYmxlIG9uICdNLXMgTS1zJyBvciAnTS1zCitzJyBmb3IgcXVlcnkgcmVwbGFjZSBt
aW5pYnVmZmVyIGlucHV0LgorCiAtLS0KICoqIE5ldyBjb21tYW5kcyBmb3IgZmlsbGluZyB0
ZXh0IHVzaW5nIHNlbWFudGljIGxpbmVmZWVkcy4KIFRoZSBuZXcgY29tbWFuZCAnZmlsbC1w
YXJhZ3JhcGgtc2VtbGYnIGZpbGxzIGEgcGFyYWdyYXBoIG9mIHRleHQgdXNpbmcKZGlmZiAt
LWdpdCBhL2xpc3AvcmVwbGFjZS5lbCBiL2xpc3AvcmVwbGFjZS5lbAppbmRleCA2NjM1Y2M2
YWZlNC4uZjllNWM3OGRmYjAgMTAwNjQ0Ci0tLSBhL2xpc3AvcmVwbGFjZS5lbAorKysgYi9s
aXNwL3JlcGxhY2UuZWwKQEAgLTI2Myw3ICsyNjMsNyBAQCBxdWVyeS1yZXBsYWNlLXJlYWQt
ZnJvbQogICAgICAgICAgICAgICAgICAgIHF1ZXJ5LXJlcGxhY2UtcmVhZC1mcm9tLXJlZ2V4
cC1kZWZhdWx0CiAgICAgICAgICAgICAgICAgICAgJ21pbmlidWZmZXItaGlzdG9yeSkKICAg
ICAgICAgICAgICAgICAocmVhZC1mcm9tLW1pbmlidWZmZXIKLSAgICAgICAgICAgICAgICAg
cHJvbXB0IG5pbCBuaWwgbmlsIG5pbAorICAgICAgICAgICAgICAgICBwcm9tcHQgbmlsIHF1
ZXJ5LXJlcGxhY2UtcmVhZC1tYXAgbmlsIG5pbAogICAgICAgICAgICAgICAgICAoaWYgZGVm
YXVsdAogICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZS1kdXBzCiAgICAgICAgICAgICAg
ICAgICAgICAgKGNvbnMgZGVmYXVsdCAocXVlcnktcmVwbGFjZS1yZWFkLWZyb20tc3VnZ2Vz
dGlvbnMpKSkKQEAgLTM4Nyw2ICszODcsMTcgQEAgcXVlcnktcmVwbGFjZS1yZWFkLWFyZ3MK
ICAgICAgICAgICAgICAgICAgICAgIChnZXQtdGV4dC1wcm9wZXJ0eSAwICdpc2VhcmNoLXJl
Z2V4cC1mdW5jdGlvbiBmcm9tKSkpCiAgICAgICAgICAgICAoYW5kIGN1cnJlbnQtcHJlZml4
LWFyZyAoZXEgY3VycmVudC1wcmVmaXgtYXJnICctKSkpKSkpCiAKKyhkZWZ1biBxdWVyeS1y
ZXBsYWNlLXJlYWQtdHJhbnNwb3NlLWZyb20tdG8gKCkKKyAgIlRyYW5zcG9zZSB0aGUgYGZy
b20nIGFuZCBgdG8nIG9mIGEgYHF1ZXJ5LXJlcGxhY2UnIG9wZXJhdGlvbi4iCisgIChpbnRl
cmFjdGl2ZSkKKyAgKGlmLWxldCogKChzZXAtYmVnCisgICAgICAgICAgICAgKG5leHQtc2lu
Z2xlLXByb3BlcnR5LWNoYW5nZSAobWluaWJ1ZmZlci1wcm9tcHQtZW5kKSAnc2VwYXJhdG9y
KSkKKyAgICAgICAgICAgIChzZXAtZW5kCisgICAgICAgICAgICAgKG5leHQtc2luZ2xlLXBy
b3BlcnR5LWNoYW5nZSBzZXAtYmVnICdzZXBhcmF0b3IpKSkKKyAgICAgICh0cmFuc3Bvc2Ut
cmVnaW9ucyAobWluaWJ1ZmZlci1wcm9tcHQtZW5kKSBzZXAtYmVnCisgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VwLWVuZCAocG9pbnQtbWF4KSkKKyAgICAodXNlci1lcnJvciAiTm8g
cXVlcnktcmVwbGFjZSBzZXBhcmF0b3IgdG8gdHJhbnNwb3NlIGFyb3VuZCIpKSkKKwogKGRl
ZnVuIHF1ZXJ5LXJlcGxhY2UgKGZyb20tc3RyaW5nIHRvLXN0cmluZyAmb3B0aW9uYWwgZGVs
aW1pdGVkIHN0YXJ0IGVuZCBiYWNrd2FyZCByZWdpb24tbm9uY29udGlndW91cy1wKQogICAi
UmVwbGFjZSBzb21lIG9jY3VycmVuY2VzIG9mIEZST00tU1RSSU5HIHdpdGggVE8tU1RSSU5H
LgogQXMgZWFjaCBtYXRjaCBpcyBmb3VuZCwgdGhlIHVzZXIgbXVzdCB0eXBlIGEgY2hhcmFj
dGVyIHNheWluZwpAQCAtODI5LDggKzg0MCwxNyBAQCByZWFkLXJlZ2V4cC1zdWdnZXN0aW9u
cwogICAgKHJlZ2V4cC1xdW90ZSAob3IgKGNhciBzZWFyY2gtcmluZykgIiIpKQogICAgKGNh
ciAoc3ltYm9sLXZhbHVlIHF1ZXJ5LXJlcGxhY2UtZnJvbS1oaXN0b3J5LXZhcmlhYmxlKSkp
KQogCi0oZGVmdmFyLWtleW1hcCByZWFkLXJlZ2V4cC1tYXAKKyhkZWZ2YXIta2V5bWFwIHF1
ZXJ5LXJlcGxhY2UtcmVhZC1tYXAKICAgOnBhcmVudCBtaW5pYnVmZmVyLWxvY2FsLW1hcAor
ICA7OyBkZWZpbmluZyBNLXMgYXMgYSBwcmVmaXggaGVyZSBoYXMgdGhlIHNpZGUgZWZmZWN0
IG9mIGhpZGluZworICA7OyByZWd1bGFyIE0tcywgYm91bmQgdG8gYG5leHQtbWF0Y2hpbmct
aGlzdG9yeS1lbGVtZW50JyBpbiB0aGUKKyAgOzsgZGVmYXVsdCBtaW5pYnVmZmVyIG1hcC4g
IFRyeSB0byBtaXRpZ2F0ZSB0aGF0IGxvc3MuCisgICJNLXMgcyIgIyduZXh0LW1hdGNoaW5n
LWhpc3RvcnktZWxlbWVudAorICAiTS1zIE0tcyIgIyduZXh0LW1hdGNoaW5nLWhpc3Rvcnkt
ZWxlbWVudAorICAiTS1zIHQiICMncXVlcnktcmVwbGFjZS1yZWFkLXRyYW5zcG9zZS1mcm9t
LXRvKQorCisoZGVmdmFyLWtleW1hcCByZWFkLXJlZ2V4cC1tYXAKKyAgOnBhcmVudCBxdWVy
eS1yZXBsYWNlLXJlYWQtbWFwCiAgICJNLXMgYyIgIydyZWFkLXJlZ2V4cC10b2dnbGUtY2Fz
ZS1mb2xkKQogCiAoZGVmdmFyIHJlYWQtcmVnZXhwLS1jYXNlLWZvbGQgbmlsKQotLSAKMi40
Ny4zCgo=

--------------0r0iA1fIG3Q8zMMpRHtGXk0X--




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

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


Received: (at 79835) by debbugs.gnu.org; 16 Nov 2025 17:10:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 16 12:10:40 2025
Received: from localhost ([127.0.0.1]:46125 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vKgGu-0005h9-16
	for submit <at> debbugs.gnu.org; Sun, 16 Nov 2025 12:10:40 -0500
Received: from mout-p-202.mailbox.org ([80.241.56.172]:54584)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1vKgGq-0005ge-Hx
 for 79835 <at> debbugs.gnu.org; Sun, 16 Nov 2025 12:10:37 -0500
Received: from smtp2.mailbox.org (smtp2.mailbox.org [10.196.197.2])
 (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-202.mailbox.org (Postfix) with ESMTPS id 4d8cnv631Bz9tQs;
 Sun, 16 Nov 2025 18:10:27 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001; 
 t=1763313027;
 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=2mKxCuf356IOnENrt8QOObA4J9qXm5Xm/t8E18qj85g=;
 b=VGQqsh2oCWmIsZagixBUL8HyZ70sGluFyWYrxW2PCizueNpFxWG5pWlw0rkRo5n/R5WXtQ
 7LPBOzUj0VqTcGNmpantMNhAy5vSvUrv5CEAFfDbHrK7pgxd+MSf6v32KTtm5SRujLSr+T
 WXU54c8Azpo01F25beKASo5vBqukdpKZdAq+CwiI/mIJJ8NnaKGQXY74dc1RYeH3nSZ9Pn
 7DMOLi92uVS8vKOqL+r59kogD4YoaulLP4+9DBb2JF2MAnHgwzUPBAVUZgjZPzr/iGsbgk
 l3PfTxQnnnSl3I4bHTngsdUtHl5Sy8YdPkOkYDXBtB/3gDnPIV1sulUvnggifQ==
From: Juri Linkov <juri@HIDDEN>
To: Jens Schmidt <jschmidt4gnu@HIDDEN>
Subject: Re: bug#79835: [PATCH] Add query-replace-read-transpose-from-to
In-Reply-To: <87tsywl7cq.fsf@HIDDEN>
Organization: LINKOV.NET
References: <87tsywl7cq.fsf@HIDDEN>
Date: Sun, 16 Nov 2025 18:55:34 +0200
Message-ID: <87ecpxc3y1.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79835
Cc: 79835 <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 (-)

> If you find this idea useful, I'd make that a full-fledged patch.  Which
> in that case probably just means to add a NEWS entry: I don't consider
> this feature important enough to document it in any manual, and
> replace-tests.el does not seem to have the infrastructure to simulate
> minibuffer actions.

Thank you very much for implementing this long-missed feature.
Adding a NEWS entry would be nice.




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

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


Received: (at submit) by debbugs.gnu.org; 14 Nov 2025 19:53:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 14 14:53:19 2025
Received: from localhost ([127.0.0.1]:60259 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vJzrC-0006hD-M7
	for submit <at> debbugs.gnu.org; Fri, 14 Nov 2025 14:53:19 -0500
Received: from lists.gnu.org ([2001:470:142::17]:46288)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <jschmidt4gnu@HIDDEN>)
 id 1vJzrA-0006gk-AQ
 for submit <at> debbugs.gnu.org; Fri, 14 Nov 2025 14:53:17 -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 <jschmidt4gnu@HIDDEN>)
 id 1vJzqn-0006kG-L1
 for bug-gnu-emacs@HIDDEN; Fri, 14 Nov 2025 14:52:57 -0500
Received: from mr3.vodafonemail.de ([145.253.228.163])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <jschmidt4gnu@HIDDEN>)
 id 1vJzqj-0007pa-Rw
 for bug-gnu-emacs@HIDDEN; Fri, 14 Nov 2025 14:52:51 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vodafonemail.de;
 s=vfde-mb-mr2-23sep; t=1763149961;
 bh=fjGj96grjck4qre4Sfx4rBlEkAmXzrS/N4PY+aOJxAA=;
 h=From:To:Subject:Date:Message-ID:Content-Type:From;
 b=gJEYX2mXgSdfti4fMLzj4eBufuurM7Cy9XY+QdmZBRgloOsr/v3LMvo611hiHymX+
 R04t2ZsJJ/oxqkc9JQKX3l3ebYIrZXqpE1XKqyfteaucWP4rbpX6e180DBE3bao6tN
 pH2LhzumQ+3aREitI+HcQJbc7IvP2sNMoy0bP3zQ=
Received: from smtp.vodafone.de (unknown [10.0.0.2])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by mr3.vodafonemail.de (Postfix) with ESMTPS id 4d7SV15Svsz2JLj
 for <bug-gnu-emacs@HIDDEN>; Fri, 14 Nov 2025 19:52:41 +0000 (UTC)
Received: from sappc2 (port-92-196-195-162.dynamic.as20676.net
 [92.196.195.162])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (prime256v1) server-signature RSA-PSS (2048 bits)
 server-digest SHA256) (No client certificate requested)
 by smtp.vodafone.de (Postfix) with ESMTPSA id 4d7SV06pg8z918Z
 for <bug-gnu-emacs@HIDDEN>; Fri, 14 Nov 2025 19:52:37 +0000 (UTC)
From: Jens Schmidt <jschmidt4gnu@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: [PATCH] Add query-replace-read-transpose-from-to
X-Debbugs-Cc: Juri Linkov <juri@HIDDEN>
Date: Fri, 14 Nov 2025 20:52:37 +0100
Message-ID: <87tsywl7cq.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-purgate-type: clean
X-purgate: clean
X-purgate-size: 5009
X-purgate-ID: 155817::1763149961-3AC83D46-DF7FA4F1/0/0
Received-SPF: pass client-ip=145.253.228.163;
 envelope-from=jschmidt4gnu@HIDDEN; helo=mr3.vodafonemail.de
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 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,
 RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001,
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.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: -1.0 (-)

--=-=-=
Content-Type: text/plain

Tags: patch

Occasionally I find it useful to transpose/swap the "from" and "to" in
the minibuffer query of a `query-replace' or `query-replace-regexp'.
For example:

- To undo a replacement that (because of other editing that already has
  happened) cannot be easily undone with C-_.

- To replace first "foo" => "bar", then "bar" => "baz" for a subset of
  the previous replacements.

The attached patch provides a new command
`query-replace-read-transpose-from-to' that does exactly that.

There is one cave-at: For the new command I extended the prefix M-s
already used by `query-replace-regexp' (through `read-regexp-map') also
to be used by plain `query-replace' (through new
`query-replace-read-map').  This hides the current binding of M-s for
`next-matching-history-element'.  See patch for details.

If you find this idea useful, I'd make that a full-fledged patch.  Which
in that case probably just means to add a NEWS entry: I don't consider
this feature important enough to document it in any manual, and
replace-tests.el does not seem to have the infrastructure to simulate
minibuffer actions.

Thanks!

In GNU Emacs 31.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version
 3.24.49, cairo version 1.18.4) of 2025-11-14 built on sappc2
Repository revision: 394090486ccbf94f42661cac592ca5f29b5b1fe8
Repository branch: add-query-replace-read-transpose-from-to
Windowing system distributor 'The X.Org Foundation', version 11.0.12401006
System Description: Debian GNU/Linux 13 (trixie)

Configured using:
 'configure -C --build x86_64-linux-gnu --sharedstatedir=/var/lib
 --localstatedir=/var/lib --with-libsystemd --with-pop=yes
 --with-sound=alsa --without-gconf --with-mailutils --with-cairo
 --with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars
 build_alias=x86_64-linux-gnu'


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
 filename=0001-Add-query-replace-read-transpose-from-to.patch

From f41e981745ce2477ce5a401d8236c13d386b2a26 Mon Sep 17 00:00:00 2001
From: Jens Schmidt <farblos@HIDDEN>
Date: Fri, 14 Nov 2025 20:28:23 +0100
Subject: [PATCH] Add query-replace-read-transpose-from-to

From: Jens Schmidt <jschmidt4gnu@HIDDEN>

Provide a means to easily transpose `from' and `to' in a `query-replace'
operation.

* lisp/replace.el (query-replace-read-transpose-from-to): New function.
(query-replace-read-map): New keymap.
(query-replace-read-from): Use new keymap to read from minibuffer.
(read-regexp-map): Inherit from `query-replace-read-map'.
---
 lisp/replace.el | 24 ++++++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)

diff --git a/lisp/replace.el b/lisp/replace.el
index 6635cc6afe4..c5c42012d7b 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -263,7 +263,7 @@ query-replace-read-from
                    query-replace-read-from-regexp-default
                    'minibuffer-history)
                 (read-from-minibuffer
-                 prompt nil nil nil nil
+                 prompt nil query-replace-read-map nil nil
                  (if default
                      (delete-dups
                       (cons default (query-replace-read-from-suggestions)))
@@ -387,6 +387,17 @@ query-replace-read-args
                      (get-text-property 0 'isearch-regexp-function from)))
             (and current-prefix-arg (eq current-prefix-arg '-))))))
 
+(defun query-replace-read-transpose-from-to ()
+  "Transpose the `from' and `to' of a `query-replace' operation."
+  (interactive)
+  (if-let* ((sep-beg
+             (next-single-property-change (minibuffer-prompt-end) 'separator))
+            (sep-end
+             (next-single-property-change sep-beg 'separator)))
+      (transpose-regions (minibuffer-prompt-end) sep-beg
+                         sep-end (point-max))
+    (user-error "No search-replace separator to transpose around")))
+
 (defun query-replace (from-string to-string &optional delimited start end backward region-noncontiguous-p)
   "Replace some occurrences of FROM-STRING with TO-STRING.
 As each match is found, the user must type a character saying
@@ -829,8 +840,17 @@ read-regexp-suggestions
    (regexp-quote (or (car search-ring) ""))
    (car (symbol-value query-replace-from-history-variable))))
 
-(defvar-keymap read-regexp-map
+(defvar-keymap query-replace-read-map
   :parent minibuffer-local-map
+  ;; defining M-s as a prefix here has the side effect of hiding
+  ;; regular M-s, bound to `next-matching-history-element' in the
+  ;; default minibuffer map.  Try to mitigate that loss.
+  "M-s s" #'next-matching-history-element
+  "M-s M-s" #'next-matching-history-element
+  "M-s t" #'query-replace-read-transpose-from-to)
+
+(defvar-keymap read-regexp-map
+  :parent query-replace-read-map
   "M-s c" #'read-regexp-toggle-case-fold)
 
 (defvar read-regexp--case-fold nil)
-- 
2.47.3


--=-=-=--




Acknowledgement sent to Jens Schmidt <jschmidt4gnu@HIDDEN>:
New bug report received and forwarded. Copy sent to juri@HIDDEN, bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to juri@HIDDEN, bug-gnu-emacs@HIDDEN:
bug#79835; 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: Fri, 28 Nov 2025 07:15:01 UTC

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