From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Alan Mackenzie Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 29 Sep 2020 12:14:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 43702@debbugs.gnu.org Cc: acm@muc.de X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.160138161222123 (code B ref -1); Tue, 29 Sep 2020 12:14:01 +0000 Received: (at submit) by debbugs.gnu.org; 29 Sep 2020 12:13:32 +0000 Received: from localhost ([127.0.0.1]:55104 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kNEVg-0005kl-Io for submit@debbugs.gnu.org; Tue, 29 Sep 2020 08:13:32 -0400 Received: from lists.gnu.org ([209.51.188.17]:40526) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kNEVe-0005kd-RS for submit@debbugs.gnu.org; Tue, 29 Sep 2020 08:13:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46088) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNEVd-0005c9-1R for bug-gnu-emacs@gnu.org; Tue, 29 Sep 2020 08:13:30 -0400 Received: from colin.muc.de ([193.149.48.1]:20184 helo=mail.muc.de) by eggs.gnu.org with smtp (Exim 4.90_1) (envelope-from ) id 1kNEVU-0004lp-E5 for bug-gnu-emacs@gnu.org; Tue, 29 Sep 2020 08:13:28 -0400 Received: (qmail 89507 invoked by uid 3782); 29 Sep 2020 12:13:17 -0000 Received: from acm.muc.de (p4fe1595e.dip0.t-ipconnect.de [79.225.89.94]) by localhost.muc.de (tmda-ofmipd) with ESMTP; Tue, 29 Sep 2020 14:13:17 +0200 Received: (qmail 27016 invoked by uid 1000); 29 Sep 2020 12:13:17 -0000 Date: Tue, 29 Sep 2020 12:13:17 +0000 Message-ID: <20200929121317.GA27007@ACM> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Delivery-Agent: TMDA/1.1.12 (Macallan) From: Alan Mackenzie X-Primary-Address: acm@muc.de Received-SPF: pass client-ip=193.149.48.1; envelope-from=acm@muc.de; helo=mail.muc.de X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/29 08:13:18 X-ACL-Warn: Detected OS = FreeBSD 9.x or newer [fuzzy] 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.6 (-) 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.6 (--) Hello, Emacs. In the Emacs master branch (i) emacs -Q (ii) C-x C-f emacs/src/syntax.c (iii) C-M-s \(inc\|dec\)_both (iv) Press C-s a few times. Notice that the highlighting of the found match has the purple background over the correct characters, but the characters displayed in the foreground are " _both". This incorrect display is a bug. (v) Press a few times. The lazy highlighting is now correctly displayed each time. (vi) Note that if one starts at the end of the buffer with C-M-r, etc., the same problem occurs. -- Alan Mackenzie (Nuremberg, Germany). From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 29 Sep 2020 14:44:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Alan Mackenzie Cc: acm@muc.de, 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160139063622524 (code B ref 43702); Tue, 29 Sep 2020 14:44:01 +0000 Received: (at 43702) by debbugs.gnu.org; 29 Sep 2020 14:43:56 +0000 Received: from localhost ([127.0.0.1]:56869 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kNGrD-0005rE-W5 for submit@debbugs.gnu.org; Tue, 29 Sep 2020 10:43:56 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52074) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kNGrB-0005r0-PJ for 43702@debbugs.gnu.org; Tue, 29 Sep 2020 10:43:54 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:38589) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kNGr6-0002FR-17; Tue, 29 Sep 2020 10:43:48 -0400 Received: from [176.228.60.248] (port=3954 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kNGr5-0007ot-Cj; Tue, 29 Sep 2020 10:43:47 -0400 Date: Tue, 29 Sep 2020 17:43:35 +0300 Message-Id: <83wo0ck5ig.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <20200929121317.GA27007@ACM> (message from Alan Mackenzie on Tue, 29 Sep 2020 12:13:17 +0000) References: <20200929121317.GA27007@ACM> X-Spam-Score: -2.3 (--) 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: -3.3 (---) > Date: Tue, 29 Sep 2020 12:13:17 +0000 > From: Alan Mackenzie > Cc: acm@muc.de > > In the Emacs master branch > (i) emacs -Q > (ii) C-x C-f emacs/src/syntax.c > (iii) C-M-s \(inc\|dec\)_both > (iv) Press C-s a few times. > > Notice that the highlighting of the found match has the purple > background over the correct characters, but the characters displayed in > the foreground are " _both". This incorrect display is a bug. Here, I don't see any incorrect display, I see a new feature at work. If you don't like it, set search-highlight-submatches to nil. How many colors do you have on the terminal where you see the problem? From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Alan Mackenzie Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 29 Sep 2020 15:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: acm@muc.de, 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160139364419596 (code B ref 43702); Tue, 29 Sep 2020 15:35:02 +0000 Received: (at 43702) by debbugs.gnu.org; 29 Sep 2020 15:34:04 +0000 Received: from localhost ([127.0.0.1]:56947 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kNHdj-000560-PQ for submit@debbugs.gnu.org; Tue, 29 Sep 2020 11:34:03 -0400 Received: from colin.muc.de ([193.149.48.1]:29170 helo=mail.muc.de) by debbugs.gnu.org with smtp (Exim 4.84_2) (envelope-from ) id 1kNHdh-00055W-6T for 43702@debbugs.gnu.org; Tue, 29 Sep 2020 11:34:01 -0400 Received: (qmail 6835 invoked by uid 3782); 29 Sep 2020 15:33:55 -0000 Received: from acm.muc.de (p4fe1595e.dip0.t-ipconnect.de [79.225.89.94]) by localhost.muc.de (tmda-ofmipd) with ESMTP; Tue, 29 Sep 2020 17:33:54 +0200 Received: (qmail 30813 invoked by uid 1000); 29 Sep 2020 15:33:55 -0000 Date: Tue, 29 Sep 2020 15:33:55 +0000 Message-ID: <20200929153355.GB27007@ACM> References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <83wo0ck5ig.fsf@gnu.org> X-Delivery-Agent: TMDA/1.1.12 (Macallan) From: Alan Mackenzie X-Primary-Address: acm@muc.de X-Spam-Score: 0.0 (/) 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.0 (-) Hello, Eli. On Tue, Sep 29, 2020 at 17:43:35 +0300, Eli Zaretskii wrote: > > Date: Tue, 29 Sep 2020 12:13:17 +0000 > > From: Alan Mackenzie > > Cc: acm@muc.de > > In the Emacs master branch > > (i) emacs -Q > > (ii) C-x C-f emacs/src/syntax.c > > (iii) C-M-s \(inc\|dec\)_both > > (iv) Press C-s a few times. > > Notice that the highlighting of the found match has the purple > > background over the correct characters, but the characters displayed in > > the foreground are " _both". This incorrect display is a bug. > Here, I don't see any incorrect display, I see a new feature at work. > If you don't like it, set search-highlight-submatches to nil. Ah. I wasn't aware of this new feature. > How many colors do you have on the terminal where you see the problem? 16. The problem was that the submatch highlight was light magenta on dark magenta, which I just didn't see. Maybe the colours used for isearch-group-1 on a 16 colour terminal are suboptimal. They certainly don't work well on my Linux virtual tty. However, on pressing backspace to go back to previous matches, this new highlighting is no longer there. So, perhaps there is/are (a) bug(s) here after all, just not the one I thought I'd found. Thanks. -- Alan Mackenzie (Nuremberg, Germany). From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 29 Sep 2020 16:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Alan Mackenzie Cc: 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160139569130930 (code B ref 43702); Tue, 29 Sep 2020 16:09:02 +0000 Received: (at 43702) by debbugs.gnu.org; 29 Sep 2020 16:08:11 +0000 Received: from localhost ([127.0.0.1]:56998 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kNIAk-00082o-Np for submit@debbugs.gnu.org; Tue, 29 Sep 2020 12:08:11 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47952) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kNIAh-00082Z-Q6 for 43702@debbugs.gnu.org; Tue, 29 Sep 2020 12:08:09 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:40629) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kNIAc-0000GJ-GM; Tue, 29 Sep 2020 12:08:02 -0400 Received: from [176.228.60.248] (port=1178 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kNIAZ-0002Y0-Rv; Tue, 29 Sep 2020 12:08:01 -0400 Date: Tue, 29 Sep 2020 19:07:50 +0300 Message-Id: <83lfgsk1m1.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <20200929153355.GB27007@ACM> (message from Alan Mackenzie on Tue, 29 Sep 2020 15:33:55 +0000) References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> X-Spam-Score: -2.3 (--) 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: -3.3 (---) > Date: Tue, 29 Sep 2020 15:33:55 +0000 > Cc: 43702@debbugs.gnu.org, acm@muc.de > From: Alan Mackenzie > > > How many colors do you have on the terminal where you see the problem? > > 16. The problem was that the submatch highlight was light magenta on > dark magenta, which I just didn't see. Maybe the colours used for > isearch-group-1 on a 16 colour terminal are suboptimal. They certainly > don't work well on my Linux virtual tty. I think on low-color-number TTYs the colors for all the subgroups should be identical, thus effectively disabling the feature. We don't have enough colors to show the differences on such terminals. From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 30 Sep 2020 02:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Alan Mackenzie Cc: Eli Zaretskii , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.16014317176979 (code B ref 43702); Wed, 30 Sep 2020 02:09:02 +0000 Received: (at 43702) by debbugs.gnu.org; 30 Sep 2020 02:08:37 +0000 Received: from localhost ([127.0.0.1]:57651 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kNRXo-0001oV-Ub for submit@debbugs.gnu.org; Tue, 29 Sep 2020 22:08:37 -0400 Received: from quimby.gnus.org ([95.216.78.240]:39906) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kNRXm-0001oG-EH for 43702@debbugs.gnu.org; Tue, 29 Sep 2020 22:08:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=1O4hFLGKSL3ZJJ+IuHzZ7Y6rorBSwnV2o5i7G4VSEVs=; b=q/qlkkUt1RVjZHDPlOH+t4nxd2 zwClrOb31LpVMM8bQ/VLW8KPRrf83Xzv1YNyFQTH6BUpIUXjwobzAsscYI7noT9bqqbQZiKvYh9gP QG2YlZajlf/smBjj9zhf57Vbis1aVBKGVgAuT5i0WNrt7oQPM1dO5kGp8AwbEBJaUFuk=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kNRXc-0005Au-S5; Wed, 30 Sep 2020 04:08:27 +0200 From: Lars Ingebrigtsen References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> X-Now-Playing: Joanna Newsom's _Divers_: "Waltz of the 101st Lightborne" Date: Wed, 30 Sep 2020 04:08:23 +0200 In-Reply-To: <20200929153355.GB27007@ACM> (Alan Mackenzie's message of "Tue, 29 Sep 2020 15:33:55 +0000") Message-ID: <87y2ks819k.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Alan Mackenzie writes: > 16. The problem was that the submatch highlight was light magenta on > dark magenta, which I just didn't see. Maybe the colours used for > isearch-group-1 on a 16 colour terminal are suboptimal. The [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) 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.0 (-) Alan Mackenzie writes: > 16. The problem was that the submatch highlight was light magenta on > dark magenta, which I just didn't see. Maybe the colours used for > isearch-group-1 on a 16 colour terminal are suboptimal. They certainly > don't work well on my Linux virtual tty. I've now changed the face specs to inherit from the isearch face if there's fewer than 88 colours. > However, on pressing backspace to go back to previous matches, this new > highlighting is no longer there. > > So, perhaps there is/are (a) bug(s) here after all, just not the one I > thought I'd found. Yup; I can reproduce that bug. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 30 Sep 2020 19:20:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Lars Ingebrigtsen Cc: Alan Mackenzie , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160149358512155 (code B ref 43702); Wed, 30 Sep 2020 19:20:03 +0000 Received: (at 43702) by debbugs.gnu.org; 30 Sep 2020 19:19:45 +0000 Received: from localhost ([127.0.0.1]:33170 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kNhdh-00039u-8z for submit@debbugs.gnu.org; Wed, 30 Sep 2020 15:19:45 -0400 Received: from relay10.mail.gandi.net ([217.70.178.230]:58603) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kNhdY-000397-6t for 43702@debbugs.gnu.org; Wed, 30 Sep 2020 15:19:36 -0400 Received: from mail.gandi.net (m91-129-108-13.cust.tele2.ee [91.129.108.13]) (Authenticated sender: juri@linkov.net) by relay10.mail.gandi.net (Postfix) with ESMTPSA id 79747240003; Wed, 30 Sep 2020 19:19:28 +0000 (UTC) From: Juri Linkov Organization: LINKOV.NET References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> Date: Wed, 30 Sep 2020 22:16:19 +0300 In-Reply-To: <87y2ks819k.fsf@gnus.org> (Lars Ingebrigtsen's message of "Wed, 30 Sep 2020 04:08:23 +0200") Message-ID: <87y2krdqsk.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) 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 (-) >> 16. The problem was that the submatch highlight was light magenta on >> dark magenta, which I just didn't see. Maybe the colours used for >> isearch-group-1 on a 16 colour terminal are suboptimal. They certainly >> don't work well on my Linux virtual tty. > > I've now changed the face specs to inherit from the isearch face if > there's fewer than 88 colours. There is another problem: currently isearch-group-3 is indistinguishable visually from the default isearch face (on X with more than 88 colours). Also I don't understand why users would need so many faces (9!) Maybe better to do what Drew proposed: to distinguish the odd groups from the even groups, i.e. to have only 2 additional faces (a brighter face like the current isearch-group-1 for the odd groups, and a darker face for the even groups). >> However, on pressing backspace to go back to previous matches, this new >> highlighting is no longer there. >> >> So, perhaps there is/are (a) bug(s) here after all, just not the one I >> thought I'd found. > > Yup; I can reproduce that bug. The problem is that isearch-delete-char doesn't run the search again that would set match-data. It just restores an old position (isearch-other-end and point) that isearch-highlight uses. One solution is to call isearch-search in isearch-delete-char before isearch-update. But I can't predict all dire consequences. So a better solution is maybe to save match-data on the isearch stack and restore in isearch-pop-state (called by isearch-delete-char). I could try to do this. From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 30 Sep 2020 21:29:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov , Lars Ingebrigtsen Cc: Alan Mackenzie , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160150132532182 (code B ref 43702); Wed, 30 Sep 2020 21:29:01 +0000 Received: (at 43702) by debbugs.gnu.org; 30 Sep 2020 21:28:45 +0000 Received: from localhost ([127.0.0.1]:33312 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kNjeX-0008N0-BF for submit@debbugs.gnu.org; Wed, 30 Sep 2020 17:28:45 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:51370) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kNjeS-0008Mk-OF for 43702@debbugs.gnu.org; Wed, 30 Sep 2020 17:28:44 -0400 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 08UL9BxA130276; Wed, 30 Sep 2020 21:28:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=Mm2XgXnQ9x8XSLc1s+j3me+tB+JRfaNQH2Hsq+Z19o4=; b=uUlLO1TPJ3SbQuqdj2PWO4Pgjhip1oqYiqIp2jiLghT0VdTRF/BYnAZBLFYlDSdFo1aP jSoOsZ2OE3439ZdwNrQcr7RUAr0uV/ifPRSNWZlYoeh/XSoctRHfGMnK1g4Q2npFtuik AB0SJQBas9lPBV8mZQA4qvrVvceQ5Wxpf8g/jWO61ytve8ln5Dgae024Tb10MLv2eVWv ZpoyvhWwVdmqCNceFgeTH1FsXc0Uj7WBSXOEkNo/31hN8AgbD8pyP/DdPBaqccsTDsH5 vlXmFnI0dlJ9rrCJ97F7Hfujr1xyBYb7+KGhrFCaNvXJm+YqMKOH8NPW3OqGfRgnKoG7 XA== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by userp2120.oracle.com with ESMTP id 33sx9natne-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 30 Sep 2020 21:28:34 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 08ULOnXu073877; Wed, 30 Sep 2020 21:28:34 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userp3020.oracle.com with ESMTP id 33tfdumw1f-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 30 Sep 2020 21:28:34 +0000 Received: from abhmp0008.oracle.com (abhmp0008.oracle.com [141.146.116.14]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 08ULSStU029768; Wed, 30 Sep 2020 21:28:28 GMT MIME-Version: 1.0 Message-ID: Date: Wed, 30 Sep 2020 14:28:27 -0700 (PDT) From: Drew Adams References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> In-Reply-To: <87y2krdqsk.fsf@mail.linkov.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5056.0 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9760 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 adultscore=0 malwarescore=0 spamscore=0 mlxscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2009300174 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9760 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 suspectscore=0 phishscore=0 mlxscore=0 lowpriorityscore=0 adultscore=0 clxscore=1011 spamscore=0 impostorscore=0 malwarescore=0 bulkscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2009300173 X-Spam-Score: -2.7 (--) 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: -3.7 (---) > Also I don't understand why users would need so many faces (9!) >=20 > Maybe better to do what Drew proposed: to distinguish the odd groups > from the even groups, i.e. to have only 2 additional faces > (a brighter face like the current isearch-group-1 for the odd groups, > and a darker face for the even groups). To be clear, I didn't propose that. My code has 8 levels (groups), with 8 faces. What I mentioned about even and odd is for lazy-highlighting. I use a different face, `isearchp-lazy-odd-regexp-groups', for odd subgroups - for lazy-highlighting only. (And that face is used, like the group highlighting for the current search hit, only when option `isearchp-highlight-regexp-group-levels-flag' is non-nil.) I provide 8 levels/groups for the current search hit. I agree that most regexp searches don't use anywhere near that many groups. But it costs nothing to provide for them. Here's a screenshot with 5 levels shown: https://www.emacswiki.org/emacs/Icicles_-_Search_Commands%2c_Overview#Searc= hHighlightingContextLevels (That's an Icicles-search screenshot, but the effect is the same. I added this regexp-group highlighting to Icicles nine years before I got around to adding it to Isearch+.) From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 01 Oct 2020 01:13:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: Alan Mackenzie , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160151476011995 (code B ref 43702); Thu, 01 Oct 2020 01:13:01 +0000 Received: (at 43702) by debbugs.gnu.org; 1 Oct 2020 01:12:40 +0000 Received: from localhost ([127.0.0.1]:33438 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kNn9E-00037P-1A for submit@debbugs.gnu.org; Wed, 30 Sep 2020 21:12:40 -0400 Received: from quimby.gnus.org ([95.216.78.240]:51946) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kNn9C-00037C-Pw for 43702@debbugs.gnu.org; Wed, 30 Sep 2020 21:12:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=dlDEvvjtRWUa1g8qU/neZwORxaKYzXw4w/oIZ40M2z0=; b=QhRmk3txSefIYXddYLwj9NcqjE e//uBxPD/ZiyKijk7jA3zNjfZm/YV59KOLobQay4bZSt2dk4FOOeac4TGBOCquXJLwmuI4kue3Bt1 m/+sBNNNAPaginA0a7dxQaEWU9G+JnFUELsDzAfjLFP4PYmDpgxs0X8rP8+kKYfg5dno=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kNn94-0008Sp-BF; Thu, 01 Oct 2020 03:12:32 +0200 From: Lars Ingebrigtsen References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAD1BMVEVmrsgwcpo+VlrE kXX///9BE2WnAAAAAWJLR0QEj2jZUQAAAAd0SU1FB+QKAQELI/NcTn4AAAG7SURBVDjLdZOLseUg CEBBGwBeA0IaMNJ/bwsYs/fd2SUZox7+GoD/CwLnh43y02KDNhC0kXzAA2LZBggYcu2N0sVSafka CtHIJTKHRxUCUWhmYqQagJkYdbQAFkDEkGKOQwMElCcMtZhZeh4cD5FYAaSGBhkj/IXzSEFxhKtM EJ+CnvxD32xn/iVmBb6l/RtQMyqQg1gFK3VtZi/4MG2KuYoW7O3LnbO4aASa5nQD6qlUos8Xym6u iCKLPwRy6L1ScP0GcJst4+tmDnN8wU/nCB5A+VqfFvNmW1cBv3PT/oJtwTtMjVCeEij/RDnl6tqg Q4GVVXoSSYexCWnlr4T242pkHFd5yYkxYSd4vUZrZwUdWa5oyje45hT/EMsOJDC4dz7ypHXA5d2k CtnjLj/AGh5/gug5DTjAHHyeRoe+nxWBw02ToPpNGWdXTj3+BjhAfM40SeAGsyNsV9Jfi2hKj4sW BpKn5suflkR/o5SsvyymO60NaI2Op2OVFh/whi6pw4Kqi5A7/xawX0v9AOdyat4OlchMJTureQlV lWOMx1gktzQB67Nn+fdLXXM9SQq/E7H0C1/JbI04gz876V/Zxf1JkAAAACV0RVh0ZGF0ZTpjcmVh dGUAMjAyMC0xMC0wMVQwMToxMTozNSswMDowMOj+iRoAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjAt MTAtMDFUMDE6MTE6MzUrMDA6MDCZozGmAAAAAElFTkSuQmCC X-Now-Playing: Max Tundra's _Mastered By Guy At The Exchange_: "Acorns" Date: Thu, 01 Oct 2020 03:12:29 +0200 In-Reply-To: <87y2krdqsk.fsf@mail.linkov.net> (Juri Linkov's message of "Wed, 30 Sep 2020 22:16:19 +0300") Message-ID: <87pn62wxz6.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Juri Linkov writes: > There is another problem: currently isearch-group-3 is indistinguishable > visually from the default isearch face (on X with more than 88 colours). > > Also I don't understand why users would need s [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) 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.0 (-) Juri Linkov writes: > There is another problem: currently isearch-group-3 is indistinguishable > visually from the default isearch face (on X with more than 88 colours). > > Also I don't understand why users would need so many faces (9!) Yeah, it's pretty excessive... but consistent. > Maybe better to do what Drew proposed: to distinguish the odd groups > from the even groups, i.e. to have only 2 additional faces > (a brighter face like the current isearch-group-1 for the odd groups, > and a darker face for the even groups). I like the idea. > So a better solution is maybe to save match-data on the isearch stack > and restore in isearch-pop-state (called by isearch-delete-char). > I could try to do this. Please do. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 01 Oct 2020 19:22:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Drew Adams Cc: Alan Mackenzie , Lars Ingebrigtsen , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160158007419027 (code B ref 43702); Thu, 01 Oct 2020 19:22:02 +0000 Received: (at 43702) by debbugs.gnu.org; 1 Oct 2020 19:21:14 +0000 Received: from localhost ([127.0.0.1]:38393 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kO48f-0004wp-QS for submit@debbugs.gnu.org; Thu, 01 Oct 2020 15:21:14 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:56863) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kO48c-0004wW-28 for 43702@debbugs.gnu.org; Thu, 01 Oct 2020 15:21:12 -0400 X-Originating-IP: 91.129.108.13 Received: from mail.gandi.net (m91-129-108-13.cust.tele2.ee [91.129.108.13]) (Authenticated sender: juri@linkov.net) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 352FC60009; Thu, 1 Oct 2020 19:21:01 +0000 (UTC) From: Juri Linkov Organization: LINKOV.NET References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> Date: Thu, 01 Oct 2020 22:11:56 +0300 In-Reply-To: (Drew Adams's message of "Wed, 30 Sep 2020 14:28:27 -0700 (PDT)") Message-ID: <87y2kp93dn.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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.0 (-) >> Maybe better to do what Drew proposed: to distinguish the odd groups >> from the even groups, i.e. to have only 2 additional faces >> (a brighter face like the current isearch-group-1 for the odd groups, >> and a darker face for the even groups). > > To be clear, I didn't propose that. My code has 8 levels > (groups), with 8 faces. My intention was to give credit where credit is due. Thank you for the idea. > What I mentioned about even and odd is for lazy-highlighting. Both ordinary and lazy-highlighting matches could be based on the same idea of odd/even faces. From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 01 Oct 2020 19:22:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Lars Ingebrigtsen Cc: Alan Mackenzie , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160158007619041 (code B ref 43702); Thu, 01 Oct 2020 19:22:02 +0000 Received: (at 43702) by debbugs.gnu.org; 1 Oct 2020 19:21:16 +0000 Received: from localhost ([127.0.0.1]:38396 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kO48i-0004x3-1K for submit@debbugs.gnu.org; Thu, 01 Oct 2020 15:21:16 -0400 Received: from relay5-d.mail.gandi.net ([217.70.183.197]:51043) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kO48f-0004wb-O7 for 43702@debbugs.gnu.org; Thu, 01 Oct 2020 15:21:14 -0400 X-Originating-IP: 91.129.108.13 Received: from mail.gandi.net (m91-129-108-13.cust.tele2.ee [91.129.108.13]) (Authenticated sender: juri@linkov.net) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id EA3281C000B; Thu, 1 Oct 2020 19:21:05 +0000 (UTC) From: Juri Linkov Organization: LINKOV.NET References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87pn62wxz6.fsf@gnus.org> Date: Thu, 01 Oct 2020 22:20:07 +0300 In-Reply-To: <87pn62wxz6.fsf@gnus.org> (Lars Ingebrigtsen's message of "Thu, 01 Oct 2020 03:12:29 +0200") Message-ID: <878scp92mo.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.0 (/) 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.0 (-) --=-=-= Content-Type: text/plain >> Maybe better to do what Drew proposed: to distinguish the odd groups >> from the even groups, i.e. to have only 2 additional faces >> (a brighter face like the current isearch-group-1 for the odd groups, >> and a darker face for the even groups). > > I like the idea. Implemented now on the trunk where isearch-group-odd is created from the isearch-group-1 face, and isearch-group-even from the isearch-group-4 face. The result is quite nice: --=-=-= Content-Type: image/png Content-Disposition: inline; filename=search-highlight-submatches.png Content-Transfer-Encoding: base64 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 Aq4AAAAASUVORK5CYII= --=-=-= Content-Type: text/plain >> So a better solution is maybe to save match-data on the isearch stack >> and restore in isearch-pop-state (called by isearch-delete-char). >> I could try to do this. > > Please do. I'm on it (also adding even/odd faces to lazy-isearch - optionally on the new user option lazy-highlight-submatches). --=-=-=-- From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 01 Oct 2020 19:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: Alan Mackenzie , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160158025319377 (code B ref 43702); Thu, 01 Oct 2020 19:25:02 +0000 Received: (at 43702) by debbugs.gnu.org; 1 Oct 2020 19:24:13 +0000 Received: from localhost ([127.0.0.1]:38410 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kO4BV-00052P-5g for submit@debbugs.gnu.org; Thu, 01 Oct 2020 15:24:13 -0400 Received: from quimby.gnus.org ([95.216.78.240]:34646) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kO4BP-00051Y-HU for 43702@debbugs.gnu.org; Thu, 01 Oct 2020 15:24:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=RTUGJrUZ+EdSY5Smplr2c4kjyAPNyhhqn5xW+GupE2U=; b=nI6C0QdhwUrpPAgSl9AuAEeotO GOwOKxWShJdDm/xQfid13PKt4NzAGSySaVepELxiO1hKbyERfUZc5QkNAU49PRUspROkimxJtTpVE t5oZrJ1e0zENqWpbeNbdHt/FmidGxPIf9fj4VLw0WcGgSDqECzFccMp1c877uad0h8Fo=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kO4BF-0002ZS-C8; Thu, 01 Oct 2020 21:23:57 +0200 From: Lars Ingebrigtsen References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87pn62wxz6.fsf@gnus.org> <878scp92mo.fsf@mail.linkov.net> Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAMFBMVEUtDxNTExpvEhyK FSGWGCKZJR+yahrIlh3QtWjRxKTZ1tefknBsVSqgm5K2tLD///+T6I91AAAAAWJLR0QPGLoA2QAA AAd0SU1FB+QKARMFNYapob8AAADpSURBVDjLrZPLDYJAEEDHDuTuRe3ApQO3BGxBOxA7cO3ALUEO nE0WD148bQtrASRagzMQ/gwmhBcyMPN2JllgAf4x8zKqgscwkViSWDGMEGvRZUNCMAwIX0hfColQ vi2FL+tsqw7ZDyvklGKXE8igX3SAPcOQCI/N0iHEK4SQYYQ4KXU+XSgoDDWBqY5K9FURWmuIWtyw SPeOKMBR5o7NOCIxxqgSmNMRWFik/P/ti3buLeb5+bC0a/vMElwIxiS03JoWKB6uD3Dfio9z7+IZ HAMvvgy8mHDUgGi87ZhCisWhjrT1ieKs8AN8bw1wyQqQ9AAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAy MC0xMC0wMVQxOTowNTo1MyswMDowMEIo+AYAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjAtMTAtMDFU MTk6MDU6NTMrMDA6MDAzdUC6AAAAAElFTkSuQmCC X-Now-Playing: Pivot's _Make Me Love You_: "Kirsten Dunst" Date: Thu, 01 Oct 2020 21:23:51 +0200 In-Reply-To: <878scp92mo.fsf@mail.linkov.net> (Juri Linkov's message of "Thu, 01 Oct 2020 22:20:07 +0300") Message-ID: <87ft6x21iw.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Juri Linkov writes: > Implemented now on the trunk where isearch-group-odd is created > from the isearch-group-1 face, and isearch-group-even > from the isearch-group-4 face. > > The result is quite nice: Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) 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.0 (-) Juri Linkov writes: > Implemented now on the trunk where isearch-group-odd is created > from the isearch-group-1 face, and isearch-group-even > from the isearch-group-4 face. > > The result is quite nice: Yup; looks good. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 01 Oct 2020 19:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: acm@muc.de, larsi@gnus.org, 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160158043319678 (code B ref 43702); Thu, 01 Oct 2020 19:28:01 +0000 Received: (at 43702) by debbugs.gnu.org; 1 Oct 2020 19:27:13 +0000 Received: from localhost ([127.0.0.1]:38421 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kO4ET-00057K-Ej for submit@debbugs.gnu.org; Thu, 01 Oct 2020 15:27:13 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53996) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kO4ER-000572-E9 for 43702@debbugs.gnu.org; Thu, 01 Oct 2020 15:27:11 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:60070) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kO4EL-0002pr-Tk; Thu, 01 Oct 2020 15:27:05 -0400 Received: from [176.228.60.248] (port=4035 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kO4EI-0008FG-LQ; Thu, 01 Oct 2020 15:27:04 -0400 Date: Thu, 01 Oct 2020 22:26:56 +0300 Message-Id: <838scphhmn.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <878scp92mo.fsf@mail.linkov.net> (message from Juri Linkov on Thu, 01 Oct 2020 22:20:07 +0300) References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87pn62wxz6.fsf@gnus.org> <878scp92mo.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) 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: -3.3 (---) > From: Juri Linkov > Date: Thu, 01 Oct 2020 22:20:07 +0300 > Cc: Alan Mackenzie , 43702@debbugs.gnu.org > > >> Maybe better to do what Drew proposed: to distinguish the odd groups > >> from the even groups, i.e. to have only 2 additional faces > >> (a brighter face like the current isearch-group-1 for the odd groups, > >> and a darker face for the even groups). > > > > I like the idea. > > Implemented now on the trunk where isearch-group-odd is created > from the isearch-group-1 face, and isearch-group-even > from the isearch-group-4 face. > > The result is quite nice: Nice is in the eyes of the beholder: I liked the previous way better. From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 01 Oct 2020 19:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: Alan Mackenzie , Lars Ingebrigtsen , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160158114420825 (code B ref 43702); Thu, 01 Oct 2020 19:40:02 +0000 Received: (at 43702) by debbugs.gnu.org; 1 Oct 2020 19:39:04 +0000 Received: from localhost ([127.0.0.1]:38432 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kO4Pv-0005Po-Th for submit@debbugs.gnu.org; Thu, 01 Oct 2020 15:39:04 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:43738) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kO4Pr-0005PH-3b for 43702@debbugs.gnu.org; Thu, 01 Oct 2020 15:39:03 -0400 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 091JPJS0085403; Thu, 1 Oct 2020 19:38:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=KZSa9Am+G8Lti6OcqHiTOlIaf+JJUyKIK2QiYDvw7rE=; b=djxkVImzRVVzTZiFuifuCq6BNBSCBxFHmycZmxSMZHbX9B6Pv4X+go/3EJXQnIxrzS0P 2YNRjFpRyCVXyHthmG2AZTX8dq5HEluFagq2UpYNOvQjpIhbSKBPcIFYDy+m5E/X3/cp N2LBN+mtAuQ1ftIoF+j3RRuni+GUZgKfP3LVmcuTi/mUANsU+vhLix5rZfByr6AiwQnW w3nkFq4OY60LXAK3ioMpDTO/s9hTGGk27xmw3WaN18xa2ES20EYwGxj9E0Bm2teib1LP n2aeDbk9Rqm1wP8fgy82joULBiGEXExeOomIRX9TaWIWEQfPu0I3N554EItMIkiaUf7M 3w== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by userp2120.oracle.com with ESMTP id 33sx9nfwb6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 01 Oct 2020 19:38:53 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 091JOsmP098657; Thu, 1 Oct 2020 19:38:52 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userp3020.oracle.com with ESMTP id 33tfdwbgqj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 01 Oct 2020 19:38:52 +0000 Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 091JcnS7012036; Thu, 1 Oct 2020 19:38:49 GMT MIME-Version: 1.0 Message-ID: <8515e6e4-f3b4-4e81-8aa5-e582de067d9d@default> Date: Thu, 1 Oct 2020 12:38:48 -0700 (PDT) From: Drew Adams References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> In-Reply-To: <87y2kp93dn.fsf@mail.linkov.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5056.0 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9761 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 adultscore=0 malwarescore=0 spamscore=0 mlxscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2010010157 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9761 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 suspectscore=0 phishscore=0 mlxscore=0 lowpriorityscore=0 adultscore=0 clxscore=1015 spamscore=0 impostorscore=0 malwarescore=0 bulkscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2010010157 X-Spam-Score: -2.3 (--) 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: -3.3 (---) > >> Maybe better to do what Drew proposed: to distinguish the odd groups > >> from the even groups, i.e. to have only 2 additional faces > >> (a brighter face like the current isearch-group-1 for the odd groups, > >> and a darker face for the even groups). > > > > To be clear, I didn't propose that. My code has 8 levels > > (groups), with 8 faces. >=20 > My intention was to give credit where credit is due. > Thank you for the idea. >=20 > > What I mentioned about even and odd is for lazy-highlighting. >=20 > Both ordinary and lazy-highlighting matches could be based on > the same idea of odd/even faces. They could. But they shouldn't. For the current search hit, it makes sense to provide as much info as possible visually. That is, in this context (regexp matching), highlight each of the groups in a unique way, so they can be easily identified in the search hit. The idea behind even/odd lazy-highlighting is to just provide a rough idea of some of the matching. The current search hit should show accurate, complete info about the match. From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 01 Oct 2020 19:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov , Lars Ingebrigtsen Cc: Alan Mackenzie , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160158120520931 (code B ref 43702); Thu, 01 Oct 2020 19:41:02 +0000 Received: (at 43702) by debbugs.gnu.org; 1 Oct 2020 19:40:05 +0000 Received: from localhost ([127.0.0.1]:38437 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kO4Qv-0005RW-B2 for submit@debbugs.gnu.org; Thu, 01 Oct 2020 15:40:05 -0400 Received: from aserp2130.oracle.com ([141.146.126.79]:48196) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kO4Qq-0005Qm-Gd for 43702@debbugs.gnu.org; Thu, 01 Oct 2020 15:40:04 -0400 Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 091JdsHM137446; Thu, 1 Oct 2020 19:39:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=Gw5ajv7yp+XqrdHNGbtldtKil5gdBhJ4v77gg4KEDvI=; b=jzp5q6YARrrSzQWDOvG7tLZjiwmSCQS3KY4XVVjytfc5JjxdtCNHSzuVEQSgCm8zkRjD AOMwljBQG65tjh5S5u7U+tejcffuyQL073kfOlWm/kJacKUIGFL/kf7B5PfWx8iqLctP thDYImMFg6GYw7yNfpCxxpYuVuDP9jae+Y4nK/ghln+gXpULYZ2s5M/WiW6cIr7WS/TQ icfJ1KE4uQqo/jiFV+7/PFRjOsbtX5/j7DDQHj0ZXYTTQvMObDBt0ni39MgDwZd/YfpE 9gTEFq1BCpuFSl6XiqhAa4atF/nkVN2qDiScDLWGrcWKgF1CjX+wZ01AEAx17R678Eg5 mg== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by aserp2130.oracle.com with ESMTP id 33su5b832q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 01 Oct 2020 19:39:54 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 091JdqCU128969; Thu, 1 Oct 2020 19:39:53 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userp3030.oracle.com with ESMTP id 33tfk24p2h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 01 Oct 2020 19:39:53 +0000 Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 091JdpmE022834; Thu, 1 Oct 2020 19:39:51 GMT MIME-Version: 1.0 Message-ID: <899b2057-7389-464b-91f3-12d23125fdee@default> Date: Thu, 1 Oct 2020 12:39:50 -0700 (PDT) From: Drew Adams References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87pn62wxz6.fsf@gnus.org> <878scp92mo.fsf@mail.linkov.net> In-Reply-To: <878scp92mo.fsf@mail.linkov.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5056.0 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9761 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 spamscore=0 mlxscore=0 phishscore=0 adultscore=0 bulkscore=0 mlxlogscore=999 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2010010158 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9761 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 suspectscore=0 lowpriorityscore=0 spamscore=0 clxscore=1015 mlxscore=0 impostorscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2010010158 X-Spam-Score: -0.7 (/) 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 (-) > >> Maybe better to do what Drew proposed: to distinguish the odd groups > >> from the even groups, i.e. to have only 2 additional faces > >> (a brighter face like the current isearch-group-1 for the odd groups, > >> and a darker face for the even groups). > > > > I like the idea. >=20 > Implemented now on the trunk where isearch-group-odd is created > from the isearch-group-1 face, and isearch-group-even > from the isearch-group-4 face. >=20 > The result is quite nice: Sorry, but IMO that's horrible. And you really should show more regexps, not just a sequence of groups, but nested groups etc. Regexp matching is complex. And that's the point: WYSIWYG visualization of a user's regexp on the fly. My suggestion: provide a fair number of group faces, to make it easy to identify which parts of a regexp correspond to which parts of the current search hit. This should be simple. I've done it. And used it, for a long time. Why reinvent the wheel, replacing a circle with an octagon? From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. In-Reply-To: <20200929121317.GA27007@ACM> Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 01 Oct 2020 22:45:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: Alan Mackenzie , Lars Ingebrigtsen , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160159224430483 (code B ref 43702); Thu, 01 Oct 2020 22:45:02 +0000 Received: (at 43702) by debbugs.gnu.org; 1 Oct 2020 22:44:04 +0000 Received: from localhost ([127.0.0.1]:38689 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kO7Iy-0007vb-MG for submit@debbugs.gnu.org; Thu, 01 Oct 2020 18:44:04 -0400 Received: from aserp2130.oracle.com ([141.146.126.79]:43392) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kO7Iw-0007uz-PK for 43702@debbugs.gnu.org; Thu, 01 Oct 2020 18:44:03 -0400 Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 091MhtxC160072; Thu, 1 Oct 2020 22:43:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : content-type; s=corp-2020-01-29; bh=1V8t2lUQoCUMyZ/gkSIzvHSNSH0x11dh4aYy9VFLj9s=; b=dVlrjxf+1oP+tg30gY689c9GNbYYJymUsxKRIISiPnuMMMj175+HDEIeDn5TBtjZeNn3 DOl71+lIqbJrU6pf3ERxew4GjaOmFGAfHsGJMa6pOxWfPuUYuMWV31B8LgQOAoupgCtM SHB6CVgVpwnh+edtmW5Tnd7/LE10djMtwmcqycVI+r+XMnT2h2bWqLMx57xbV3o7kJLt NtTcAAtbd2c9OAXlHIfHRvNB/XhLVTFb+UNZbVLd8tNIYKOho03a2FU2R8R+iuMqg+zE REwvdDGB9ZeHEHFryn83NSrtuLesp9dMnQFeWgH2DAXlyl7S/FS60vesqOLbmVgX8dS8 pQ== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by aserp2130.oracle.com with ESMTP id 33su5b8tve-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 01 Oct 2020 22:43:56 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 091MaXpR193759; Thu, 1 Oct 2020 22:41:56 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserp3020.oracle.com with ESMTP id 33tfj28fm3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 01 Oct 2020 22:41:56 +0000 Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 091Mfoko019981; Thu, 1 Oct 2020 22:41:51 GMT MIME-Version: 1.0 Message-ID: Date: Thu, 1 Oct 2020 15:41:48 -0700 (PDT) From: Drew Adams References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5056.0 (x86)] Content-Type: multipart/mixed; boundary="__160159211064217889abhmp0002.oracle.com" X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9761 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 bulkscore=0 phishscore=0 malwarescore=0 adultscore=0 suspectscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2010010181 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9761 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 suspectscore=0 lowpriorityscore=0 spamscore=0 clxscore=1015 mlxscore=0 impostorscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2010010182 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" --__160159211064217889abhmp0002.oracle.com Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable FWIW, attached are three screenshots using Isearch+ for the same regexp search as Juri's screenshot, and starting with emacs -Q (just loading isearch+.el). I can't tell from Juri's screenshot just what regexp he used. Seven regexp groups are shown in the echo area, but the non-lazy highlighting seems to show 13 groups. The first two attached screenshots are with 7 and 13 groups, respectively. They show the default highlighting for both the current search hit and the other search hits (lazy highlighting). I think you can see the advantage of having lazy highlighting indicate groups, at least in a gross way (even/odd). Because Isearch+ has only 8 group faces defined, matches beyond the 8th are not indicated in the current search hit, in these first two screenshots. As I mentioned, it's simple to just repeat the use of the same 8 faces, for 9-16, 17-24, etc. But that won't help you distinguish group 1 from group 9 etc. I've added a third screenshot, where I did this: recycle the faces of groups 1-5 for groups 9-13. ___ The faces for the overall current search hit and the even lazy-highlight hits are the vanilla default faces, `isearch' and `lazy-highlight'. The default values of the group faces are also used. By default, only the background color is defined for each group face. The foreground for each group is apparently taken from the foreground of face `isearch'. I guess I hadn't paid attention to that. I think that's unfortunate, in general. I probably didn't notice it because in my own setup I've customized face `isearch' to use a black foreground (and a green background). I think the default foreground for face `isearch' should be something that works well with each of the default group faces, and that's not likely to be `lightskyblue1'. Change it to `black' and the regexp group highlighting is quite good. You need to be able to see the text that the regexp parts apply to. I also tried just removing a foreground spec from the vanilla default for face `isearch'. In the case shown, which is *scratch*, the text has face `font-lock-comment-face'. And if face `isearch' doesn't have a good foreground spec (e.g. `black') then the result isn't great. (But at least it's better than with foreground `lightskyblue1'.) As I've just noticed this problem now, and as I don't want to impose any default change on face `isearch' in my code, I've now changed the default regexp group faces to each specify a `black' foreground (instead of no foreground), for a light background mode. The third screenshot (which recycles faces 1-5 for 9-13) shows this: a black foreground for each face used for the current search hit (but not for lazy highlighting). ___ The regexp used by Juri is extremely atypical, IMO. A more typical regexp that uses multiple groups involves some group nesting, and in that case there's little (typically no) problem distinguishing group 1 from group 9, group 2 from group 10, etc. --__160159211064217889abhmp0002.oracle.com Content-Type: image/png; name="throw-emacs-isearch+-regexp-highlighting.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="throw-emacs-isearch+-regexp-highlighting.png" iVBORw0KGgoAAAANSUhEUgAAA0YAAADACAIAAACvR+QXAAAgAElEQVR4nOzdfUxUZ74H8N9zhndR YVS0s1W7LUeLb70tbpmRZndpbjeAxbQ2pa2lShaXuf+0Du0l2dttk5nqbtvYBpRNNkyizfXWTRb1 rhtdRttEbtwW8IVtE+1aYbS+VbQiCIrivD33j3k7M3Nm5jAchLHfj42FM+f8zu95zjOHh+d5zshM JhMBAMB9zeVyyW5PSUlxOp2JxTx26rxTSNcIgiAITNAQY0wQGBOIESMixoiIiDNiXHIUIyLybeCS bZxzIuJcut3/dUgAX3hJNOl2zljgQO8fYkTcF953Bn+CzH8Gzsj/x3tC/ytMcprAX5w4+UMLgbJy aemYNDEiHrLBm0rYLn6C/GZfAaT5+Lb6YnszCP+bRwRhTOBEnPvqhBPnRJxzD+e+7b66YcQYY4xz 5t3Buw9x4sQ4kTeOx8M5cY/vPIyIBO4RBCFFIwje+uWcEQmMEXcLjARGGu9/AmkEQcNIYMS8NcaC BWW+8nJ/jQbic86Yr9i+a0FE5OHBGuD+K+SvqkArC6lZ73ZGYTUUlbTdSgN5wus42LqDDdp3fsaI C8zbShkRE3x1HIzJJSWlYPklWQb3CDRFSZImk6mhoUFhkQAAAABgsln90svCROcAAAAAAGPCOUeX DgAAACC5cWLo0gEAAAAkOy5cOzs80UkAAAAAwJhglA4AAAAg6aFLBwAAAJDssJYOAAAAINkxxipL XvnLoT8r3L+/b+D8qavnTvcNDd1lRDnazJ8+OnPeo7On50wf1zwBAAAAIJrnX16jtEs30Df41T/s Xx2/cPNWipCZTlzjcrvdd5yeu3dmzqInVjy0/BcFU6dNuQdJAwAAAIDU6pfXxJl45R5OROd6Lv1t R3tn55U7mtxUbW5K5pSM6Vm6udpFy+c+tGi+05P7xcHzf/2krffSD/ckbQAAAAAIoVn806Uvrnsh xh4DfTcO7vrn91fIlZ7Nmcbj8jDGsrPSZs7MXFgwY+HiWW4X67vi6O+9PdB/9eECXXp62j3LHgAA AABa9uyOM0rHGPvn4dO9V9zu9ClZUzMe/En2ssfyniic/djjeQ89PH3GzCytNiMrQ5OqSXW7Ms6f utX1xclooexbiou32NUugnL2LcXMaIv62oTmBgAAAIlgMU10dkGMsa6ursjtXV1dquTJiDSLU+++ +Prr0fa40T/42d5vHKnTPCRMy05btGjGY0/Mnj4tfXjIcfumY7DvzuWzgxd6Bm5eH2EeweNggzf6 lukfTk1LjQylHTh6dMa6CnHsacuxGVn12aoavTbqHv1Htjdd+7lZNoHxzQ0AAADGh8Vi4Zyb5Vgs FrPZPNEJ+lRUVBiKnyovK9PpdIGNXV1dhuKnjh7plG5MTMuePYJu5coYe1w4dXXwJuNMw90e14jr 7ojL5XCPDDtOff1D1xeXvjxw7suD5y+dGXKOuMjNuUvzw7m7l85dCY9iMzLfAFnwq8liMucGAAAA 94XCwsKOL78wFD8VGKvz9uc6vvyisLBw7PFZ3I8avni2X0jJ4G6ewoQbfXe+6uztar/MiQqW5c15 YGpGmkbDSOCcPJy7POQhcqZe6I54SKKsmfPn9pZbreV7n+O8uYyIvD0or+Ccp31LcWCw1Ggj/2yp d9fAhvDjbEbGyq3UbhJZsFMWESpss/9g2dwAAAAAVCXt1anbnyMiIq7R6/WlpaXRXj9y6PTAECdB 43F4GPekCgJjbMqUtMeLHlj25JwpU9MGrg4P33BwJ2ceYm4it3tqHlv8s0fCA9k+WjVlY2vhm3tT zBUikX1Lsb7trZ4Ltq1mc9GtIzP0ei3ZtxSLpiWt/PinZrO5Kvdsv14v9h/Z3tR2eMovDx23ba0Q iez/80la03HbVrPZXJW7feXKo0XmClGsMJuLei3fvdZzwbtX1FC//6Cr9NAF21ZzUe/616y5vona sNwAAAAgScSYXZ1UE69eOp2uvKzMUPzUtu3bVe3P0a64j0cQEXmIO3h6uuaJop+sqV22pnbZksdn n/rqmm3nqa/+7+Jg3wh3ecjNyUOCmzQe2SV+9i2bTjbWl5XVN57cFBiSW7Ign4iIyjZsyCci22ZT e22rf5gsf8OGwIBZZf2GfPJvbvZ/nb/hnVo62S33UEPUUCsa/9t7eFl944r2f/VEzQ0AAACS5uED IKI4o3Tnu3t7L932eIR/+9mcJ4p0OTMyv/u2f/+Of319+PvLZwYHrt5x3nEzNxdcLMWjSXEzt2dE LJ75yKJ5oWG0+poavTb4f9LOvPV59WvrLb1F/oEx20erdhZu/DRsmKz/yPYm9vxW6Vb7luIZhvUW i8Wys4vmlr7hDWjfbzk8643AqFvcUP1Htje1zamq0WsjcgMAAAAiIpJ97CBgorMjSrZRusB86/qa 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 --__160159211064217889abhmp0002.oracle.com Content-Type: image/png; name="throw-emacs-isearch+-regexp-highlighting-2.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="throw-emacs-isearch+-regexp-highlighting-2.png" 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 BxsitqQdvQb/AAAAAElFTkSuQmCC --__160159211064217889abhmp0002.oracle.com Content-Type: image/png; name="throw-emacs-isearch+-regexp-highlighting-3.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="throw-emacs-isearch+-regexp-highlighting-3.png" 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 --__160159211064217889abhmp0002.oracle.com-- From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 02 Oct 2020 07:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Drew Adams Cc: Alan Mackenzie , Lars Ingebrigtsen , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160162199929896 (code B ref 43702); Fri, 02 Oct 2020 07:00:02 +0000 Received: (at 43702) by debbugs.gnu.org; 2 Oct 2020 06:59:59 +0000 Received: from localhost ([127.0.0.1]:39211 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kOF2t-0007m8-0F for submit@debbugs.gnu.org; Fri, 02 Oct 2020 02:59:59 -0400 Received: from relay11.mail.gandi.net ([217.70.178.231]:46999) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kOF2r-0007ld-Jg for 43702@debbugs.gnu.org; Fri, 02 Oct 2020 02:59:58 -0400 Received: from mail.gandi.net (m91-129-108-13.cust.tele2.ee [91.129.108.13]) (Authenticated sender: juri@linkov.net) by relay11.mail.gandi.net (Postfix) with ESMTPSA id 61209100004; Fri, 2 Oct 2020 06:59:48 +0000 (UTC) From: Juri Linkov Organization: LINKOV.NET References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87pn62wxz6.fsf@gnus.org> <878scp92mo.fsf@mail.linkov.net> <899b2057-7389-464b-91f3-12d23125fdee@default> Date: Fri, 02 Oct 2020 09:57:50 +0300 In-Reply-To: <899b2057-7389-464b-91f3-12d23125fdee@default> (Drew Adams's message of "Thu, 1 Oct 2020 12:39:50 -0700 (PDT)") Message-ID: <87d021m7wx.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) 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 (-) > Why reinvent the wheel, replacing a circle with an octagon? I'm working on the patch that would satisfy everyone. From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 06 Oct 2020 20:19:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Drew Adams Cc: Alan Mackenzie , Lars Ingebrigtsen , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.16020154872114 (code B ref 43702); Tue, 06 Oct 2020 20:19:01 +0000 Received: (at 43702) by debbugs.gnu.org; 6 Oct 2020 20:18:07 +0000 Received: from localhost ([127.0.0.1]:54248 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kPtPT-0000Y2-3s for submit@debbugs.gnu.org; Tue, 06 Oct 2020 16:18:07 -0400 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:56011) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kPtPR-0000XX-RW for 43702@debbugs.gnu.org; Tue, 06 Oct 2020 16:18:06 -0400 X-Originating-IP: 91.129.102.160 Received: from mail.gandi.net (m91-129-102-160.cust.tele2.ee [91.129.102.160]) (Authenticated sender: juri@linkov.net) by relay8-d.mail.gandi.net (Postfix) with ESMTPSA id 7E32C1BF206; Tue, 6 Oct 2020 20:17:56 +0000 (UTC) From: Juri Linkov Organization: LINKOV.NET References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> Date: Tue, 06 Oct 2020 23:01:16 +0300 In-Reply-To: (Drew Adams's message of "Thu, 1 Oct 2020 15:41:48 -0700 (PDT)") Message-ID: <87mu0z3zxf.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" 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" --=-=-= Content-Type: text/plain > As I mentioned, it's simple to just repeat the use > of the same 8 faces, for 9-16, 17-24, etc. This is a very good idea. Now this is implemented in isearch. > I've added a third screenshot, where I did this: > recycle the faces of groups 1-5 for groups 9-13. Yes, recycling is nice, this is what now is used in isearch. > The foreground for each group is apparently taken > from the foreground of face `isearch'. I guess I > hadn't paid attention to that. I think that's > unfortunate, in general. I probably didn't notice > it because in my own setup I've customized face > `isearch' to use a black foreground (and a green > background). > > I think the default foreground for face `isearch' > should be something that works well with each of > the default group faces, and that's not likely to > be `lightskyblue1'. Change it to `black' and the > regexp group highlighting is quite good. You need > to be able to see the text that the regexp parts > apply to. > > I also tried just removing a foreground spec from > the vanilla default for face `isearch'. In the > case shown, which is *scratch*, the text has face > `font-lock-comment-face'. And if face `isearch' > doesn't have a good foreground spec (e.g. `black') > then the result isn't great. (But at least it's > better than with foreground `lightskyblue1'.) > > As I've just noticed this problem now, and as I > don't want to impose any default change on face > `isearch' in my code, I've now changed the default > regexp group faces to each specify a `black' > foreground (instead of no foreground), for a light > background mode. You see? So many problems when you tried to design a color palette for many isearch faces. I suppose you agree that the previous color palette in isearch with a color gradient is not suitable for highlighting of group matches because while looking at highlighted matches it's quite impossible to say which color corresponds to which group number. I meant when colors looks like a heatmap, for example: --=-=-= Content-Type: image/png Content-Disposition: inline; filename=heatmap.png Content-Transfer-Encoding: base64 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 rkJggg== --=-=-= Content-Type: text/plain would anyone be able to say a number while looking at a color? I see that you are using more distinct colors, but still these colors are bleak. Other examples of color scheme are in re-builder and hi-lock faces. Personally, I'd like to use rainbow colors in own customization: --=-=-= Content-Type: image/png Content-Disposition: inline; filename=rainbow.png Content-Transfer-Encoding: base64 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 --=-=-= Content-Type: text/plain But frankly speaking such color palette looks like angry fruit salad. What is the most reasonable thing to do is to delegate the decision about the color scheme selection to theme authors and to user customization. So now isearch provides two distinct recycling colors based on the default isearch color scheme. > The third screenshot (which recycles faces 1-5 for > 9-13) shows this: a black foreground for each face > used for the current search hit (but not for lazy > highlighting). Recycling is now implemented in isearch. Thanks for the idea. --=-=-=-- From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 06 Oct 2020 20:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Lars Ingebrigtsen Cc: Alan Mackenzie , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.16020154912131 (code B ref 43702); Tue, 06 Oct 2020 20:19:02 +0000 Received: (at 43702) by debbugs.gnu.org; 6 Oct 2020 20:18:11 +0000 Received: from localhost ([127.0.0.1]:54250 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kPtPX-0000YI-7K for submit@debbugs.gnu.org; Tue, 06 Oct 2020 16:18:11 -0400 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:42381) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kPtPU-0000Xs-Nh for 43702@debbugs.gnu.org; Tue, 06 Oct 2020 16:18:09 -0400 X-Originating-IP: 91.129.102.160 Received: from mail.gandi.net (m91-129-102-160.cust.tele2.ee [91.129.102.160]) (Authenticated sender: juri@linkov.net) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 0DBE9E000B; Tue, 6 Oct 2020 20:18:00 +0000 (UTC) From: Juri Linkov Organization: LINKOV.NET References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87pn62wxz6.fsf@gnus.org> <878scp92mo.fsf@mail.linkov.net> Date: Tue, 06 Oct 2020 23:17:44 +0300 In-Reply-To: <878scp92mo.fsf@mail.linkov.net> (Juri Linkov's message of "Thu, 01 Oct 2020 22:20:07 +0300") Message-ID: <87y2kj2jt7.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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.0 (-) >>> So a better solution is maybe to save match-data on the isearch stack >>> and restore in isearch-pop-state (called by isearch-delete-char). >>> I could try to do this. >> >> Please do. This is fixed now. > I'm on it (also adding even/odd faces to lazy-isearch - optionally > on the new user option lazy-highlight-submatches). I started implementing group matches highlighting for lazy-highlight and also for query-replace, but then realized neither lazy-highlight nor query-replace need no such thing because this highlighting is only useful while incrementally constructing/inspecting a complex regexp for the current match in incremental isearch mode. From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 06 Oct 2020 22:44:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: Alan Mackenzie , Lars Ingebrigtsen , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160202418415099 (code B ref 43702); Tue, 06 Oct 2020 22:44:02 +0000 Received: (at 43702) by debbugs.gnu.org; 6 Oct 2020 22:43:04 +0000 Received: from localhost ([127.0.0.1]:54313 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kPvfk-0003vS-56 for submit@debbugs.gnu.org; Tue, 06 Oct 2020 18:43:04 -0400 Received: from aserp2130.oracle.com ([141.146.126.79]:59098) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kPvfi-0003uy-Mw for 43702@debbugs.gnu.org; Tue, 06 Oct 2020 18:43:03 -0400 Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 096MeA8S093968; Tue, 6 Oct 2020 22:42:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type; s=corp-2020-01-29; bh=Mo8VpYqNrLPUR8jATD4vM4tIhdMMVqtHeles7jCfwzA=; b=F8EhTUWOnNjusIl841sX/0031D+vWphO/297HCm7Rg+fwctbwjNG8N2W21VnVmWThVH+ p1MsPw3AvFNkKme46YCYKsRDU6JF0WAOPvIMaDi3oM+V8UQ0DdrSmjLXBPJJ3zKSFAzO ECn48Ye1iC3B5iuFJm1O58xwtXrXSidhQnh/GGfzQj/aa67jXxo6mNC2b7aiboC77JP+ BR1KuPtRIv6h9nAC9mnZYut34r6a/b9L7+k7tz07KRK3UMMJYmE0gdfP/Cj+OhEPicCk XzYhScvA1vMTI62JcmXFtjzW1cKLU+3SwZwk90v7BZEhotfNOQ4x33E7TOM18j23lVZb Vg== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by aserp2130.oracle.com with ESMTP id 33xetaxyy7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 06 Oct 2020 22:42:56 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 096MZ9Ip084735; Tue, 6 Oct 2020 22:40:55 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userp3020.oracle.com with ESMTP id 33yyjgama2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 06 Oct 2020 22:40:55 +0000 Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 096MejNw005039; Tue, 6 Oct 2020 22:40:47 GMT MIME-Version: 1.0 Message-ID: Date: Tue, 6 Oct 2020 15:40:43 -0700 (PDT) From: Drew Adams References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> <87mu0z3zxf.fsf@mail.linkov.net> In-Reply-To: <87mu0z3zxf.fsf@mail.linkov.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5056.0 (x86)] Content-Type: multipart/mixed; boundary="__1602024045064115326abhmp0002.oracle.com" X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9766 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 adultscore=0 bulkscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2010060147 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9766 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 mlxscore=0 clxscore=1015 priorityscore=1501 adultscore=0 mlxlogscore=999 phishscore=0 impostorscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2010060148 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" --__1602024045064115326abhmp0002.oracle.com Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable > > As I mentioned, it's simple to just repeat the use > > of the same 8 faces, for 9-16, 17-24, etc. >=20 > This is a very good idea. Now this is implemented in isearch. > > > I've added a third screenshot, where I did this: > > recycle the faces of groups 1-5 for groups 9-13. >=20 > Yes, recycling is nice, this is what now is used in isearch. Good to hear. > You see? So many problems when you tried to design > a color palette for many isearch faces. Did you say that before & I disagreed? I don't think so. (What I mentioned in my previous mail here was that I didn't take into account that the foreground of face `isearch' got used for all of the regexp-group faces, because their default values didn't specify a foreground.) > I suppose you agree that the previous color palette in > isearch with a color gradient I don't know what palette you're referring to, sorry. > is not suitable for highlighting of group matches > because while looking at highlighted matches it's quite impossible to > say which color corresponds to which group number. > I meant when colors looks like a heatmap, for example: I'm not sure what to make of your heat-map image. Is it supposed to show highlighting of regexps? Certainly there are many, many fine gradations of color in that image. If your point is that it's hard to distinguish very similar colors (e.g. your "-0.69" and "0.12"), then yes, of course. Your rainbow screenshot presumably is for matching sequential regexp groups (again, not very typical). It's OK, but it suffers from using a set of faces with light and dark backgrounds. The black foreground is good against some of the backgrounds and bad against others. See attached, which are the faces I use by default (for a light background mode). The series runs first (groups 1-4) through different pastel hues at the same saturation & value, and then (groups 5-8) through the same series of hues but with a lighter saturation & value (i.e., more pastel). I think that helps, when trying to match regexp group highlighting against group numbers. There's only a slight difference between the colors for the same hue (different degrees of lightness), but it's pretty easy to tell faces of different hue from each other. I.e., it's easy to tell group 3 from groups 1, 2, and 4, and it's easy to tell 7 from 5, 6, and 7. It's harder to tell 3 from 7, but needing to do that will be relatively rare. > I started implementing group matches highlighting for lazy-highlight and = also > for query-replace, but then realized neither lazy-highlight nor query-rep= lace > need no such thing because this highlighting is only useful while > incrementally constructing/inspecting a complex regexp for the current ma= tch > in incremental isearch mode. I don't agree, but won't argue about it. I redefined `replace-highlight' and `replace-dehighlight' so they do highlight regexp groups, and I think it's helpful. The same user option controls whether regexp groups should be highlighted, for Isearch and replace: `isearchp-highlight-regexp-group-levels-flag'. And you can toggle that during Isearch with `M-s h R'. Anyway, thanks for working on this feature. I think it's helpful and will be welcome. --__1602024045064115326abhmp0002.oracle.com Content-Type: image/png; name="throw-isearch+-regexp-group-faces.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="throw-isearch+-regexp-group-faces.png" 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 Hw/+D95VzIG3iG5HAAAAAElFTkSuQmCC --__1602024045064115326abhmp0002.oracle.com-- From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 07 Oct 2020 07:17:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: acm@muc.de, larsi@gnus.org, drew.adams@oracle.com, 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160205499316245 (code B ref 43702); Wed, 07 Oct 2020 07:17:02 +0000 Received: (at 43702) by debbugs.gnu.org; 7 Oct 2020 07:16:33 +0000 Received: from localhost ([127.0.0.1]:54956 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kQ3gf-0004Dx-EM for submit@debbugs.gnu.org; Wed, 07 Oct 2020 03:16:33 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52370) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kQ3gd-0004Dk-NI for 43702@debbugs.gnu.org; Wed, 07 Oct 2020 03:16:32 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:40904) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kQ3gX-0000aI-CI; Wed, 07 Oct 2020 03:16:25 -0400 Received: from [176.228.60.248] (port=3026 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kQ3gW-0002i1-Jx; Wed, 07 Oct 2020 03:16:25 -0400 Date: Wed, 07 Oct 2020 10:16:29 +0300 Message-Id: <83ft6qa4ky.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87mu0z3zxf.fsf@mail.linkov.net> (message from Juri Linkov on Tue, 06 Oct 2020 23:01:16 +0300) References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> <87mu0z3zxf.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) 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: -3.3 (---) > From: Juri Linkov > Date: Tue, 06 Oct 2020 23:01:16 +0300 > Cc: Alan Mackenzie , Lars Ingebrigtsen , > 43702@debbugs.gnu.org > > > As I mentioned, it's simple to just repeat the use > > of the same 8 faces, for 9-16, 17-24, etc. > > This is a very good idea. Now this is implemented in isearch. I don't think I understand the change, and the documentation doesn't seem to help. It seems like now there are just two faces that are used alternately, i.e. one face for odd-numbered groups, the other for even-numbered groups? If this is the case, why doesn't the documentation say so explicitly? And if this is not the case, what did I miss? > I suppose you agree that the previous color palette in isearch > with a color gradient is not suitable for highlighting of group matches > because while looking at highlighted matches it's quite impossible to > say which color corresponds to which group number. And with the current implementation on master it is possible? If so, how? From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 07 Oct 2020 08:44:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Drew Adams Cc: Alan Mackenzie , Lars Ingebrigtsen , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.1602060207634 (code B ref 43702); Wed, 07 Oct 2020 08:44:02 +0000 Received: (at 43702) by debbugs.gnu.org; 7 Oct 2020 08:43:27 +0000 Received: from localhost ([127.0.0.1]:55192 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kQ52k-0000A8-KA for submit@debbugs.gnu.org; Wed, 07 Oct 2020 04:43:26 -0400 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:53209) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kQ52i-00009s-Gu for 43702@debbugs.gnu.org; Wed, 07 Oct 2020 04:43:25 -0400 X-Originating-IP: 91.129.102.160 Received: from mail.gandi.net (m91-129-102-160.cust.tele2.ee [91.129.102.160]) (Authenticated sender: juri@linkov.net) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 3EF50240011; Wed, 7 Oct 2020 08:43:15 +0000 (UTC) From: Juri Linkov Organization: LINKOV.NET References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> <87mu0z3zxf.fsf@mail.linkov.net> Date: Wed, 07 Oct 2020 11:13:35 +0300 In-Reply-To: (Drew Adams's message of "Tue, 6 Oct 2020 15:40:43 -0700 (PDT)") Message-ID: <871riav4os.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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.0 (-) > See attached, which are the faces I use by default > (for a light background mode). > > It's harder to tell 3 from 7, but needing to do that will be > relatively rare. I agree, it's hard to tell 3 from 7 when highlighting a complex nested regexp. >> I started implementing group matches highlighting for lazy-highlight and also >> for query-replace, but then realized neither lazy-highlight nor query-replace >> need no such thing because this highlighting is only useful while >> incrementally constructing/inspecting a complex regexp for the current match >> in incremental isearch mode. > > I don't agree, but won't argue about it. I redefined > `replace-highlight' and `replace-dehighlight' so they > do highlight regexp groups, and I think it's helpful. After query-replace is started, the regexp is already created (either with the help of isearch group submatches highlighting or typed directly on the query-replace prompt), so during replacements the user has only to decide for each match whether to replace it or not by answering the y/n question for the currently highlighted regexp. How highlighting the replacement submatches will help the user to decide whether to replace the current match or not? From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 07 Oct 2020 08:44:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: acm@muc.de, larsi@gnus.org, drew.adams@oracle.com, 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.1602060214665 (code B ref 43702); Wed, 07 Oct 2020 08:44:02 +0000 Received: (at 43702) by debbugs.gnu.org; 7 Oct 2020 08:43:34 +0000 Received: from localhost ([127.0.0.1]:55198 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kQ52s-0000Af-9q for submit@debbugs.gnu.org; Wed, 07 Oct 2020 04:43:34 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:56289) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kQ52q-0000A9-M0 for 43702@debbugs.gnu.org; Wed, 07 Oct 2020 04:43:33 -0400 X-Originating-IP: 91.129.102.160 Received: from mail.gandi.net (m91-129-102-160.cust.tele2.ee [91.129.102.160]) (Authenticated sender: juri@linkov.net) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 2BCB060013; Wed, 7 Oct 2020 08:43:23 +0000 (UTC) From: Juri Linkov Organization: LINKOV.NET References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> <87mu0z3zxf.fsf@mail.linkov.net> <83ft6qa4ky.fsf@gnu.org> Date: Wed, 07 Oct 2020 11:09:09 +0300 In-Reply-To: <83ft6qa4ky.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 07 Oct 2020 10:16:29 +0300") Message-ID: <87imbmqvki.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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.0 (-) >> > As I mentioned, it's simple to just repeat the use >> > of the same 8 faces, for 9-16, 17-24, etc. >> >> This is a very good idea. Now this is implemented in isearch. > > I don't think I understand the change, and the documentation doesn't > seem to help. It seems like now there are just two faces that are > used alternately, i.e. one face for odd-numbered groups, the other for > even-numbered groups? If this is the case, why doesn't the > documentation say so explicitly? And if this is not the case, what > did I miss? Yes, by default isearch-group-1 is used for odd-numbered groups, and isearch-group-2 for even-numbered groups. But when a user or a theme author will define a new face isearch-group-3, then isearch-group-3 will be used to highlight groups 3, 6, 9, 12, ..., the isearch-group-2 face to highlight groups 2, 5, 8, 11, ..., the isearch-group-1 face to highlight groups 1, 4, 7, 10, ... A user or a theme author can define more faces, e.g. isearch-group-4, isearch-group-5, isearch-group-6, and these faces will be recycled: submatches: 1 2 3 4 5 6 7 8 9 10 11 12 group faces: 1 2 3 4 5 6 1 2 3 4 5 6 >> I suppose you agree that the previous color palette in isearch >> with a color gradient is not suitable for highlighting of group matches >> because while looking at highlighted matches it's quite impossible to >> say which color corresponds to which group number. > > And with the current implementation on master it is possible? If so, > how? With only 2 default group faces it's possible to see that one of them isearch-group-1 is brighter than the default isearch face, and another isearch-group-2 is darker than the default isearch face. From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 07 Oct 2020 09:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: acm@muc.de, larsi@gnus.org, drew.adams@oracle.com, 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.16020620583491 (code B ref 43702); Wed, 07 Oct 2020 09:15:01 +0000 Received: (at 43702) by debbugs.gnu.org; 7 Oct 2020 09:14:18 +0000 Received: from localhost ([127.0.0.1]:55232 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kQ5Wb-0000uF-Pn for submit@debbugs.gnu.org; Wed, 07 Oct 2020 05:14:18 -0400 Received: from eggs.gnu.org ([209.51.188.92]:49728) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kQ5WX-0000tx-UM for 43702@debbugs.gnu.org; Wed, 07 Oct 2020 05:14:16 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:42159) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kQ5WR-0006BW-1W; Wed, 07 Oct 2020 05:14:07 -0400 Received: from [176.228.60.248] (port=2303 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kQ5WQ-0004OZ-Gx; Wed, 07 Oct 2020 05:14:06 -0400 Date: Wed, 07 Oct 2020 12:14:11 +0300 Message-Id: <831ria9z4s.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87imbmqvki.fsf@mail.linkov.net> (message from Juri Linkov on Wed, 07 Oct 2020 11:09:09 +0300) References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> <87mu0z3zxf.fsf@mail.linkov.net> <83ft6qa4ky.fsf@gnu.org> <87imbmqvki.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) 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: -3.3 (---) > From: Juri Linkov > Cc: drew.adams@oracle.com, acm@muc.de, larsi@gnus.org, 43702@debbugs.gnu.org > Date: Wed, 07 Oct 2020 11:09:09 +0300 > > > I don't think I understand the change, and the documentation doesn't > > seem to help. It seems like now there are just two faces that are > > used alternately, i.e. one face for odd-numbered groups, the other for > > even-numbered groups? If this is the case, why doesn't the > > documentation say so explicitly? And if this is not the case, what > > did I miss? > > Yes, by default isearch-group-1 is used for odd-numbered groups, > and isearch-group-2 for even-numbered groups. > > But when a user or a theme author will define a new face > isearch-group-3, then isearch-group-3 will be used to highlight > groups 3, 6, 9, 12, ..., the isearch-group-2 face to highlight > groups 2, 5, 8, 11, ..., the isearch-group-1 face to highlight > groups 1, 4, 7, 10, ... OK, I clarified this in the docs. > >> I suppose you agree that the previous color palette in isearch > >> with a color gradient is not suitable for highlighting of group matches > >> because while looking at highlighted matches it's quite impossible to > >> say which color corresponds to which group number. > > > > And with the current implementation on master it is possible? If so, > > how? > > With only 2 default group faces it's possible to see that one of them > isearch-group-1 is brighter than the default isearch face, and another > isearch-group-2 is darker than the default isearch face. No, I meant to ask if it's possible to say which color corresponds to which group number. From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 07 Oct 2020 15:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: Alan Mackenzie , Lars Ingebrigtsen , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160208534426667 (code B ref 43702); Wed, 07 Oct 2020 15:43:02 +0000 Received: (at 43702) by debbugs.gnu.org; 7 Oct 2020 15:42:24 +0000 Received: from localhost ([127.0.0.1]:57767 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kQBaC-0006w3-Je for submit@debbugs.gnu.org; Wed, 07 Oct 2020 11:42:24 -0400 Received: from aserp2120.oracle.com ([141.146.126.78]:56992) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kQBaA-0006vr-To for 43702@debbugs.gnu.org; Wed, 07 Oct 2020 11:42:24 -0400 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 097FY4V7098379; Wed, 7 Oct 2020 15:42:16 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=ECTcgxJti1qhjvJqZ+EfhS8sJD6Pbkhs4f7LyLB2JeY=; b=kBKG0LlfsW8UblYoOy4s6rR6DCvpeXbqEwoPdApzNbGfS1IcHIsz6xcKUMj9pvwh25Rc GzzKGRvO9/CQBVwrHzsz2iQHq5fnl496NRBrRwwbO6I/YDs2jSVpfLYP6O9mJgyv9EjK HjalV4DSNC5u9ivauYC4Awahz4wBLfxnm2ZlfxIU0Aj1LKwaiUgYE+3IMgrT5LEOd+yC Mssn9ABPpn9Du59ZnGyUo0Q2b2E2EqZgukqpWZmh+8kQVG0FQsXIJ44ZmoNR92gQyjzZ 4IKcap8z/wpb36F/WOx/vZyb8davJ+u1dCNXbVjW0yueq2wUcIRdfZkH84UbgtsQU+cP lQ== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by aserp2120.oracle.com with ESMTP id 33ym34qnwu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 07 Oct 2020 15:42:16 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 097FZHJ9008665; Wed, 7 Oct 2020 15:42:15 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userp3020.oracle.com with ESMTP id 33yyjhc75h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 07 Oct 2020 15:42:15 +0000 Received: from abhmp0020.oracle.com (abhmp0020.oracle.com [141.146.116.26]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 097FgBMj016170; Wed, 7 Oct 2020 15:42:11 GMT MIME-Version: 1.0 Message-ID: <21c5738b-e9f2-465f-9ca3-8947a5b9191d@default> Date: Wed, 7 Oct 2020 08:42:10 -0700 (PDT) From: Drew Adams References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> <87mu0z3zxf.fsf@mail.linkov.net> <871riav4os.fsf@mail.linkov.net> In-Reply-To: <871riav4os.fsf@mail.linkov.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5056.0 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9767 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 adultscore=0 bulkscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2010070099 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9767 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 impostorscore=0 priorityscore=1501 mlxscore=0 mlxlogscore=999 clxscore=1015 bulkscore=0 spamscore=0 malwarescore=0 phishscore=0 suspectscore=0 adultscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2010070099 X-Spam-Score: -2.3 (--) 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: -3.3 (---) > > I don't agree, but won't argue about it. I redefined > > `replace-highlight' and `replace-dehighlight' so they > > do highlight regexp groups, and I think it's helpful. >=20 > After query-replace is started, the regexp is already created > (either with the help of isearch group submatches highlighting > or typed directly on the query-replace prompt), so during replacements > the user has only to decide for each match whether to replace it or not > by answering the y/n question for the currently highlighted regexp. >=20 > How highlighting the replacement submatches will help the user to decide > whether to replace the current match or not? Whether to replace a given match is not the only thing a user can do - not the only thing to decide/consider. Highlighting groups helps you see _how_ a regexp matches. And you can always change a regexp and search/replace again, if it's either not matching something you want to match or matching too many things you don't want to match. It's helpful in pretty much any context where regexps are matched against text, IMO. From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 07 Oct 2020 19:26:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: acm@muc.de, larsi@gnus.org, drew.adams@oracle.com, 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.16020987176733 (code B ref 43702); Wed, 07 Oct 2020 19:26:01 +0000 Received: (at 43702) by debbugs.gnu.org; 7 Oct 2020 19:25:17 +0000 Received: from localhost ([127.0.0.1]:58110 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kQF3s-0001kS-QU for submit@debbugs.gnu.org; Wed, 07 Oct 2020 15:25:17 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:53671) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kQF3o-0001jr-98 for 43702@debbugs.gnu.org; Wed, 07 Oct 2020 15:25:13 -0400 X-Originating-IP: 91.129.102.160 Received: from mail.gandi.net (m91-129-102-160.cust.tele2.ee [91.129.102.160]) (Authenticated sender: juri@linkov.net) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id A4E0160006; Wed, 7 Oct 2020 19:25:04 +0000 (UTC) From: Juri Linkov Organization: LINKOV.NET References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> <87mu0z3zxf.fsf@mail.linkov.net> <83ft6qa4ky.fsf@gnu.org> <87imbmqvki.fsf@mail.linkov.net> <831ria9z4s.fsf@gnu.org> Date: Wed, 07 Oct 2020 22:09:59 +0300 In-Reply-To: <831ria9z4s.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 07 Oct 2020 12:14:11 +0300") Message-ID: <87r1q9onc0.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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.0 (-) >> >> I suppose you agree that the previous color palette in isearch >> >> with a color gradient is not suitable for highlighting of group matches >> >> because while looking at highlighted matches it's quite impossible to >> >> say which color corresponds to which group number. >> > >> > And with the current implementation on master it is possible? If so, >> > how? >> >> With only 2 default group faces it's possible to see that one of them >> isearch-group-1 is brighter than the default isearch face, and another >> isearch-group-2 is darker than the default isearch face. > > No, I meant to ask if it's possible to say which color corresponds to > which group number. The default two colors work well for simple regexps, but degrade with increase of regexp complexity. And defining more colors with same color gradations doesn't help. Even the color scheme designed by Drew has problems. So users and theme authors need to decide themselves how many and what colors they want to use. From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 07 Oct 2020 20:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov , Eli Zaretskii Cc: acm@muc.de, larsi@gnus.org, 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160210098210193 (code B ref 43702); Wed, 07 Oct 2020 20:03:02 +0000 Received: (at 43702) by debbugs.gnu.org; 7 Oct 2020 20:03:02 +0000 Received: from localhost ([127.0.0.1]:58160 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kQFeP-0002eI-IU for submit@debbugs.gnu.org; Wed, 07 Oct 2020 16:03:01 -0400 Received: from aserp2120.oracle.com ([141.146.126.78]:35782) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kQFeN-0002dy-BY for 43702@debbugs.gnu.org; Wed, 07 Oct 2020 16:03:00 -0400 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 097K0PpA025478; Wed, 7 Oct 2020 20:02:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=38gKCXX5gOOxhdl98/uZuGyonaAPVCQVOeQD9Xbvr1k=; b=iVGZbdEDpFjloek3rDBLEh1rBuY7neh2f7x0wm4WM6x2e+1rtKtvd2bDOE/R2tZaZ5xT klKXaIP/q1yZKQgDb5Xpxw5PvWVaWYIpaTZZyohZxZX3OIuWi9HfLf9cwGgFQbkeTOtN 79SyVKWwSjg5sX7nc1oRFvk7ZQJlq1cj+ugeSnniR/sZH9dA9bcxxhDk0uuj21cd2Ljs JytxyKy2V8egFsgLtQ9aEOTh+TkZbLKhjUzcnfl+SeR8eyAnD6o5YkYR+5h1A/WBgs5B eO0oo3qKzLHyxc7jintf9EdqrQE5KdelF5JOeZuDBelIT88KYqCTZwdQKjKatQiBMig2 Lw== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by aserp2120.oracle.com with ESMTP id 33ym34s4q7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 07 Oct 2020 20:02:53 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 097K0rPu183648; Wed, 7 Oct 2020 20:02:52 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserp3020.oracle.com with ESMTP id 3410k0255h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 07 Oct 2020 20:02:52 +0000 Received: from abhmp0020.oracle.com (abhmp0020.oracle.com [141.146.116.26]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 097K2j1m025060; Wed, 7 Oct 2020 20:02:45 GMT MIME-Version: 1.0 Message-ID: <1f93cbb9-9759-4b77-a6a2-64909bde0585@default> Date: Wed, 7 Oct 2020 13:02:44 -0700 (PDT) From: Drew Adams References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> <87mu0z3zxf.fsf@mail.linkov.net> <83ft6qa4ky.fsf@gnu.org> <87imbmqvki.fsf@mail.linkov.net> <831ria9z4s.fsf@gnu.org> <87r1q9onc0.fsf@mail.linkov.net> In-Reply-To: <87r1q9onc0.fsf@mail.linkov.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5056.0 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9767 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 mlxlogscore=823 spamscore=0 adultscore=0 bulkscore=0 malwarescore=0 suspectscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2010070126 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9767 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 impostorscore=0 priorityscore=1501 mlxscore=0 mlxlogscore=834 clxscore=1015 bulkscore=0 spamscore=0 malwarescore=0 phishscore=0 suspectscore=0 adultscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2010070126 X-Spam-Score: -2.3 (--) 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: -3.3 (---) > Even the color scheme designed by Drew has problems. What problems? > So users and theme authors need to decide themselves > how many and what colors they want to use. I certainly agree with that. It's sufficient to define a set of faces (I suggested eight) and use those. Anyone who want the effect of fewer faces can just customize any of them to repeat any of the others. It's easy to get the effect of using only 2 faces by customizing the eight faces provided. From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 07 Oct 2020 20:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Drew Adams Cc: acm@muc.de, Eli Zaretskii , larsi@gnus.org, 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160210273112850 (code B ref 43702); Wed, 07 Oct 2020 20:33:02 +0000 Received: (at 43702) by debbugs.gnu.org; 7 Oct 2020 20:32:11 +0000 Received: from localhost ([127.0.0.1]:58184 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kQG6d-0003LC-J1 for submit@debbugs.gnu.org; Wed, 07 Oct 2020 16:32:11 -0400 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:57885) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kQG6c-0003Kx-AG for 43702@debbugs.gnu.org; Wed, 07 Oct 2020 16:32:10 -0400 X-Originating-IP: 91.129.102.160 Received: from mail.gandi.net (m91-129-102-160.cust.tele2.ee [91.129.102.160]) (Authenticated sender: juri@linkov.net) by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id EB1B140005; Wed, 7 Oct 2020 20:32:01 +0000 (UTC) From: Juri Linkov Organization: LINKOV.NET References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> <87mu0z3zxf.fsf@mail.linkov.net> <83ft6qa4ky.fsf@gnu.org> <87imbmqvki.fsf@mail.linkov.net> <831ria9z4s.fsf@gnu.org> <87r1q9onc0.fsf@mail.linkov.net> <1f93cbb9-9759-4b77-a6a2-64909bde0585@default> Date: Wed, 07 Oct 2020 23:22:03 +0300 In-Reply-To: <1f93cbb9-9759-4b77-a6a2-64909bde0585@default> (Drew Adams's message of "Wed, 7 Oct 2020 13:02:44 -0700 (PDT)") Message-ID: <87ft6pokx8.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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.0 (-) >> Even the color scheme designed by Drew has problems. > > What problems? On the screenshot you sent it's hard to tell 3 from 7, 1 from 5, 2 from 6, 4 from 8. From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 07 Oct 2020 20:57:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: acm@muc.de, Eli Zaretskii , larsi@gnus.org, 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160210419215088 (code B ref 43702); Wed, 07 Oct 2020 20:57:01 +0000 Received: (at 43702) by debbugs.gnu.org; 7 Oct 2020 20:56:32 +0000 Received: from localhost ([127.0.0.1]:58253 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kQGUB-0003vI-N0 for submit@debbugs.gnu.org; Wed, 07 Oct 2020 16:56:31 -0400 Received: from aserp2130.oracle.com ([141.146.126.79]:40642) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kQGUA-0003v5-Cr for 43702@debbugs.gnu.org; Wed, 07 Oct 2020 16:56:30 -0400 Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 097KoCPL028917; Wed, 7 Oct 2020 20:56:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=s4cHD5xQTHTT0I3jK0IDEsq9cgkE/B20/2otxsxbTBw=; b=OaDNSNkisjrPBb+u5EKYB18UgqZ5iSYG/ChUx3fjDBem/soNzqC071w6YzpN+TFqHGc7 jLKfE4/+jxieIbbG8BCWcIO2a2jJbcMjGvAiVY0vLt3829kiLuPQJIMmU2luJwTCw2qp 0te5OH9z7Q6rnBrdecUowgjlhAgusdG8Z2eVWP/rvKWdJO5a0gJCjE18/vzYqMe+mLwo 3ZBTosmZNtUysO+fqyd/qUvskpmEwrn0QSBNo84S/pSGwHkmJVUFwmYdvZKBAJtGDRGH Ek+A6AATlCS/ZXiucJinh8CQBYUQHw3hovvrxsUl8G9E7Sxex2WYJ+5UxdJBe8fxwN5b Jg== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by aserp2130.oracle.com with ESMTP id 33xetb4ekh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 07 Oct 2020 20:56:24 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 097KorrD125488; Wed, 7 Oct 2020 20:56:23 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserp3020.oracle.com with ESMTP id 3410k03vu3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 07 Oct 2020 20:56:23 +0000 Received: from abhmp0020.oracle.com (abhmp0020.oracle.com [141.146.116.26]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 097KuLan021602; Wed, 7 Oct 2020 20:56:22 GMT MIME-Version: 1.0 Message-ID: <3128ed44-cdce-487a-b897-4c79e9d61d2c@default> Date: Wed, 7 Oct 2020 13:56:20 -0700 (PDT) From: Drew Adams References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> <87mu0z3zxf.fsf@mail.linkov.net> <83ft6qa4ky.fsf@gnu.org> <87imbmqvki.fsf@mail.linkov.net> <831ria9z4s.fsf@gnu.org> <87r1q9onc0.fsf@mail.linkov.net> <1f93cbb9-9759-4b77-a6a2-64909bde0585@default> <87ft6pokx8.fsf@mail.linkov.net> In-Reply-To: <87ft6pokx8.fsf@mail.linkov.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5056.0 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9767 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 mlxlogscore=999 spamscore=0 adultscore=0 bulkscore=0 malwarescore=0 suspectscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2010070134 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9767 signatures=668680 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 mlxscore=0 clxscore=1015 priorityscore=1501 adultscore=0 mlxlogscore=999 phishscore=0 impostorscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2010070134 X-Spam-Score: -0.7 (/) 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 (-) > >> Even the color scheme designed by Drew has problems. > > > > What problems? >=20 > On the screenshot you sent it's hard to tell 3 from 7, > 1 from 5, 2 from 6, 4 from 8. It's intentional. I explained why it's not a problem in practice. Few regexps use more than 4 groups. 1. Groups near each other, in group order, are easily distinguishable, regardless of where they are in the list. E.g., (2,3,4), (4,5 6), or (8,1,2). 2. Most important is distinguishing groups 1-4, without using faces that are too in-your-face or conflict with most other highlighting. 3. Hue, at the same saturation & value, is the best way to distinguish without violating #2. 4. Groups 5-8 are paler and more rarely used. Their differences need not be as pronounced as 1-4. But as you say, being able to customize is what's most important. And by doing so, to, in effect, shrink the number of faces in the cycle (by using identical definitions). From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 12 Oct 2020 20:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Drew Adams Cc: Alan Mackenzie , Lars Ingebrigtsen , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160253287432135 (code B ref 43702); Mon, 12 Oct 2020 20:02:01 +0000 Received: (at 43702) by debbugs.gnu.org; 12 Oct 2020 20:01:14 +0000 Received: from localhost ([127.0.0.1]:44029 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kS40P-0008MF-RW for submit@debbugs.gnu.org; Mon, 12 Oct 2020 16:01:14 -0400 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:52073) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kS40M-0008M0-KE for 43702@debbugs.gnu.org; Mon, 12 Oct 2020 16:01:13 -0400 X-Originating-IP: 91.129.102.160 Received: from mail.gandi.net (m91-129-102-160.cust.tele2.ee [91.129.102.160]) (Authenticated sender: juri@linkov.net) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 3FFC3240008; Mon, 12 Oct 2020 20:01:01 +0000 (UTC) From: Juri Linkov Organization: LINKOV.NET References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> <87mu0z3zxf.fsf@mail.linkov.net> <871riav4os.fsf@mail.linkov.net> <21c5738b-e9f2-465f-9ca3-8947a5b9191d@default> Date: Mon, 12 Oct 2020 22:59:53 +0300 In-Reply-To: <21c5738b-e9f2-465f-9ca3-8947a5b9191d@default> (Drew Adams's message of "Wed, 7 Oct 2020 08:42:10 -0700 (PDT)") Message-ID: <874kmzz03q.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) 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.0 (-) --=-=-= Content-Type: text/plain >> How highlighting the replacement submatches will help the user to decide >> whether to replace the current match or not? > > Whether to replace a given match is not the only thing > a user can do - not the only thing to decide/consider. > > Highlighting groups helps you see _how_ a regexp matches. > > And you can always change a regexp and search/replace > again, if it's either not matching something you want > to match or matching too many things you don't want to > match. > > It's helpful in pretty much any context where regexps > are matched against text, IMO. I think you are right. So here is a patch that implements this: --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=query-replace-highlight-submatches.patch diff --git a/lisp/replace.el b/lisp/replace.el index e363924501..f9ffa36f54 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -126,6 +126,18 @@ query-replace-highlight :type 'boolean :group 'matching) +(defcustom query-replace-highlight-submatches t + "Whether to highlight regexp subexpressions during query replacement. +The faces used to do the highlights are named `isearch-group-1', +`isearch-group-2', etc. (By default, only these 2 are defined.) +When there are more matches than faces, then faces are reused from the +beginning, in a cyclical manner, so the `isearch-group-1' face is +isreused for the third match. If you want to use more distinctive colors, +you can define more of these faces using the same numbering scheme." + :type 'boolean + :group 'matching + :version "28.1") + (defcustom query-replace-lazy-highlight t "Controls the lazy-highlighting during query replacements. When non-nil, all text in the buffer matching the current match @@ -2403,16 +2427,36 @@ replace-search (funcall search-function search-string limit t))) (defvar replace-overlay nil) +(defvar replace-submatches-overlays nil) (defun replace-highlight (match-beg match-end range-beg range-end search-string regexp-flag delimited-flag - case-fold &optional backward) + case-fold &optional backward match-data) (if query-replace-highlight (if replace-overlay (move-overlay replace-overlay match-beg match-end (current-buffer)) (setq replace-overlay (make-overlay match-beg match-end)) (overlay-put replace-overlay 'priority 1001) ;higher than lazy overlays (overlay-put replace-overlay 'face 'query-replace))) + + (when (and query-replace-highlight-submatches + regexp-flag) + (mapc 'delete-overlay replace-submatches-overlays) + (setq replace-submatches-overlays nil) + (let ((submatch-data (cddr (butlast match-data))) + (group 0) + ov face) + (while submatch-data + (setq group (1+ group)) + (setq ov (make-overlay (pop submatch-data) (pop submatch-data)) + face (intern-soft (format "isearch-group-%d" group))) + ;; Recycle faces from beginning. + (unless (facep face) + (setq group 1 face 'isearch-group-1)) + (overlay-put ov 'face face) + (overlay-put ov 'priority 1002) + (push ov replace-submatches-overlays)))) + (if query-replace-lazy-highlight (let ((isearch-string search-string) (isearch-regexp regexp-flag) @@ -2433,6 +2477,9 @@ replace-highlight (defun replace-dehighlight () (when replace-overlay (delete-overlay replace-overlay)) + (when query-replace-highlight-submatches + (mapc 'delete-overlay replace-submatches-overlays) + (setq replace-submatches-overlays nil)) (when query-replace-lazy-highlight (lazy-highlight-cleanup lazy-highlight-cleanup) (setq isearch-lazy-highlight-last-string nil)) @@ -2694,7 +2741,7 @@ perform-replace (replace-highlight (nth 0 real-match-data) (nth 1 real-match-data) start end search-string - regexp-flag delimited-flag case-fold-search backward)) + regexp-flag delimited-flag case-fold-search backward real-match-data)) (setq noedit (replace-match-maybe-edit next-replacement nocasify literal @@ -2719,7 +2766,7 @@ perform-replace (replace-highlight (match-beginning 0) (match-end 0) start end search-string - regexp-flag delimited-flag case-fold-search backward) + regexp-flag delimited-flag case-fold-search backward real-match-data) ;; Obtain the matched groups: needed only when ;; regexp-flag non nil. (when (and last-was-undo regexp-flag) --=-=-=-- From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 12 Oct 2020 23:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: Alan Mackenzie , Lars Ingebrigtsen , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.16025441952333 (code B ref 43702); Mon, 12 Oct 2020 23:10:02 +0000 Received: (at 43702) by debbugs.gnu.org; 12 Oct 2020 23:09:55 +0000 Received: from localhost ([127.0.0.1]:44336 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kS6x1-0000bZ-3k for submit@debbugs.gnu.org; Mon, 12 Oct 2020 19:09:55 -0400 Received: from aserp2130.oracle.com ([141.146.126.79]:60252) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kS6wz-0000bE-4O for 43702@debbugs.gnu.org; Mon, 12 Oct 2020 19:09:53 -0400 Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 09CN9kuO157855; Mon, 12 Oct 2020 23:09:46 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=XhZ1WMs/LbMKGZ10NPTWyenDiafjvBNsbr9Rbii4NDo=; b=zdMxUZQkGsix1BQSsj3wx7STqGCe2FbED57pAdAk4LJcz3zG8083Is2TowJX5nV2AZwF 98tibIExxxO5o3FFrVUVt0FfLNRffeTDdP/6cMm//+CMydSgP+dYsqGEGdFHixkAorJH cDVDe0seJRCTGQZ5JbUqH/OfztxKifSPI34b18l8zhVPDCvSA1dzREOBNRoqFJ56dXZc BSRMLoESAGRc4wFeRQAgVAHrerNmKQPIrIQv1+Z3wEzGvh10f12275h43gh/5h0ja+L3 Q0petCo8kNYJMoId0/AnWiNGz7MyZ1Jx5DZ9SFt5Qe8IPUF4BmBKJM/CWdxAk63vgfoA KQ== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by aserp2130.oracle.com with ESMTP id 343pajp4bu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 12 Oct 2020 23:09:46 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 09CN5UZF140084; Mon, 12 Oct 2020 23:07:45 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userp3020.oracle.com with ESMTP id 344by1ddy3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 12 Oct 2020 23:07:45 +0000 Received: from abhmp0010.oracle.com (abhmp0010.oracle.com [141.146.116.16]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 09CN7dMR027336; Mon, 12 Oct 2020 23:07:39 GMT MIME-Version: 1.0 Message-ID: Date: Mon, 12 Oct 2020 16:07:38 -0700 (PDT) From: Drew Adams References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> <87mu0z3zxf.fsf@mail.linkov.net> <871riav4os.fsf@mail.linkov.net> <21c5738b-e9f2-465f-9ca3-8947a5b9191d@default> <874kmzz03q.fsf@mail.linkov.net> In-Reply-To: <874kmzz03q.fsf@mail.linkov.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5056.0 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9772 signatures=668681 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 suspectscore=0 mlxscore=0 malwarescore=0 adultscore=0 bulkscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2010120167 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9772 signatures=668681 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 impostorscore=0 priorityscore=1501 clxscore=1015 malwarescore=0 adultscore=0 lowpriorityscore=0 spamscore=0 phishscore=0 mlxscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2010120168 X-Spam-Score: -0.7 (/) 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 (-) > > It's helpful in pretty much any context where regexps > > are matched against text, IMO. >=20 > I think you are right. So here is a patch that implements this: It's probably not my place to criticize your patch. But in case it helps: I don't understand why you change the signature of `replace-highlight' by adding parameter MATCH-DATA. I just use (match-beginning GROUP) and (match-end GROUP), instead of explicitly passing the match data and then copying it all with `butlast' etc. just to find the group's match beginning and end. https://www.emacswiki.org/emacs/download/replace%2b.el From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 13 Oct 2020 20:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Drew Adams Cc: Alan Mackenzie , Lars Ingebrigtsen , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.16026203848318 (code B ref 43702); Tue, 13 Oct 2020 20:20:02 +0000 Received: (at 43702) by debbugs.gnu.org; 13 Oct 2020 20:19:44 +0000 Received: from localhost ([127.0.0.1]:49002 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kSQls-0002A5-2M for submit@debbugs.gnu.org; Tue, 13 Oct 2020 16:19:44 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:50217) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kSQlp-00029d-F9 for 43702@debbugs.gnu.org; Tue, 13 Oct 2020 16:19:42 -0400 X-Originating-IP: 91.129.102.160 Received: from mail.gandi.net (m91-129-102-160.cust.tele2.ee [91.129.102.160]) (Authenticated sender: juri@linkov.net) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 9F42960004; Tue, 13 Oct 2020 20:19:33 +0000 (UTC) From: Juri Linkov Organization: LINKOV.NET References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> <87mu0z3zxf.fsf@mail.linkov.net> <871riav4os.fsf@mail.linkov.net> <21c5738b-e9f2-465f-9ca3-8947a5b9191d@default> <874kmzz03q.fsf@mail.linkov.net> Date: Tue, 13 Oct 2020 23:14:01 +0300 In-Reply-To: (Drew Adams's message of "Mon, 12 Oct 2020 16:07:38 -0700 (PDT)") Message-ID: <871ri1g9yu.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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.0 (-) >> > It's helpful in pretty much any context where regexps >> > are matched against text, IMO. >> >> I think you are right. So here is a patch that implements this: > > It's probably not my place to criticize your patch. > But in case it helps: > > I don't understand why you change the signature of > `replace-highlight' by adding parameter MATCH-DATA. > > I just use (match-beginning GROUP) and (match-end GROUP), > instead of explicitly passing the match data and then > copying it all with `butlast' etc. just to find the > group's match beginning and end. But as you can see in the patch, it doesn't use (match-data). It uses the variable 'real-match-data'. From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 13 Oct 2020 20:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: Alan Mackenzie , Lars Ingebrigtsen , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160262250911939 (code B ref 43702); Tue, 13 Oct 2020 20:56:01 +0000 Received: (at 43702) by debbugs.gnu.org; 13 Oct 2020 20:55:09 +0000 Received: from localhost ([127.0.0.1]:49071 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kSRK8-00036V-Qv for submit@debbugs.gnu.org; Tue, 13 Oct 2020 16:55:09 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:48268) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kSRK5-00035q-VQ for 43702@debbugs.gnu.org; Tue, 13 Oct 2020 16:55:07 -0400 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 09DKrlIu093853; Tue, 13 Oct 2020 20:55:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=zo14Ardb3Ob+Z5Zfe+1TV6N4nt+yWPl70Oqw7sUWzx8=; b=ONDLUMPxwUAUUslj0dhFfkGALrzH8TVUCY0oSe07a+s38e89UsRU8hV6s8Hl9s1aLIfY W/BL55I0RJ3K9HIr8e+6k36LcbJJIALc54TIWcInR/pAJerBYLG47jbOVYTk6jMOF3bs XcgnTb7/OAXD89zWSow9FAj+tKRMJgih8MwiMqQU/9EXjQQfcM4A9M5RHXE8g2vPH7zj rrNcXv1gBC/MmEofME33Dxuz5jb4rkwYnSc5pqviIdo/QSu2cu6aefxZQR/7jFeSinaJ 4YCX3ICs1bPNeWeyOs5S82CGEg/S7yfJHCfO1rRFTbst1CqTtUBFNMySUGDDz1TMjHqC PQ== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by userp2120.oracle.com with ESMTP id 343vaeaqqb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 13 Oct 2020 20:55:00 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 09DKsZoP189348; Tue, 13 Oct 2020 20:54:59 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userp3030.oracle.com with ESMTP id 343pvwxa5c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 13 Oct 2020 20:54:59 +0000 Received: from abhmp0020.oracle.com (abhmp0020.oracle.com [141.146.116.26]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 09DKswJJ015801; Tue, 13 Oct 2020 20:54:58 GMT MIME-Version: 1.0 Message-ID: <5720d2bb-ba33-4e27-8d56-39888861f044@default> Date: Tue, 13 Oct 2020 13:54:57 -0700 (PDT) From: Drew Adams References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> <87mu0z3zxf.fsf@mail.linkov.net> <871riav4os.fsf@mail.linkov.net> <21c5738b-e9f2-465f-9ca3-8947a5b9191d@default> <874kmzz03q.fsf@mail.linkov.net> <871ri1g9yu.fsf@mail.linkov.net> In-Reply-To: <871ri1g9yu.fsf@mail.linkov.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5056.0 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9773 signatures=668681 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxscore=0 adultscore=0 bulkscore=0 mlxlogscore=999 suspectscore=0 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2010130149 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9773 signatures=668681 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 clxscore=1015 impostorscore=0 phishscore=0 malwarescore=0 bulkscore=0 priorityscore=1501 mlxscore=0 suspectscore=0 spamscore=0 adultscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2010130149 X-Spam-Score: -2.3 (--) 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: -3.3 (---) > > I don't understand why you change the signature of > > `replace-highlight' by adding parameter MATCH-DATA. > > > > I just use (match-beginning GROUP) and (match-end GROUP), > > instead of explicitly passing the match data and then > > copying it all with `butlast' etc. just to find the > > group's match beginning and end. >=20 > But as you can see in the patch, it doesn't use (match-data). > It uses the variable 'real-match-data'. Yes, I saw that. I suppose it must be relevant, but it's not clear to me why. I haven't noticed any problem with just using the latest match data, but I haven't tested much. It would be good to add a code comment to cite a case or specify the cases where it matters. Thx. From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 14 Oct 2020 08:59:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Drew Adams Cc: Alan Mackenzie , Lars Ingebrigtsen , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.160266589725251 (code B ref 43702); Wed, 14 Oct 2020 08:59:01 +0000 Received: (at 43702) by debbugs.gnu.org; 14 Oct 2020 08:58:17 +0000 Received: from localhost ([127.0.0.1]:50044 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kScbx-0006ZC-30 for submit@debbugs.gnu.org; Wed, 14 Oct 2020 04:58:17 -0400 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:45897) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kScbt-0006Yr-Tk; Wed, 14 Oct 2020 04:58:15 -0400 X-Originating-IP: 91.129.102.160 Received: from mail.gandi.net (m91-129-102-160.cust.tele2.ee [91.129.102.160]) (Authenticated sender: juri@linkov.net) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id E33FB20006; Wed, 14 Oct 2020 08:58:04 +0000 (UTC) From: Juri Linkov Organization: LINKOV.NET References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> <87mu0z3zxf.fsf@mail.linkov.net> <871riav4os.fsf@mail.linkov.net> <21c5738b-e9f2-465f-9ca3-8947a5b9191d@default> <874kmzz03q.fsf@mail.linkov.net> <871ri1g9yu.fsf@mail.linkov.net> <5720d2bb-ba33-4e27-8d56-39888861f044@default> Date: Wed, 14 Oct 2020 11:57:41 +0300 In-Reply-To: <5720d2bb-ba33-4e27-8d56-39888861f044@default> (Drew Adams's message of "Tue, 13 Oct 2020 13:54:57 -0700 (PDT)") Message-ID: <87362h18za.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) 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.0 (-) tags 43702 fixed close 43702 28.0.50 thanks > I haven't noticed any problem with just using > the latest match data, but I haven't tested much. You are right - there are no problems with using the latest match data. But using real-match-data causes problems - sometimes real-match-data contains nils at the end of the list, e.g. (1 2 3 4 <*buffer*> nil nil nil nil) So I pushed the patch that uses the latest match data. From unknown Sat Jun 21 05:16:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43702: Emacs master: Incorrect highlighting in regexp isearch. Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 14 Oct 2020 17:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43702 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: fixed To: Juri Linkov Cc: Alan Mackenzie , Lars Ingebrigtsen , 43702@debbugs.gnu.org Received: via spool by 43702-submit@debbugs.gnu.org id=B43702.16026950272243 (code B ref 43702); Wed, 14 Oct 2020 17:04:02 +0000 Received: (at 43702) by debbugs.gnu.org; 14 Oct 2020 17:03:47 +0000 Received: from localhost ([127.0.0.1]:52913 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kSkBX-0000Zr-RR for submit@debbugs.gnu.org; Wed, 14 Oct 2020 13:03:46 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:56492) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kSkBV-0000Zc-4v for 43702@debbugs.gnu.org; Wed, 14 Oct 2020 13:03:30 -0400 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 09EGxoTo192969; Wed, 14 Oct 2020 17:03:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=aTJqYxA3UlF56QdMALkiqKtqXOzHs204mrqRG0eItv0=; b=eNxRMpJGS8qRoSDWjLZN2m6R9cFzUuuGuGAlepmldjgGF+mZWRwbUg7LWkx8/0bwZtD2 lytFQm4/w+edzCwJE0+10Jo0p4+j7VcJnrsW0QufxQw2vBLYUAJ8RLiRjA+1Hn9TXIlF L1dUHa+VlruNF70CxBB/EZkU9JcZGZzHk37KrGRJJr2CQEQqjL7Qe3dZ3sv4DRueqDpy BSg7WCTdH+idDiA5HETtINVp2+b6GjQoufKROlgymIktuXhiTN7eJYRw/9w4/E2rPOmm xvtKd9vS0Qli7Ca09usaP2S7gevgltVt7FfOZCDVuMsm8Y6ya4FzHnxRx48pRDgIrVz/ ag== Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by userp2120.oracle.com with ESMTP id 343vaef0wm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 14 Oct 2020 17:03:23 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 09EGthl3048843; Wed, 14 Oct 2020 17:03:22 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserp3030.oracle.com with ESMTP id 343phpv11m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 14 Oct 2020 17:03:22 +0000 Received: from abhmp0020.oracle.com (abhmp0020.oracle.com [141.146.116.26]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 09EH3K2a013573; Wed, 14 Oct 2020 17:03:20 GMT MIME-Version: 1.0 Message-ID: Date: Wed, 14 Oct 2020 10:03:19 -0700 (PDT) From: Drew Adams References: <20200929121317.GA27007@ACM> <83wo0ck5ig.fsf@gnu.org> <20200929153355.GB27007@ACM> <87y2ks819k.fsf@gnus.org> <87y2krdqsk.fsf@mail.linkov.net> <87y2kp93dn.fsf@mail.linkov.net> <87mu0z3zxf.fsf@mail.linkov.net> <871riav4os.fsf@mail.linkov.net> <21c5738b-e9f2-465f-9ca3-8947a5b9191d@default> <874kmzz03q.fsf@mail.linkov.net> <871ri1g9yu.fsf@mail.linkov.net> <5720d2bb-ba33-4e27-8d56-39888861f044@default> <87362h18za.fsf@mail.linkov.net> In-Reply-To: <87362h18za.fsf@mail.linkov.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5056.0 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9774 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 spamscore=0 adultscore=0 bulkscore=0 mlxlogscore=992 malwarescore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2010140121 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9774 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 clxscore=1015 impostorscore=0 phishscore=0 malwarescore=0 bulkscore=0 priorityscore=1501 mlxscore=0 suspectscore=0 spamscore=0 adultscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2010140121 X-Spam-Score: -2.3 (--) 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.0 (-) > tags 43702 fixed > close 43702 28.0.50 > thanks >=20 > > I haven't noticed any problem with just using > > the latest match data, but I haven't tested much. >=20 > You are right - there are no problems with using the latest match data. > But using real-match-data causes problems - sometimes real-match-data > contains nils at the end of the list, e.g. (1 2 3 4 <*buffer*> nil nil > nil nil) >=20 > So I pushed the patch that uses the latest match data. Good to know. I wasn't sure - I was on the verge of thinking there must be some reason why we need to pass `real-match-data' here.