GNU bug report logs -
#20519
face-at-point: do not compute the final list if a sole value is wanted
Previous Next
Reported by: Ivan Shmakov <ivan <at> siamics.net>
Date: Wed, 6 May 2015 21:26:02 UTC
Severity: wishlist
Tags: patch
Fixed in version 25.1
Done: Ivan Shmakov <ivan <at> siamics.net>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Wed, 27 May 2015 22:30:48 +0000
with message-id <87y4k9fyav.fsf <at> violet.siamics.net>
and subject line Re: bug#20519: face-at-point: do not compute the final list if a sole value is wanted
has caused the debbugs.gnu.org bug report #20519,
regarding face-at-point: do not compute the final list if a sole value is wanted
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
20519: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20519
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
Package: emacs
Severity: wishlist
The face-at-point function currently (1c7f0cdc4c1f, 2015-04-27
16:59:11 +00:00) uses delete-dups to compute a duplicate-free
version of the list… just before taking a single value of it and
discarding the rest in the (not multiple) case.
Please thus consider the following patch.
* lisp/faces.el (face-at-point): Do not compute the properly
ordered, duplicate-free list if only a single value is
requested.
--
FSF associate member #7257 http://am-1.org/~ivan/ … 3013 B6A0 230E 334A
[Message part 4 (text/diff, inline)]
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -1937,8 +1937,9 @@ defun face-at-point (&optional thing multiple)
(dolist (face faceprop)
(if (facep face)
(push face faces))))))
- (setq faces (delete-dups (nreverse faces)))
- (if multiple faces (car faces))))
+ (if multiple
+ (delete-dups (nreverse faces))
+ (car (last faces)))))
(defun foreground-color-at-point ()
"Return the foreground color of the character after point."
[Message part 5 (message/rfc822, inline)]
Version: 25.1
>>>>> Ivan Shmakov <ivan <at> siamics.net> writes:
> The face-at-point function currently (1c7f0cdc4c1f, 2015-04-27
> 16:59:11 +00:00) uses delete-dups to compute a duplicate-free version
> of the list… just before taking a single value of it and discarding
> the rest in the (not multiple) case.
> Please thus consider the following patch.
> * lisp/faces.el (face-at-point): Do not compute the properly ordered,
> duplicate-free list if only a single value is requested.
Pushed, as there were no objections; closing.
commit 550c65011c7394e8ebcf91fc29af2984908279d1
Date: 2015-05-27 22:15:27 +0000
Avoid gratuitous delete-dups in face-at-point.
* lisp/faces.el (face-at-point): Do not compute the properly
ordered, duplicate-free list if only a single value is
requested anyway. (Bug#20519)
--
FSF associate member #7257 http://am-1.org/~ivan/ … 3013 B6A0 230E 334A
This bug report was last modified 10 years ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.