GNU bug report logs -
#35044
25.2; Description of "disappearing" faces (Emacs Manual)
Previous Next
Reported by: Sebastian Urban <mrsebastianurban <at> gmail.com>
Date: Fri, 29 Mar 2019 20:53:02 UTC
Severity: wishlist
Found in version 25.2
Fixed in version 26.3
Done: Noam Postavsky <npostavs <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Sebastian Urban <mrsebastianurban <at> gmail.com> writes:
> According to help-gnu-emacs thread
> (lists.gnu.org/archive/html/help-gnu-emacs/2019-03/msg00205.html) this
> is normal behaviour, but from perspective of beginner it looks like
> a bug. Therefore I suggest a sentence or two, perhaps in chapter
> "11.12 Font lock mode", about how Font lock takes over control of
> faces when user switches to mode with defined font-lock faces leaving
> only those from this mode and turning off others (unless they have
> also property font-lock-face).
So I've been looking at this, and I think maybe the only manual change
needed is in the Elisp manual to more strongly recommend using
font-lock-face for this sort of thing:
[0001-Recommend-using-font-lock-face-over-face-Bug-35044.patch (text/x-diff, inline)]
From 12148e9d93f885fd6e4e82f485c319486c1e9652 Mon Sep 17 00:00:00 2001
From: Noam Postavsky <npostavs <at> gmail.com>
Date: Fri, 19 Apr 2019 00:55:14 -0400
Subject: [PATCH] Recommend using font-lock-face over face (Bug#35044)
* doc/lispref/modes.texi (Precalculated Fontification): Explain
advantages of using font-lock-face over face.
---
doc/lispref/modes.texi | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index 919816f3de..0ff13d72e2 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -3201,7 +3201,12 @@ is disabled, @code{font-lock-face} has no effect on the display.
It is ok for a mode to use @code{font-lock-face} for some text and
also use the normal Font Lock machinery. But if the mode does not use
the normal Font Lock machinery, it should not set the variable
-@code{font-lock-defaults}.
+@code{font-lock-defaults}. In this case the @code{face} property will
+not be overriden, so using the @code{face} property could work too.
+However, using @code{font-lock-face} is generally preferable as it
+allows the user to control the fontification by toggling
+@code{font-lock-mode}, and lets the code work regardless of whether
+the mode uses Font Lock machinery or not.
@node Faces for Font Lock
@subsection Faces for Font Lock
--
2.11.0
[Message part 3 (text/plain, inline)]
> Also the behaviour of reappearing table-cell face after switch back to
> fundamental-mode or text-mode seems to be not quite right, shouldn't it
> reappear in every cell at once (just like it disappears)?
If I understand correctly, this is rather a bug in table.el: it should
use 'font-lock-face instead of 'face, and then all this buggy behaviour
will go away. Perhaps you'd like to send a patch?
This bug report was last modified 6 years and 21 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.