GNU bug report logs - #13917
24.3.50; Elisp manual: Font Lock Mode

Previous Next

Package: emacs;

Reported by: Joost Kremers <joost.kremers <at> phil.uni-goettingen.de>

Date: Sun, 10 Mar 2013 18:26:02 UTC

Severity: minor

Found in version 24.3.50

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Joost Kremers <joost.kremers <at> phil.uni-goettingen.de>
Cc: 13917 <at> debbugs.gnu.org
Subject: bug#13917: 24.3.50; Elisp manual: Font Lock Mode
Date: Fri, 01 Nov 2019 17:48:11 +0100
Joost Kremers <joost.kremers <at> phil.uni-goettingen.de> writes:

> The Elisp manual, info node "(elisp) Search-based Fontification" states
> the following:
>
> ,----
> | `(MATCHER . FACESPEC)'
> |      In this kind of element, FACESPEC is an expression whose value
> |      specifies the face to use for highlighting.  In the simplest case,
> |      FACESPEC is a Lisp variable (a symbol) whose value is a face name.
> | 
> |           ;; Highlight occurrences of `fubar',
> |           ;; using the face which is the value of `fubar-face'.
> |           ("fubar" . fubar-face)
> | 
> |      However, FACESPEC can also evaluate to a list of this form:
> | 
> |           (face FACE PROP1 VAL1 PROP2 VAL2...)
> | 
> |      to specify the face FACE and various additional text properties to
> |      put on the text that matches.  If you do this, be sure to add the
> |      other text property names that you set in this way to the value of
> |      `font-lock-extra-managed-props' so that the properties will also
> |      be cleared out when they are no longer appropriate.  Alternatively,
> |      you can set the variable `font-lock-unfontify-region-function' to
> |      a function that clears these properties.  *Note Other Font Lock
> |      Variables::.
> `----
>
> However, a font lock entry of the type
>
> ,----
> | (MATCHER . (face FACE PROP1 VAL1 PROP1 VAL2))
> `----
>
> does not actually work. What works is any of the forms:
>
> ,----
> | (MATCHER . (0 (face FACE PROP1 VAL1 PROP1 VAL2)))
> | (MATCHER 0 (face FACE PROP1 VAL1 PROP1 VAL2))
> | (MATCHER (0 (face FACE PROP1 VAL1 PROP1 VAL2)))
> `----
>
> (Where the first two are of course equivalent).

Hm...  is this a bug in the documentation or the code, though?  It seems
like it would be logical for the described syntax to work, doesn't it?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




This bug report was last modified 4 years and 48 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.