GNU bug report logs -
#58641
29.0.50; cc-fonts signals void variable: font-lock-reference-face
Previous Next
Full log
View this message in rfc822 format
[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)]
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)]
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.