From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.bugs Subject: bug#50766: Regexp paren pairs in query-replace-regexp prompt should be highlighted Date: Thu, 30 Sep 2021 18:18:02 +0200 Message-ID: References: <1LWmgMt-iOZcz0k2N5IVTqgDu922CLEd8GATVBsqdQfVeBzIGEaVuORC9k0SXORQDkpqc8BO3zxOPFbQeMMhNHQmOvcvIOpOpoWL8CAVUq8=@protonmail.com> <87bl4jxacl.fsf@gnus.org> <877df5tqyj.fsf@gnus.org> <87h7e5gtk0.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30159"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 50766@debbugs.gnu.org To: Lars Ingebrigtsen , ndame Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Sep 30 18:29:35 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mVywB-0007fb-1J for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 30 Sep 2021 18:29:35 +0200 Original-Received: from localhost ([::1]:34740 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mVyw9-00064b-Qa for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 30 Sep 2021 12:29:33 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48524) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mVyly-00049B-9c for bug-gnu-emacs@gnu.org; Thu, 30 Sep 2021 12:19:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:42241) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mVylx-0007wL-T4 for bug-gnu-emacs@gnu.org; Thu, 30 Sep 2021 12:19:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mVylx-000524-N6 for bug-gnu-emacs@gnu.org; Thu, 30 Sep 2021 12:19:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 30 Sep 2021 16:19:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 50766 X-GNU-PR-Package: emacs Original-Received: via spool by 50766-submit@debbugs.gnu.org id=B50766.163301869419234 (code B ref 50766); Thu, 30 Sep 2021 16:19:01 +0000 Original-Received: (at 50766) by debbugs.gnu.org; 30 Sep 2021 16:18:14 +0000 Original-Received: from localhost ([127.0.0.1]:53784 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mVylB-00050A-Js for submit@debbugs.gnu.org; Thu, 30 Sep 2021 12:18:13 -0400 Original-Received: from mout.gmx.net ([212.227.15.19]:55901) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mVyl9-0004zt-Du for 50766@debbugs.gnu.org; Thu, 30 Sep 2021 12:18:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1633018685; bh=hbpXJMK72JfAxMEsi2zSabE3XV9PeecT2YW55sQ50vo=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=lR0wd3qr5NkDfce37bBndJTy+sl3i1pEDHLcWoRNmdFBoH+cg5+NrLi78mb+ZnJgA jbXYBgxiRHN2c4hIsulL7bdmKiB7DbVH1P0DUg4DuGwHa6gEuaq5ojpGqEuXtcqC1A OhvjXM056F5xrFcBbBVfF0JfMX3YjKNG2pE5fPRU= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Original-Received: from [192.168.1.101] ([46.125.249.119]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M7sDg-1mS90A2WJ8-004xE4; Thu, 30 Sep 2021 18:18:04 +0200 In-Reply-To: <87h7e5gtk0.fsf@gnus.org> Content-Language: en-US X-Provags-ID: V03:K1:kf3uy7oUCPlU+dU3Pp2wRqkdBzx+pkRFMCmH4nprgS2yCjAA/ZF p2hHXgnQiMqarERKI1AZukgVn+bgxiKM1A40RNKGzsxZLeN3w108st2yZ/4xxoFmiHEXkA7 CnJrfdSWdXeku5h1ERjrZVCLuYcueqhEDiPcCodxDiq3d99IXxqbTL7I7OyWSPXzoHy+PLZ h/R/5F1ZxfepqK4wMUMjw== X-UI-Out-Filterresults: notjunk:1;V03:K0:HhnxrU+Atwo=:MrQEllsZevDyvYNT7gOakL WA3cvJ0wne1+nnAgbFoLy6JXBye+ABnr/cGHyqFR99yGYCqWNZ2E2PaUZgt40J0F1mv6SgzVh spqbYEcTibUrDsNfakx4v9qldsMNahqNg3nGZCsORRFoCuqoR6exLEVoV9xwF/E1HTOyeLjtm 1s/X7T35ydM8tcJq7qSRzlN7J9kOErJF3/qSjL31mue2zKjeb7kNOaPR5q+WuIF9q94C4qZUE Uyjviub9+Ai0P42635TwQQmecfeCInWhrS4kp+TmP41xmaof6GaNP6vWtWIVl4YHhLeLFllQi kHJC+zgUwzBnuzYpgtXOJgQXJQTBYYZ+hOasbMYRDx9TMHWvPCgjYNgw3TvYO5WlN2oKOzO0x 2hPM9BVGr0p0+3arPvGRXrAWENNRBm89dJmqYxk+XLeUlSrrtM7nHnY5LV0ljGX8bQvdR/hH2 ryQPskkQ7+X72+o+5NOwsVn4pI/nhzngUXM2nuGAT5kFVks1kJQMEMwVfpcMdBC+JoJp6sZnt PjTKYBnR/w4bN7OJXne9p54occXbT0z0Pe7PbbHfCfTrb9pEcFRoNykdSCLxRDvjMrCpdfwz5 C1KS9dgUeR44ZGX2O27jg6dylr4JvnXLg9jK7a0uszXhHxpzONGB9pp27HuwH6zpd4k9+6zeK r3xFQJsNaLYAXqxG6wc2dqvNWG3b5yRAiUARW2nI8aUaiB6tnIA4a5QgRmS9f0LozQ8aRh0TF 2hXOoDHMCrT3TtIF4Kjpp4cE1WOnSZ+sJjqXWVOQyNo0otagSzxgOgL5U74Akyp2HE0LxyaT X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:215984 Archived-At: > Indeed. I wondered whether we had code that did the right syntax > marking for regexps so that this would work, but I guess not? It's not entirely trivial: With "\(" you normally want to put the syntax table property on the "\" but inside a character alternative you want to put it on the "(". So you have to re-parse the minibuffer after each editing change. Which means we'd have to, at the beginning of 'show-paren--default', - check whether this is a minibuffer where we want that feature enabled, - enable 'parse-sexp-lookup-properties' for it, - syntactically propertize parens, brackets, braces and backslashes according to their positions within the regexp typed. That's all. What it would get us are regexps with properly highlighted parens and proper sexp navigation. I have written such code for Elisp buffers and can convert and simplify it to make it work for minibuffers. I suppose it would amount to about 100 lines to add to paren.el and would do it only if you are convinced that it's worth the effort. It would not handle 'blink-matching-open'. martin