GNU bug report logs -
#26666
26.0.50; Unused faces drop from hi-lock--unused-faces
Previous Next
Reported by: Tino Calancha <tino.calancha <at> gmail.com>
Date: Wed, 26 Apr 2017 10:14:02 UTC
Severity: minor
Tags: patch
Found in version 26.0.50
Done: Tino Calancha <tino.calancha <at> gmail.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 26666 in the body.
You can then email your comments to 26666 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#26666
; Package
emacs
.
(Wed, 26 Apr 2017 10:14:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Tino Calancha <tino.calancha <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Wed, 26 Apr 2017 10:14:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
emacs -Q
M-s hr t RET RET
M-s hr t RET RET ; Already highlighted
M-s hr f RET RET ; Should offer hi-pink face, but it offers hi-green.
--8<-----------------------------cut here---------------start------------->8---
From 287bff616ef715c54628fba5c6db95b878f1519f Mon Sep 17 00:00:00 2001
From: Tino Calancha <tino.calancha <at> gmail.com>
Date: Wed, 26 Apr 2017 19:06:47 +0900
Subject: [PATCH] Drop face from hi-lock--unused-faces only when used
* lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is
already highlighted, then push FACE into hi-lock--unused-faces.
* test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.
---
lisp/hi-lock.el | 3 ++-
test/lisp/hi-lock-tests.el | 40 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 42 insertions(+), 1 deletion(-)
create mode 100644 test/lisp/hi-lock-tests.el
diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el
index ebd18621ef..5139e01fa8 100644
--- a/lisp/hi-lock.el
+++ b/lisp/hi-lock.el
@@ -695,7 +695,8 @@ hi-lock-set-pattern
(setq regexp (hi-lock--hashcons regexp))
(let ((pattern (list regexp (list 0 (list 'quote face) 'prepend))))
;; Refuse to highlight a text that is already highlighted.
- (unless (assoc regexp hi-lock-interactive-patterns)
+ (if (assoc regexp hi-lock-interactive-patterns)
+ (add-to-list 'hi-lock--unused-faces (face-name face))
(push pattern hi-lock-interactive-patterns)
(if (and font-lock-mode (font-lock-specified-p major-mode))
(progn
diff --git a/test/lisp/hi-lock-tests.el b/test/lisp/hi-lock-tests.el
new file mode 100644
index 0000000000..2cb662cfac
--- /dev/null
+++ b/test/lisp/hi-lock-tests.el
@@ -0,0 +1,40 @@
+;;; hi-lock-tests.el --- Tests for hi-lock.el -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2017 Free Software Foundation, Inc.
+
+;; Author: Tino Calancha <tino.calancha <at> gmail.com>
+;; Keywords:
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Code:
+
+(require 'ert)
+(require 'hi-lock)
+
+(ert-deftest hi-lock-bug26666 ()
+ "Test for http://debbugs.gnu.org/26666 ."
+ (let ((faces hi-lock-face-defaults))
+ (with-temp-buffer
+ (insert "a A b B\n")
+ (cl-letf (((symbol-function 'completing-read)
+ (lambda (prompt coll x y z hist defaults)
+ (car defaults))))
+ (dotimes (_ 2)
+ (let ((face (hi-lock-read-face-name)))
+ (hi-lock-set-pattern "a" face))))
+ (should (equal hi-lock--unused-faces (cdr faces))))))
+
+(provide 'hi-lock-tests)
+;;; hi-lock-tests.el ends here
--
2.11.0
--8<-----------------------------cut here---------------end--------------->8---
In GNU Emacs 26.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.11)
of 2017-04-26
Repository revision: 513d000c75b582edf9acef1c6df00ee2c382dcb9
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#26666
; Package
emacs
.
(Wed, 26 Apr 2017 22:13:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 26666 <at> debbugs.gnu.org (full text, mbox):
> emacs -Q
> M-s hr t RET RET
> M-s hr t RET RET ; Already highlighted
> M-s hr f RET RET ; Should offer hi-pink face, but it offers hi-green.
>
> From 287bff616ef715c54628fba5c6db95b878f1519f Mon Sep 17 00:00:00 2001
> From: Tino Calancha <tino.calancha <at> gmail.com>
> Date: Wed, 26 Apr 2017 19:06:47 +0900
> Subject: [PATCH] Drop face from hi-lock--unused-faces only when used
>
> * lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is
> already highlighted, then push FACE into hi-lock--unused-faces.
> * test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.
Thanks, this solves a long-standing problem.
Reply sent
to
Tino Calancha <tino.calancha <at> gmail.com>
:
You have taken responsibility.
(Thu, 27 Apr 2017 03:05:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Tino Calancha <tino.calancha <at> gmail.com>
:
bug acknowledged by developer.
(Thu, 27 Apr 2017 03:05:02 GMT)
Full text and
rfc822 format available.
Message #13 received at 26666-done <at> debbugs.gnu.org (full text, mbox):
Juri Linkov <juri <at> linkov.net> writes:
>> emacs -Q
>> M-s hr t RET RET
>> M-s hr t RET RET ; Already highlighted
>> M-s hr f RET RET ; Should offer hi-pink face, but it offers hi-green.
>>
>> From 287bff616ef715c54628fba5c6db95b878f1519f Mon Sep 17 00:00:00 2001
>> From: Tino Calancha <tino.calancha <at> gmail.com>
>> Date: Wed, 26 Apr 2017 19:06:47 +0900
>> Subject: [PATCH] Drop face from hi-lock--unused-faces only when used
>>
>> * lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is
>> already highlighted, then push FACE into hi-lock--unused-faces.
>> * test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.
>
> Thanks, this solves a long-standing problem.
Pushed fix into master branch as commit 9af2ecc36d1d15bb63fb6b28a9b5baa6990f79b8
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Thu, 25 May 2017 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 7 years and 193 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.