bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#5129: marked as done (23.1.50; adding font-lock-keywords for face hi


From: Emacs bug Tracking System
Subject: bug#5129: marked as done (23.1.50; adding font-lock-keywords for face highlight)
Date: Sat, 05 Dec 2009 21:10:10 +0000

Your message dated Sat, 05 Dec 2009 16:04:29 -0500
with message-id <address@hidden>
and subject line Re: bug#5129: 23.1.50; adding font-lock-keywords for face 
highlight
has caused the Emacs bug report #5129,
regarding 23.1.50; adding font-lock-keywords for face highlight
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact address@hidden
immediately.)


-- 
5129: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=5129
Emacs Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: 23.1.50; adding font-lock-keywords for face highlight Date: Sat, 05 Dec 2009 13:15:31 -0600
The highlight face is somehow treated special in an odd way:

If I eval the following in a buffer it will highlight all occurences
of "foo" as expected:

  (font-lock-add-keywords nil '(("foo" . font-lock-constant-face)))

Yet when I do instead

  (font-lock-add-keywords nil '(("foo" . highlight)))

it gives me the message (in the *Messages* buffer)

  Invalid face reference: 0

When I put point at the position of the string "foo" and evaluate

  (get-text-property (point) 'face)

this gives me

  (0 highlight)

which probably explains the "invalid face reference" error.
Why is the face `0' added?


In GNU Emacs 23.1.50.1 (i686-pc-linux-gnu, GTK+ Version 2.14.4)
 of 2009-12-04 on regnitz
Windowing system distributor `The X.Org Foundation', version 11.0.10502000

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: C
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: en_GB.utf8
  value of $LANG: en_US.ISO-8859-15
  value of $XMODIFIERS: nil
  locale-coding-system: iso-latin-9-unix
  default enable-multibyte-characters: t


--- End Message ---
--- Begin Message --- Subject: Re: bug#5129: 23.1.50; adding font-lock-keywords for face highlight Date: Sat, 05 Dec 2009 16:04:29 -0500 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)
>   (font-lock-add-keywords nil '(("foo" . font-lock-constant-face)))
                                           ^^^^^^^^^^^^^^^^^^^^^^^
> Yet when I do instead

>   (font-lock-add-keywords nil '(("foo" . highlight)))
                                           ^^^^^^^^^

Thos two things are treated by font-lock as a Lisp expression
to evaluate.  Since font-lock-constant-face is a variable (whose
content is usually the symbol font-lock-constant-face), the first will
work, whereas the second will either signal en error (because the
variable `highlight' doesn't exist) or lead to odd behavior (because
`highlight' just happens to be let-bound by one of the caller).

I.e. you want

   (font-lock-add-keywords nil '(("foo" . 'highlight)))
                                         ^^^

-- Stefan

--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]