From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 23 14:16:42 2022 Received: (at submit) by debbugs.gnu.org; 23 Dec 2022 19:16:42 +0000 Received: from localhost ([127.0.0.1]:38380 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8nX8-0000io-9p for submit@debbugs.gnu.org; Fri, 23 Dec 2022 14:16:42 -0500 Received: from lists.gnu.org ([209.51.188.17]:34870) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p8nX6-0000if-Ki for submit@debbugs.gnu.org; Fri, 23 Dec 2022 14:16:41 -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 ) id 1p8nX4-0004Le-Jq for bug-gnu-emacs@gnu.org; Fri, 23 Dec 2022 14:16:40 -0500 Received: from sonic304-23.consmr.mail.ir2.yahoo.com ([77.238.179.148]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p8nX0-0007JN-J9 for bug-gnu-emacs@gnu.org; Fri, 23 Dec 2022 14:16:36 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.es; s=s2048; t=1671822986; bh=u8DcQ0LBiTqAy/5TqFhe7pfKmOmR9x/3FAPAPT2LNkc=; h=From:To:Subject:Date:References:From:Subject:Reply-To; b=g6X4ZtjIOPoCYURXhTDwHejn864QW9tXe1cD3vtlHq8WPc+SXKmLce0dIbsOrsy7uCTI57eDydIKt2DzK5MKN1KeUJy5/67QW7+RW3G7T+immXkkJwNMp1hz+a3mU4OCFmQpt9hkC3nBQG5WgXsKCwU8slcHo/nfVOIuXc0iZsE041WZedYHE223MH0MCfF0xfkZBYM983Dzn1sOSNkTM0y//cHlJ+uARwNCSq7Zr3o/v3ScW6n/l7M9Iexbf0bhvh9KJDckxPAFV750dnBN06Tl2+fOnOSG5NuOpmqL25ixgwpOGefBF8EjFeSx7yWfA1fDFzBNLs8mFBGZ7zPeUA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1671822986; bh=Dt9n+IU/enA0sRt1Sli6TsGDCRpT7rdVY+W0ZWXxsPW=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=qVw9DXe0YVY9iBzZL8CKwadifEArMzXXFGadN/p92RDHpjOR4RWWwKdub/Ixt9DeQnRYV/CThDdUyEcSMCKU8s9fSh7WuyepxqgHqKX5Q4CVVtv083ORIHqlCsBvzIGtVdmOe9C0DgrmHy7cfK4qWS9jx9dkkC0Z6DI4g2ZzW1cvKPPhyjGr2E+54nl/ZnThjry3KDMsKC/f9HCspqE8mgwkk7vgkE9EHqyN/r+dmg1fX1Roqp4IakfJsRmJ4jCpvKPSEO5eKWp38qFoCVSplFMppmCcYo92PHcyHk4pZOOWKPhV4o3WuDrkgbLNpeR6kuy0pL7t1+eCGoHswkTzwA== X-YMail-OSG: U3QYoHUVM1k3UfS9aDhDTGVP5w0wrOggdKbsMk.MzyrZHeXod9d9N9DPiERNpPe YWCmBlsPS8TwXKukyITJ84VQUb4jUy3P7oxvSzCSc0oFzreJspJNd.VpftMrnp2IkTDuXtGG2Xe9 CIRnVHaoQGhAJVUE..pwOIDAJ3Cx6ZVTky2uh_svcUki4tzMIIDY2r19QR_PrD4LG5oQXRCtrpBE FTuo0yVr5wCtcEMkncs0kI_o3RAcHmhukbANDQP4e62V3OEj4fsXCtjdqJCwXPJs3aPYrF6yqJHJ Z4Zol18oChf4LGBhJNzBS11Hc7O.FO4A4UNM5ogmsoxRei5zLFPHwCnKy5RgBgQAW91o_G5n.WDG JR9wNl_axwEJp3cm7qHCUy4mmFHcmkgk1vwFemJKg5rprwmrPhNwMMpQthJdnE9jHoObh3T2txbI tGxlNrhIovfgZB.sRkYPCR_J.nzWyV80jsncBO1tBLc0eaFOyJusYAG48CI9ZuGqjB4_padketzA aDOrORXOJrML7hvkGRgZiupISRbkLvHF7zo.JHuG9xZJRrkHfV0nAmZsboSm2Rc09cL.2XH_zKhY WIiJqHTxnwV3Qyuhm4BwEdT1ho2IvsaQpyasJpHHc9GSDbfemmnTA8FZ1v6jvi1wULOVWNm.WG_q 6tjTYeaiJyODl38DqIPp45tkWYuMRb2ddMCluGy2sU5m7uftiuO_WVQIbHHW40weWvAdEhA19J7m PkXbCRUXjzTrR0cxjVBb.h9gTMdWL5BHOadWfZvMPPasMQyEBt8kXMbg9E5yvET7AfflhIj4RJGq ZqbgosauK0iZ_fc9iqB8gAtoiP_7lFCbzKYwedM1Gtry.BJGjLyklLKV8NFocPOkslwOVmVp0BhQ G6yYPj.8QJ14NCRy6KDonB7ppqZyqM08ag5_kzwOV.3K_aVNumE8SzIVr0nItHvcsXCtpl1ppLqQ BafbYuzOHdx6vrkg4yzsjAxhBJ_lloTsnTnRQjGBykgDBePwOo_r4rch_TvZzALhSQ6mBfV26VtI dru8WybyofLu6axdjwAngl3RJQh_wKHIOFeIontfe9tGPLaRAcuXBlWJqR1CVbXX5BYqlnG2VNyz ZYjL0nffmfpOcal75fjrGMqsuo5NPLApyMbyoONcJnyHB9RaR3EwRsLXq3U6lDMP47U7Zo21iZBj luYnpZsRDT8hNXxPIoCV0M7xn9mNn5uXT_.iKVeahrzX.wLWldK4wQfN53eLpu_xOpQ6C_0s230F laNd_5dV2PpP1sMNYls4VOzEsl5FT2VLcjgeixu77KtA6__kwWywMTIzQHjg5PY4JD6syuByZi5o BPLJiIiXsoLV7zwckGKDn4_19RvadOAF6Ta4mjqxvHp2aQ4SuFHOIOfwTFkVoOrg.S0gqoKnyprY hKav8_CGSdp3LoDaC4jGz.KQHbd0Y8CDz5PmS_7j7KCAJStQK4EyYEZC3Z8WKargFjPVDTDvolg2 0HO4ISL4BGwiF446rGFVFHVBxE4LRvnckF5YmkZTUSvfxZKZdM_1Q2EhrJixCE4Nj3i7jgDDEoUK Wi6dcvHywoykmkEPfr9LxhLN7Ps9wNJYNFhFBS80KQzBpqmZAHp0beFjZPPSd3n5bGiNC6gnClh0 T.c8hRjH974Pu6LquKSdLg2YmNBHyDF38KeGvTi7xqRPVmBSDO6SaGKOmutqcdrhTmhXyyOmGM3H LcL84oOdWjnIwk_WsfTSy.eBp7mR1y9Fg7AXKDMSvD9j.Op_g_ZWz7K02Hjo1GA6hmNGl9oQX9xY u8MM.WHTpV.rqxKVwKtSwdAUQh6mmvgov940oNbN3zwjaKY49QoLth1jyxc3dFf2x2MR3GYP5kdG 0IIGMSMuCC2lYgyn0i9C.BRd1cqqJPfBC7IQm16Ap5KJ.2e1TPYTkhZcYUEsf8xOsVcULhCjm5WT yww8bqV_7GqKnI5Etuw4TPVo6.qhY7k1TyS9Doq1I6VMfQ6PT0NXepVjOehvI7jS09M_1sWrX8lW RoLGLCun0aGnUizjoUb4UUBtsor3v6qIS4OjCqcgSMvYYNy1Yh1OPjqmYYhxAsgbc7vi75avMqKx fePQ6B7yrwS.4sz2nGeatrtRGKXk0m1Q7AMNuIVDPMKNwslyMz42wtNErZYJp_0CBsXTgzE5EwLX dzR89XWT60ZICrc66742Y7BDdZpzDm49dUJBOonCD0bN96O9xPSJJiPZaGzvxlDVQfTVhiBCnHi. DLQXN2RrU9e7TMU0oeTDVDyMTMLJmPQ-- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic304.consmr.mail.ir2.yahoo.com with HTTP; Fri, 23 Dec 2022 19:16:26 +0000 Received: by hermes--production-ir2-5795fc58c8-hft2t (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 5ac1f480540caa7c459e7a90fe2aebb0; Fri, 23 Dec 2022 19:16:25 +0000 (UTC) From: =?utf-8?Q?Daniel_Mart=C3=ADn?= To: bug-gnu-emacs@gnu.org Subject: xref-query-replace-in-results could show an arrow pointing to the current item being replaced Date: Fri, 23 Dec 2022 20:16:24 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain References: X-Mailer: WebService/1.1.20982 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 336 Received-SPF: pass client-ip=77.238.179.148; envelope-from=mardani29@yahoo.es; helo=sonic304-23.consmr.mail.ir2.yahoo.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Severity: wishlist When you use xref-query-replace-in-results to replace some references, it'd be great if the xref buffer showed an overlay arrow (see xref--set-arrow) pointing to the reference being edited. That'd give better context about the reference that is being edited and the global progress of the query replace operation. From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 24 12:45:11 2022 Received: (at 60285) by debbugs.gnu.org; 24 Dec 2022 17:45:12 +0000 Received: from localhost ([127.0.0.1]:47083 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p98a7-0002rA-HQ for submit@debbugs.gnu.org; Sat, 24 Dec 2022 12:45:11 -0500 Received: from mail-wm1-f51.google.com ([209.85.128.51]:53112) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p98a6-0002qr-7A for 60285@debbugs.gnu.org; Sat, 24 Dec 2022 12:45:10 -0500 Received: by mail-wm1-f51.google.com with SMTP id ay40so5490411wmb.2 for <60285@debbugs.gnu.org>; Sat, 24 Dec 2022 09:45:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:from:references:to:content-language:subject:user-agent :mime-version:date:message-id:sender:from:to:cc:subject:date :message-id:reply-to; bh=RFV8JmvP9iM6hWWoXmDUf1GK1U+rFDUnpQDhVlLPbxg=; b=eD6xsW9qi0pQPKrNVczfZGwubEttpB0CdZrUn+4/l4cOBsUhw2rjH4kVYu8YWncdPC Z8pmzu9zjyGLbHQJHEfYG2KXXTb4pUyazR+6J+Ii2wLlJMZoj6CONbOJw/2J3aVMcB8j OUjo5fIzY2cv7DIDTNIIqh/fihMEXyjaAH2NG5EqO+LQOKoPl/5fhDC/fDMh6QDktEDU wrPPikMyo8/FX3aYX9bpZqyu1cIqoVyFwY5gLouqUf37nB3WIz63Q0/461Y7mRoTwBrA InmDL61+Dn2CLWymm9Lu4IlFoHibKP1IOZrlr6/C3pmJMV5fRaB5Qf2XP268CcSXRgXt 3YAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:from:references:to:content-language:subject:user-agent :mime-version:date:message-id:sender:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RFV8JmvP9iM6hWWoXmDUf1GK1U+rFDUnpQDhVlLPbxg=; b=jTIxYPoFN/zRrt9EogkLccRNb+9Uj1FQ1WqgN+pQKUa08cK+Kqpqqzm9nefyIJnto3 ixlcPp7RsVR/2UNI/fh+Waqi1Q4sLiSq2Y/KBOwnj8Bc6VGzJhiocbGfOWSakVsYFiwM QqQRMVmsdny3D01eA27CmB5n5EjJynJFZMe0bVcNJK1jA3YsstPvyhVdDkIo/FIa5KCX Rwd/MBnVXgo3S2+NgNkTvs6ks8xpqnTqv+wq67byj2E3AF75nTssxe0UgnZoiB9xPKv4 H7CjOAkkR2zCqjlCy80f8s7g75vUH+wIEDSy6/Ak8OZAz/ujSlSYhaNIaLaQG3lgKlFh Zo0Q== X-Gm-Message-State: AFqh2koLsF3ubZ68QLihGnKYzlc+7wlpZlUAbqwA018A2omVnS0VtA0u CnHJZuvQceHM4LOzIv6pHNw= X-Google-Smtp-Source: AMrXdXuZhD/ftiKVLMgnS1TUW+f1x3n7JpPKFb6ituUJp2Hm+nq+0EYUPMQNocVFdanaupvVS3urDA== X-Received: by 2002:a05:600c:3d8a:b0:3d3:4406:8a37 with SMTP id bi10-20020a05600c3d8a00b003d344068a37mr9763346wmb.41.1671903904146; Sat, 24 Dec 2022 09:45:04 -0800 (PST) Received: from [192.168.0.2] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id c12-20020a05600c0a4c00b003cfa3a12660sm21171445wmq.1.2022.12.24.09.45.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 24 Dec 2022 09:45:03 -0800 (PST) Content-Type: multipart/mixed; boundary="------------nETqsaLkZLQ4RI0zBokq7781" Message-ID: Date: Sat, 24 Dec 2022 19:45:01 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: bug#60285: xref-query-replace-in-results could show an arrow pointing to the current item being replaced Content-Language: en-US To: =?UTF-8?Q?Daniel_Mart=c3=adn?= , 60285@debbugs.gnu.org References: From: Dmitry Gutov In-Reply-To: X-Spam-Score: -0.9 (/) X-Debbugs-Envelope-To: 60285 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.9 (-) This is a multi-part message in MIME format. --------------nETqsaLkZLQ4RI0zBokq7781 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 23/12/2022 21:16, Daniel Martín via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote: > Severity: wishlist > > When you use xref-query-replace-in-results to replace some references, > it'd be great if the xref buffer showed an overlay arrow (see > xref--set-arrow) pointing to the reference being edited. That'd give > better context about the reference that is being edited and the global > progress of the query replace operation. SGTM. Here's a patch which seems to work. It's a little tricky, though, and I'm at a loss with better variable names in some places. Wish we had some unit tests here. --------------nETqsaLkZLQ4RI0zBokq7781 Content-Type: text/x-patch; charset=UTF-8; name="xref-replace-with-arrow.diff" Content-Disposition: attachment; filename="xref-replace-with-arrow.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21vZGVzL3hyZWYuZWwgYi9saXNwL3Byb2dtb2Rlcy94 cmVmLmVsCmluZGV4IDAyMTNhYjNjYzU4Li40OWFkMzUwMGQxNSAxMDA2NDQKLS0tIGEvbGlz cC9wcm9nbW9kZXMveHJlZi5lbAorKysgYi9saXNwL3Byb2dtb2Rlcy94cmVmLmVsCkBAIC03 NzEsMTkgKzc3MSwyMiBAQCB4cmVmLXF1ZXJ5LXJlcGxhY2UtaW4tcmVzdWx0cwogICAgICAg ICAgICAgICAgICAgICAgIChmb3JtYXQgIlF1ZXJ5LXJlcGxhY2UgKHJlZ2V4cCkgJXMgd2l0 aDogIiBmcikKICAgICAgICAgICAgICAgICAgICAgIlF1ZXJ5LXJlcGxhY2UgYWxsIG1hdGNo ZXMgd2l0aDogIikpKQogICAgICAobGlzdCBmciAocmVhZC1yZWdleHAgcHJvbXB0KSkpKQot ICAobGV0KiAoaXRlbSB4cmVmcyBpdGVyKQorICAobGV0KiAoKHBvc2l0aW9ucyAobWFrZS1o YXNoLXRhYmxlIDp0ZXN0ICdlcSkpCisgICAgICAgICBpdGVtIHhyZWZzIGl0ZXIpCiAgICAg KHNhdmUtZXhjdXJzaW9uCiAgICAgICAod2hpbGUgKHNldHEgaXRlbSAoeHJlZi0tc2VhcmNo LXByb3BlcnR5ICd4cmVmLWl0ZW0pKQogICAgICAgICAod2hlbiAoeHJlZi1tYXRjaC1sZW5n dGggaXRlbSkKKyAgICAgICAgICAocHV0aGFzaCBpdGVtIChwb2ludCkgcG9zaXRpb25zKQog ICAgICAgICAgIChwdXNoIGl0ZW0geHJlZnMpKSkpCiAgICAgKHVud2luZC1wcm90ZWN0CiAg ICAgICAgIChwcm9nbgogICAgICAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCi0gICAg ICAgICAgKHNldHEgaXRlciAoeHJlZi0tYnVmLXBhaXJzLWl0ZXJhdG9yIChucmV2ZXJzZSB4 cmVmcykpKQotICAgICAgICAgICh4cmVmLS1xdWVyeS1yZXBsYWNlLTEgZnJvbSB0byBpdGVy KSkKKyAgICAgICAgICAoc2V0cSBpdGVyICh4cmVmLS1idWYtcGFpcnMtaXRlcmF0b3IgKG5y ZXZlcnNlIHhyZWZzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBwb3NpdGlvbnMpKQorICAgICAgICAgICh4cmVmLS1xdWVyeS1yZXBsYWNlLTEg ZnJvbSB0byBpdGVyIChjdXJyZW50LWJ1ZmZlcikpKQogICAgICAgKGZ1bmNhbGwgaXRlciA6 Y2xlYW51cCkpKSkKIAotKGRlZnVuIHhyZWYtLWJ1Zi1wYWlycy1pdGVyYXRvciAoeHJlZnMp CisoZGVmdW4geHJlZi0tYnVmLXBhaXJzLWl0ZXJhdG9yICh4cmVmcyBwb3NpdGlvbnMpCiAg IChsZXQgKGNodW5rLWRvbmUgaXRlbSBuZXh0LXBhaXIgZmlsZS1idWYgcGFpcnMgYWxsLXBh aXJzKQogICAgIChsYW1iZGEgKGFjdGlvbikKICAgICAgIChwY2FzZSBhY3Rpb24KQEAgLTgw MSw5ICs4MDQsMTAgQEAgeHJlZi0tYnVmLXBhaXJzLWl0ZXJhdG9yCiAgICAgICAgICAgICAg ICAgICAgICAgKGJlZyAoeHJlZi1sb2NhdGlvbi1tYXJrZXIgbG9jKSkKICAgICAgICAgICAg ICAgICAgICAgICAoZW5kIChtb3ZlLW1hcmtlciAobWFrZS1tYXJrZXIpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCsgYmVnICh4cmVmLW1hdGNoLWxlbmd0 aCBpdGVtKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWFy a2VyLWJ1ZmZlciBiZWcpKSkpCi0gICAgICAgICAgICAgICAgIChsZXQgKChwYWlyIChjb25z IGJlZyBlbmQpKSkKLSAgICAgICAgICAgICAgICAgICAocHVzaCBwYWlyIGFsbC1wYWlycykK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWFya2VyLWJ1ZmZl ciBiZWcpKSkKKyAgICAgICAgICAgICAgICAgICAgICAoeHJlZi1idWYtcG9zIChnZXRoYXNo IGl0ZW0gcG9zaXRpb25zKSkpCisgICAgICAgICAgICAgICAgIChsZXQgKChwb3NpdGlvbnMg KGxpc3QgYmVnIGVuZCB4cmVmLWJ1Zi1wb3MpKSkKKyAgICAgICAgICAgICAgICAgICAocHVz aCBwb3NpdGlvbnMgYWxsLXBhaXJzKQogICAgICAgICAgICAgICAgICAgIDs7IFBlcmZvcm0g c2FuaXR5IGNoZWNrIGZpcnN0LgogICAgICAgICAgICAgICAgICAgICh4cmVmLS1nb3RvLWxv Y2F0aW9uIGxvYykKICAgICAgICAgICAgICAgICAgICAoaWYgKHhyZWYtLW91dGRhdGVkLXAg aXRlbSkKQEAgLTgxMSwxNyArODE1LDE3IEBAIHhyZWYtLWJ1Zi1wYWlycy1pdGVyYXRvcgog ICAgICAgICAgICAgICAgICAgICAgKGNvbmQKICAgICAgICAgICAgICAgICAgICAgICAoKG51 bGwgZmlsZS1idWYpCiAgICAgICAgICAgICAgICAgICAgICAgIChzZXRxIGZpbGUtYnVmICht YXJrZXItYnVmZmVyIGJlZykpCi0gICAgICAgICAgICAgICAgICAgICAgIChwdXNoIHBhaXIg cGFpcnMpKQorICAgICAgICAgICAgICAgICAgICAgICAocHVzaCBwb3NpdGlvbnMgcGFpcnMp KQogICAgICAgICAgICAgICAgICAgICAgICgoZXF1YWwgZmlsZS1idWYgKG1hcmtlci1idWZm ZXIgYmVnKSkKLSAgICAgICAgICAgICAgICAgICAgICAgKHB1c2ggcGFpciBwYWlycykpCisg ICAgICAgICAgICAgICAgICAgICAgIChwdXNoIHBvc2l0aW9ucyBwYWlycykpCiAgICAgICAg ICAgICAgICAgICAgICAgKHQKICAgICAgICAgICAgICAgICAgICAgICAgKHNldHEgY2h1bmst ZG9uZSB0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHQtcGFpciBwYWlyKSkp KSkpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dC1wYWlyIHBvc2l0aW9u cykpKSkpKSkpCiAgICAgICAgICAgIChjb25zIGZpbGUtYnVmIChucmV2ZXJzZSBwYWlycykp KSkKICAgICAgICAgKDpjbGVhbnVwCiAgICAgICAgICAoZG9saXN0IChwYWlyIGFsbC1wYWly cykKLSAgICAgICAgICAgKG1vdmUtbWFya2VyIChjYXIgcGFpcikgbmlsKQotICAgICAgICAg ICAobW92ZS1tYXJrZXIgKGNkciBwYWlyKSBuaWwpKSkpKSkpCisgICAgICAgICAgIChtb3Zl LW1hcmtlciAobnRoIDAgcGFpcikgbmlsKQorICAgICAgICAgICAobW92ZS1tYXJrZXIgKG50 aCAxIHBhaXIpIG5pbCkpKSkpKSkKIAogKGRlZnVuIHhyZWYtLW91dGRhdGVkLXAgKGl0ZW0p CiAgICJDaGVjayB0aGF0IHRoZSBtYXRjaCBsb2NhdGlvbiBhdCBjdXJyZW50IHBvc2l0aW9u IGlzIHVwLXRvLWRhdGUuCkBAIC04NTcsNyArODYxLDcgQEAgeHJlZi0tb3V0ZGF0ZWQtcAog ICAgICAgICAgICAgIChmdW5jYWxsIGNoZWNrKSkpKSkpKQogCiA7OyBGSVhNRTogV3JpdGUg YSBuaWNlciBVSS4KLShkZWZ1biB4cmVmLS1xdWVyeS1yZXBsYWNlLTEgKGZyb20gdG8gaXRl cikKKyhkZWZ1biB4cmVmLS1xdWVyeS1yZXBsYWNlLTEgKGZyb20gdG8gaXRlciB4cmVmLWJ1 ZikKICAgKGxldCogKChxdWVyeS1yZXBsYWNlLWxhenktaGlnaGxpZ2h0IG5pbCkKICAgICAg ICAgIChjb250aW51ZSB0KQogICAgICAgICAgZGlkLWl0LW9uY2UgYnVmLXBhaXJzIHBhaXJz CkBAIC04NzIsMTEgKzg3NiwxNSBAQCB4cmVmLS1xdWVyeS1yZXBsYWNlLTEKICAgICAgICAg ICAgICAgICAgKDw9IGVuZCBjdXJyZW50LWVuZCkpKSkKICAgICAgICAgIChyZXBsYWNlLXJl LXNlYXJjaC1mdW5jdGlvbgogICAgICAgICAgIChsYW1iZGEgKGZyb20gJm9wdGlvbmFsIF9i b3VuZCBub2Vycm9yKQotICAgICAgICAgICAgKGxldCAoZm91bmQgcGFpcikKKyAgICAgICAg ICAgIChsZXQgKGZvdW5kIHBvc2l0aW9ucykKICAgICAgICAgICAgICAgKHdoaWxlIChhbmQg KG5vdCBmb3VuZCkgcGFpcnMpCi0gICAgICAgICAgICAgICAgKHNldHEgcGFpciAocG9wIHBh aXJzKQotICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQtYmVnIChjYXIgcGFpcikKLSAg ICAgICAgICAgICAgICAgICAgICBjdXJyZW50LWVuZCAoY2RyIHBhaXIpKQorICAgICAgICAg ICAgICAgIChzZXRxIHBvc2l0aW9ucyAocG9wIHBhaXJzKQorICAgICAgICAgICAgICAgICAg ICAgIGN1cnJlbnQtYmVnIChudGggMCBwb3NpdGlvbnMpCisgICAgICAgICAgICAgICAgICAg ICAgY3VycmVudC1lbmQgKG50aCAxIHBvc2l0aW9ucykpCisgICAgICAgICAgICAgICAgKHdo ZW4gKGJ1ZmZlci1saXZlLXAgeHJlZi1idWYpCisgICAgICAgICAgICAgICAgICAod2l0aC1j dXJyZW50LWJ1ZmZlciB4cmVmLWJ1ZgorICAgICAgICAgICAgICAgICAgICAoZ290by1jaGFy IChudGggMiBwb3NpdGlvbnMpKQorICAgICAgICAgICAgICAgICAgICAoeHJlZi0tc2V0LWFy cm93KSkpCiAgICAgICAgICAgICAgICAgKGdvdG8tY2hhciBjdXJyZW50LWJlZykKICAgICAg ICAgICAgICAgICAod2hlbiAocmUtc2VhcmNoLWZvcndhcmQgZnJvbSBjdXJyZW50LWVuZCBu b2Vycm9yKQogICAgICAgICAgICAgICAgICAgKHNldHEgZm91bmQgdCkpKQo= --------------nETqsaLkZLQ4RI0zBokq7781-- From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 01 06:23:40 2023 Received: (at 60285) by debbugs.gnu.org; 1 Jan 2023 11:23:40 +0000 Received: from localhost ([127.0.0.1]:40360 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pBwRI-0007tG-7L for submit@debbugs.gnu.org; Sun, 01 Jan 2023 06:23:40 -0500 Received: from sonic306-19.consmr.mail.ir2.yahoo.com ([77.238.176.205]:37145) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pBwRF-0007t1-6M for 60285@debbugs.gnu.org; Sun, 01 Jan 2023 06:23:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.es; s=s2048; t=1672572208; bh=jhsO90f2RvgLAzT9bUmfw5sTZsw3SMYaTsqxuPuChHM=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=Tv4589ZM2IsVwiyFGi+FASUq8lLDiz0+fX0AVVONTnM9MTu0R7GlSGIplwayXWkmtDY6VT0p0dreVb7wZcP2rFZNlH2joEaMhJGszk5rshjgEU0qSScGWvCvI23rU4GFRbq/Q68LzELqDz6XmBXxqw0o7i1pUJJoPeKFicu434b6nnGh/0FSwDs6DorOKrdoJIT2u99khGGPu0OIK5k2eapS3AbFYk4nxxNxGiTqIVYl7T6HcLknXRa4COIIFQVzJO6XykFKqp8agQ037s1lUMg+rtX2X7uuy42z2UFe8bg+C5mGdzzMipE6RrECgig5pO8gpuW5enBHTYndkgBQOg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1672572208; bh=pB9xO3Gv4NxiV1PAK6IR2TfL3tpJ2L+ArXvr1vnC45g=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=ihSbFzhvK21RilgipuSZwwNCGt6hgkZ/Ne8YL5cgO4uTGmOBBC15oImj96mWAotdA4cm0UBSw0YrU5RHeb89e6Wwocr2ZRQJJM5REMK6eEthsapxUzrxn/v1rlzSGnT4ppWTxwHUDNF/Byy2gyUXFX5WvX1KiTpu4fHDEitp1aTo0yaN9EOMJA+4v8EEN/XOW09OwVXP09ZwMnvk6dnk990fUxSwND3qZOSkq9U5r/KnoLLajuTb1Qk34WkiC2rqRoM6XbPYlMO0gEZhxZLHEPa5rPR4m69MS5c/r2ZCVnnhHvlIALFNCSC/pE+DMZS5B2FumG7HrRfNrloSMXBftQ== X-YMail-OSG: 0tgsssUVM1ko84ZoHy4FJG0yeaoerS7w.A1INiX.WUTNQMGFoEzUAM.LCfr5jIz TwsgdXixVPaNGc2EcRQCFRA1igcZOR6MW8yAWEdPnXe7dSk5VHCQlwkPzBveAIJP_R1dXrdMfsrr yhZCjScYIM28CN1nQ2W8kaPBq24OCS5FyZaE0pcfbNHDI0yelbLQt2avWOiWcrds3wkWt7L4q9ku UAqpOKxv6WdGwXL2LhqAy6i7L8GRHmxJaLcJlFuHxRQjUSryKRImMLJCPeIFAa5bcWoHYBx7NF2J gSSPX3rtgzKlALoeh1_slYyu0CLWFVvC1LayEqUp0RsE7ZpnHzgHfvnScPVNGLvR.lxbkk4KmbIU u5pxgF5ZMxSWLWzW2Y4y5GOYVcSOfw3sAObbR_JnqqSQ2xPa6SkgTX.eJpOrlLOEkMfQBXWG7kle 5tVTM7IPRmHOjti.GumA.NpIHk4hsIo0qtUdsF8fLqhs4zyGcP0vMLg.Xx7e6JdzM4zQWbnAu7Rb xK6nFN44_H2m7lEgEKUEGTXOTcLenA9vDhFk0c7MrYOpRocDKMDtQF4G2LrFTBbrgrqZZrQh8d76 NUIOJo5LJqF5vYLv9fNvAKFIWE5ki8CE1XX70Ccck4OmK4dC8DlT0ZVC1JK0ivKd8S7tBe9Zg2F5 gEKBsObcXEQ9NCTGmH_wfCUpO1Rh.ftHyqlQjKklDq1KajO3acS_1.HNvOkqhFYBMmX0qbiQXYIK 98cPWpx2m0QNnsPr6yZdsolkVB7D99tYXga6JgIM2VBB6Nndvzihp2bLZFje7ga7pvY9FFywGsWW uqVCdFiU.7ubwL2vHk6LmgPyCijmXSlvsnygdU.IxBbhjnGzA1LN4XGmp6bfkhdSCH9N9_q5SOAM 6N6PB3IHVxHbMCGwgOEI7_O_URsGMJx7s6oIkKA7a2H1kydk2voIX9mOzCLitTIvyUbs_qACWvxY L8rqJljEZOXSe0GvBFLeG2uPZ4BVBE4gsHj.ffv7ggkFEx8PONVJz4KU0BUSi.xS9UCOdBRs6xah MkpJNuRqI4pvp1EBGLJALzvw.mMfWRdJ2t4dzj3LGpYzM9bt8_9qDhsgJAZHXWq2tfkwRf8FgiP_ 3oFSgLGtk4btKsYZBZ4k3hJWWfHT5kOJD1IHKJil_UQa5bB2UvRW6rRDnynmmNqLR2vC.KB2O_pA 6zscQyVSuc4dI0XPPBq9kdn32wMLk9a96gCYYxhdt0QEftHIWfc.xCzX0tB3ax42YLB83PSOi6ZL V0IlPzcyjEYvDsafTuSUSNaeNzJlie1mrmvXh0Xc6as4psnhtp_5vuZuQ.gvGnXHLGhUtX1ThQvA oSKzb4OZ.yrbJn7Ajx2PuB46Q145F.KFYc7QHCJgM50rRYCxKcDTbAZwfjvnAOcqC5xt.IPHe5tX wbGCy3BqjPW8u7Ioqhtn8CB6j0PaISklgdvq5CZti3hw4p7oxX7oVlTVYc2bbM4oyfSEVytY4VyF srBqlakPnNqYjRmipqRXKi.7Cp8Yo5mEo31rll37re8CELqmxohf5kG_dCyNSQ86Ik2RX545J_Nu T3O0dYLtp0mxhJcW0nULTWQU9CI6MX7E7TI_VSfaY8oRyWenTWXT_LyQBjh7WP.FbjQOYouLdPlf F3MWkudlZYvAbJ1M1_1yQ04Ia5wjXt5wYgDVyG32qk6r66G2z9vKTGczphHmslA3IW4LY_Hz7kpY uq5ktXE8o9DeWrQK4Iza3nEY3PCXqzS2hOXAxIupW0aGM5mM02I4WV3ibT8udpYOXOhG2sJPmlHJ 2VPAgbwRdgw4efvrJgaaNMF8WGDziT5nj3Zn46yqOAGF63rNEAhlXmEhsE9qMvDpKKRqTOn3a6jX IIMuaDJGCd2i8PPY3OHrOX2oEp9y4eb.CxFSod5IOSPIUTEoP_UzhhSTXfiopUxuMgf4j2g53uoP PFe0c0FoztVkU1EQ1qR2Xb9CQvk3X20ygIcsL0xUwg_PFZppMIf_lVUJRLII3kdKZdT7hoBVfuVl 2i8nZA3EvrOTIzuf2SjQb4DYOVwmJbt1waCgxsdzjmBC5g90wjMKZ87MXCzDjMinnyDoMmG4QAwZ 1mxE9ta0.ZqNZ2HxyL_4ZvvP7L_.3qoNgtmSx5xHQ63o5pqJFhXrYUYGUQ8tSc7DodIX5kAQ0KKt wgwyw_HLTZ8J_h3Q1OEU19nh1YSeU_euPTfhp2Cs.1QSbZCOCojsrmmnwh.hosx3Dz.b_UOw1apC nXIfayhZ2Af5Vub36wPujkQAQ0AA_9yOEbnqYw1s.5X4- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic306.consmr.mail.ir2.yahoo.com with HTTP; Sun, 1 Jan 2023 11:23:28 +0000 Received: by hermes--production-ir2-5795fc58c8-j5s6m (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 8c1e491f5ba235233c0b4f9754bc2789; Sun, 01 Jan 2023 11:23:24 +0000 (UTC) From: =?utf-8?Q?Daniel_Mart=C3=ADn?= To: Dmitry Gutov Subject: Re: bug#60285: xref-query-replace-in-results could show an arrow pointing to the current item being replaced References: Date: Sun, 01 Jan 2023 12:23:23 +0100 In-Reply-To: (Dmitry Gutov's message of "Sat, 24 Dec 2022 19:45:01 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (darwin) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Mailer: WebService/1.1.20982 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 898 X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 60285 Cc: 60285@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) Dmitry Gutov writes: > On 23/12/2022 21:16, Daniel Mart=C3=ADn via Bug reports for GNU Emacs, the > Swiss army knife of text editors wrote: >> Severity: wishlist >> When you use xref-query-replace-in-results to replace some >> references, >> it'd be great if the xref buffer showed an overlay arrow (see >> xref--set-arrow) pointing to the reference being edited. That'd give >> better context about the reference that is being edited and the global >> progress of the query replace operation. > > SGTM. > > Here's a patch which seems to work. It's a little tricky, though, and > I'm at a loss with better variable names in some places. > > Wish we had some unit tests here. Thanks. It works well, but there are some corner cases. For example, as you can undo or go to the previous match during the query replace, the arrow should point to the previous result, if possible. From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 04 18:48:31 2023 Received: (at 60285) by debbugs.gnu.org; 4 Jan 2023 23:48:31 +0000 Received: from localhost ([127.0.0.1]:49868 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pDDUk-0000X2-O1 for submit@debbugs.gnu.org; Wed, 04 Jan 2023 18:48:31 -0500 Received: from mail-ed1-f44.google.com ([209.85.208.44]:39722) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pDDUj-0000WY-1R for 60285@debbugs.gnu.org; Wed, 04 Jan 2023 18:48:29 -0500 Received: by mail-ed1-f44.google.com with SMTP id b88so43530404edf.6 for <60285@debbugs.gnu.org>; Wed, 04 Jan 2023 15:48:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=gUZWf7P7ux5WkKwRw+z/ecBmvAUZSGiKzRJD3WOyvCI=; b=Qc91N8hyznTzDR2JkdUkqlTD5OqATFzehme1R60hmql7zzpdy116fIG/lLhrh5FSLf VOgWSSm2w4bN+awysyqLMSoR2LTEPwEvzfU8CbHB7D+wYILkhcf+35QM4Xuq43t2Mi++ x1OuNM0EGCZ95cu9o5CG00P0gnGGy7+b8VeaRFwBOSbodnJ2BO/PhrfYQACrSByJUKo/ 3Tl6wUkPIexEbKWKQbbWshFNTAerHxtiowdzeMKrI29hNm/1e2+yZCECOWhkWEUhO0NI uUZbOPg4Vg0c85SHyecQAcCt5YGUxqCs1ePNcZAIOe3fvkjxsQXmtcMcUfNGC6TSYTOH NMcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=gUZWf7P7ux5WkKwRw+z/ecBmvAUZSGiKzRJD3WOyvCI=; b=0lDNUOOBdh8kzsWNhJNqvJUKmnFyjCIUVNjohjY0e9b3DsVR/kw5baPubaNbUOevu0 ZCVozb1/qwHhlOPjK4XPguChUxw3TZEUWhWIKyIGgP9oHUpmxyk9lKWYF8OYdzh9mjns Kqj6w5tU6MPGe9gj0e2ngMMI6ZAgw6OEnL+TTjCr7vMuuJv0k+Um8ANVPvcwEUCH5+CO uOszw6i8ByhqZyV3grT/Ejqthh8xzCjz03te4AxDgLkof32+o/d473HSF+Hu70ytttAl epJPRria16nJ5FLW3V0kbFzmFd4qIRp1Ewlw1vu8dW7x0EkALi/kZjPFZP4jpX8FJmTq HpBQ== X-Gm-Message-State: AFqh2krM2WRtMskGV6vKCCa9mzY1UtEiy0S4myWu9rQeOlBEopW6tuau Yc+JtyIiTGfRXEozzMROD/E= X-Google-Smtp-Source: AMrXdXvYK5BEeT3foq7haSpwElyCteF4O0hyNXoiHzoogUyPIqbou8u48b3vx25PVfvoWoi2S/ub1w== X-Received: by 2002:a50:ec85:0:b0:492:8c77:7da9 with SMTP id e5-20020a50ec85000000b004928c777da9mr161711edr.9.1672876103146; Wed, 04 Jan 2023 15:48:23 -0800 (PST) Received: from [192.168.0.2] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id m16-20020a056402051000b0048eb0886b00sm2812618edv.42.2023.01.04.15.48.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 04 Jan 2023 15:48:22 -0800 (PST) Message-ID: Date: Thu, 5 Jan 2023 01:48:21 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: bug#60285: xref-query-replace-in-results could show an arrow pointing to the current item being replaced Content-Language: en-US To: =?UTF-8?Q?Daniel_Mart=c3=adn?= , Juri Linkov References: From: Dmitry Gutov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.9 (/) X-Debbugs-Envelope-To: 60285 Cc: 60285@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.9 (-) On 01/01/2023 13:23, Daniel Martín wrote: > Dmitry Gutov writes: > >> On 23/12/2022 21:16, Daniel Martín via Bug reports for GNU Emacs, the >> Swiss army knife of text editors wrote: >>> Severity: wishlist >>> When you use xref-query-replace-in-results to replace some >>> references, >>> it'd be great if the xref buffer showed an overlay arrow (see >>> xref--set-arrow) pointing to the reference being edited. That'd give >>> better context about the reference that is being edited and the global >>> progress of the query replace operation. >> SGTM. >> >> Here's a patch which seems to work. It's a little tricky, though, and >> I'm at a loss with better variable names in some places. >> >> Wish we had some unit tests here. > Thanks. It works well, but there are some corner cases. Thanks for testing. > For example, > as you can undo or go to the previous match during the query replace, > the arrow should point to the previous result, if possible. Hmm, I'm not sure how to implement that. Some new hook inside perform-replace? Maybe Juri has some ideas. From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 05 12:56:26 2023 Received: (at 60285) by debbugs.gnu.org; 5 Jan 2023 17:56:26 +0000 Received: from localhost ([127.0.0.1]:52817 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pDUTa-0008Cl-40 for submit@debbugs.gnu.org; Thu, 05 Jan 2023 12:56:26 -0500 Received: from relay5-d.mail.gandi.net ([217.70.183.197]:50193) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pDUTY-0008CA-GU for 60285@debbugs.gnu.org; Thu, 05 Jan 2023 12:56:24 -0500 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id 252931C0003; Thu, 5 Jan 2023 17:56:16 +0000 (UTC) From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#60285: xref-query-replace-in-results could show an arrow pointing to the current item being replaced In-Reply-To: (Dmitry Gutov's message of "Thu, 5 Jan 2023 01:48:21 +0200") Organization: LINKOV.NET References: Date: Thu, 05 Jan 2023 19:55:08 +0200 Message-ID: <86v8ll2kk3.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 60285 Cc: 60285@debbugs.gnu.org, Daniel =?iso-8859-1?Q?Mart=EDn?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> For example, >> as you can undo or go to the previous match during the query replace, >> the arrow should point to the previous result, if possible. > > Hmm, I'm not sure how to implement that. Some new hook inside > perform-replace? > > Maybe Juri has some ideas. Indeed, there is a special hook for such cases: 'replace-update-post-hook'. From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 15 20:42:07 2023 Received: (at 60285) by debbugs.gnu.org; 16 Jan 2023 01:42:08 +0000 Received: from localhost ([127.0.0.1]:59979 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pHEVj-0005H2-LK for submit@debbugs.gnu.org; Sun, 15 Jan 2023 20:42:07 -0500 Received: from mail-wm1-f53.google.com ([209.85.128.53]:43768) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pHEVh-0005GY-36 for 60285@debbugs.gnu.org; Sun, 15 Jan 2023 20:42:05 -0500 Received: by mail-wm1-f53.google.com with SMTP id k22-20020a05600c1c9600b003d1ee3a6289so21128467wms.2 for <60285@debbugs.gnu.org>; Sun, 15 Jan 2023 17:42:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=61/d04upppQrR5RYsyXuIdkVIV2PpgeSsa/W2NLqt78=; b=I+ZMEfv6EDYA42e6Cp5rquTm88o9JytN9GjJxpuhPosQzoqxWniMcUiG2gBNqxWbHO 337XaxgRdEpPmSsnxmMzAatnRzuecA4Jlj9Psz0SKr4+wtXkMgcDBTXPeslA+DMIZ/Cm Za5g1pquIg/kx3ZklUwHRxAhoeEZ7j9AAvM94P4388yDtv7GRVt5TriAUPrHRLtPQjTF ojOtMvdorU1fJ+ST0gCgyNKmXu/EkCPM4QQRbCHKHlO5uu1jTLnlyhR3DdQwuUmLaVB9 Tqv8E4Cl8twcPwPJTbiBYqMCn6xK7sspC7/YfhsMR9Yk4BcGDlXxwxdFx5atT6XNXN+Q 6d4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=61/d04upppQrR5RYsyXuIdkVIV2PpgeSsa/W2NLqt78=; b=F/4A3LhqKWkreYDhfD24aeRceu5To2E72BqubJUtKaQ9gJAKVA5Qh76Oz/yZuPXbcF /Ktu1MUuZOIWxaRR7E79QWhACeYmo8fzPoPkbSDjmoEC2CHI5FezxARSNf4uJMKbZW/U Mhh/eJoWATMg3rGKKEEeRTe/Ll87wh6HOya4iWgYyA0Y7LmczppSqYpKFgHyyWjUrHNa iavU8WVzZIrJMwkDuZHqhT546FjCX38zzzFXO8/vyHKmGm1cOt3NsNYGeu1UfXnVCC6+ YyPeflwgSx7j3HB/JSskLqlAzhMunYB4zJPBcusg2Znh9XKGmdGYAIPM4wQ7gSUyacka DgsQ== X-Gm-Message-State: AFqh2krgcaiFXI9F4G1qgzIMtC/Yy3h0KGmfu9j11NMYbA3CW9+uHleo At2U3V30tHbcviPKJ0gJlsY= X-Google-Smtp-Source: AMrXdXsvC3roJzhgkpLynJMXLt+Rj1xXMui/QvL+VH6/abCksgb64TIb1kIAbsgs0N7vLE/XWxiO4g== X-Received: by 2002:a05:600c:a0f:b0:3cf:7704:50ce with SMTP id z15-20020a05600c0a0f00b003cf770450cemr66812873wmp.38.1673833319003; Sun, 15 Jan 2023 17:41:59 -0800 (PST) Received: from [192.168.0.2] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id w12-20020a05600c474c00b003d1e1f421bfsm15717441wmo.10.2023.01.15.17.41.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 15 Jan 2023 17:41:58 -0800 (PST) Message-ID: <5ada9b8c-8ec6-d31c-8133-462a577727ad@yandex.ru> Date: Mon, 16 Jan 2023 03:41:56 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: bug#60285: xref-query-replace-in-results could show an arrow pointing to the current item being replaced Content-Language: en-US To: Juri Linkov References: <86v8ll2kk3.fsf@mail.linkov.net> From: Dmitry Gutov In-Reply-To: <86v8ll2kk3.fsf@mail.linkov.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.9 (/) X-Debbugs-Envelope-To: 60285 Cc: 60285@debbugs.gnu.org, =?UTF-8?Q?Daniel_Mart=c3=adn?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.9 (-) On 05/01/2023 19:55, Juri Linkov wrote: >>> For example, >>> as you can undo or go to the previous match during the query replace, >>> the arrow should point to the previous result, if possible. >> Hmm, I'm not sure how to implement that. Some new hook inside >> perform-replace? >> >> Maybe Juri has some ideas. > Indeed, there is a special hook for such cases: > 'replace-update-post-hook'. That one seems problematic. First of all, I think (?) that we need to update the arrow's position when the replacement prompt appears, not after a replacement. Second, it fires in all cases -- whether the replacement is going forward, or it being undone, is that right? I suppose this will mean we'll need to maintain a reverse mapping: from the markers back to the Xref buffer lines. Hopefully they will be in expected position after the "undo" actions too. From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 16 12:46:22 2023 Received: (at 60285) by debbugs.gnu.org; 16 Jan 2023 17:46:22 +0000 Received: from localhost ([127.0.0.1]:34640 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pHTYr-0008Io-T8 for submit@debbugs.gnu.org; Mon, 16 Jan 2023 12:46:22 -0500 Received: from relay10.mail.gandi.net ([217.70.178.230]:48091) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pHTYq-0008IK-6g for 60285@debbugs.gnu.org; Mon, 16 Jan 2023 12:46:20 -0500 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id 7CAD3240007; Mon, 16 Jan 2023 17:46:11 +0000 (UTC) From: Juri Linkov To: Dmitry Gutov Subject: Re: bug#60285: xref-query-replace-in-results could show an arrow pointing to the current item being replaced In-Reply-To: <5ada9b8c-8ec6-d31c-8133-462a577727ad@yandex.ru> (Dmitry Gutov's message of "Mon, 16 Jan 2023 03:41:56 +0200") Organization: LINKOV.NET References: <86v8ll2kk3.fsf@mail.linkov.net> <5ada9b8c-8ec6-d31c-8133-462a577727ad@yandex.ru> Date: Mon, 16 Jan 2023 19:39:38 +0200 Message-ID: <86r0vu2xb9.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 60285 Cc: 60285@debbugs.gnu.org, Daniel =?iso-8859-1?Q?Mart=EDn?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> Indeed, there is a special hook for such cases: >> 'replace-update-post-hook'. > > That one seems problematic. First of all, I think (?) that we need to > update the arrow's position when the replacement prompt appears, not after > a replacement. Maybe another pre-hook is needed that will run before the prompt? > Second, it fires in all cases -- whether the replacement is going forward, > or it being undone, is that right? I suppose this will mean we'll need to > maintain a reverse mapping: from the markers back to the Xref buffer > lines. Hopefully they will be in expected position after the "undo" actions > too. This needs more experimentation to see how it works.