GNU bug report logs - #58641
29.0.50; cc-fonts signals void variable: font-lock-reference-face

Previous Next

Package: emacs;

Reported by: Stefan Monnier <monnier <at> iro.umontreal.ca>

Date: Wed, 19 Oct 2022 18:14:02 UTC

Severity: normal

Found in version 29.0.50

Done: Alan Mackenzie <acm <at> muc.de>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Alan Mackenzie <acm <at> muc.de>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#58641: closed (29.0.50; cc-fonts signals void variable:
 font-lock-reference-face)
Date: Tue, 25 Oct 2022 13:44:03 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 25 Oct 2022 13:43:21 +0000
with message-id <Y1fn+Q3I3b1mPG1j <at> ACM>
and subject line Re: bug#58641: 29.0.50; cc-fonts signals void variable: font-lock-reference-face
has caused the debbugs.gnu.org bug report #58641,
regarding 29.0.50; cc-fonts signals void variable: font-lock-reference-face
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
58641: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=58641
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; cc-fonts signals void variable: font-lock-reference-face
Date: Wed, 19 Oct 2022 14:13:22 -0400
Package: Emacs
Version: 29.0.50


If I start

    % emacs -Q --eval '(make-face `font-lock-reference-face)' -l cc-fonts

I get the error:

    defconst: Symbol’s value as variable is void: font-lock-reference-face

Something like the patch below seems in order.
Not sure if the FIXME is a confusion of mine or is a real problem.


        Stefan


diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el
index aa16da70703..d8776d8322a 100644
--- a/lisp/progmodes/cc-fonts.el
+++ b/lisp/progmodes/cc-fonts.el
@@ -146,11 +146,14 @@ c-constant-face-name
 (defconst c-reference-face-name
   (with-no-warnings
    (if (and (c-face-name-p 'font-lock-reference-face)
+	    (boundp 'font-lock-reference-face)
 	    (eq font-lock-reference-face 'font-lock-reference-face))
        ;; This is considered obsolete in Emacs, but it still maps well
        ;; to this use.  (Another reason to do this is to get unique
        ;; faces for the test suite.)
        'font-lock-reference-face
+     ;; FIXME: `font-lock-reference-face' was an alias for
+     ;; `font-lock-constant-face', not `font-lock-label-face'.
      c-label-face-name)))
 
 ;; This should not mapped to a face that also is used to fontify things
@@ -586,7 +589,8 @@ c-fontify-recorded-types-and-refs
 			(c-lang-const c-opt-cpp-macro-define)
 			(c-lang-const c-nonempty-syntactic-ws)
 			"\\(" (c-lang-const ; 1 + ncle + nsws
-			       c-symbol-key) "\\)"
+			       c-symbol-key)
+			"\\)"
 			(concat "\\("	; 2 + ncle + nsws + c-sym-key
 				;; Macro with arguments - a "function".
 				"\\((\\)" ; 3 + ncle + nsws + c-sym-key



[Message part 3 (message/rfc822, inline)]
From: Alan Mackenzie <acm <at> muc.de>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: bug-cc-mode <at> gnu.org, 58641-done <at> debbugs.gnu.org
Subject: Re: bug#58641: 29.0.50; cc-fonts signals void variable:
 font-lock-reference-face
Date: Tue, 25 Oct 2022 13:43:21 +0000
Hello, Stefan.

On Tue, Oct 25, 2022 at 08:51:39 -0400, Stefan Monnier wrote:
> Hi Alan,

> >> If I start

> >>     % emacs -Q --eval '(make-face `font-lock-reference-face)' -l cc-fonts

> >> I get the error:

> >>     defconst: Symbol’s value as variable is void: font-lock-reference-face

> >> Something like the patch below seems in order.

> > GRRRR!  Yes, it is in order.  A small point, perhaps, but we aim for
> > perfection in CC Mode.  ;-)

> For the record, I bumped into the above because apparently one of the
> many packages I have installed defines `font-lock-reference-face`
> (probably some very old code that should be removed as well, but
> I haven't tracked it down yet).

Ah, so that was it.

I've just committed a patch, and I'm closing the bug with this post.

I didn't actually comment your comment about font-lock-constant-face, I
amended the code instead.

>         Stefan

-- 
Alan Mackenzie (Nuremberg, Germany).


This bug report was last modified 2 years and 272 days ago.

Previous Next


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