GNU bug report logs - #64759
Broken faces

Previous Next

Package: emacs;

Reported by: Juri Linkov <juri <at> linkov.net>

Date: Fri, 21 Jul 2023 06:41:02 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Juri Linkov <juri <at> linkov.net>
Cc: 64759 <at> debbugs.gnu.org, maurooaranda <at> gmail.com
Subject: bug#64759: Broken faces
Date: Fri, 28 Jul 2023 21:49:49 +0300
> From: Juri Linkov <juri <at> linkov.net>
> Cc: maurooaranda <at> gmail.com,  64759 <at> debbugs.gnu.org
> Date: Fri, 28 Jul 2023 20:30:44 +0300
> 
> >> >> The semantics of nil could be the same as '((t nil)).
> >> >
> >> > And what is the semantics of '((t nil)) ?  What attributes will the
> >> > face have when realized?
> >>
> >> No attributes.  This is the standard value used by empty faces.
> >
> > What does this mean?  For example, what would be the foreground color?
> > what would be the font? etc.
> 
> No foreground color, and no font.

There can be no such face.

> > I'm not familiar with "empty face" notion.  A face always has
> > attributes when it is fully realized, otherwise Emacs will be unable
> > to use it.
> 
> "Empty face" is the standard notion.  Here's an example how it's used:
> 
> 1. M-x make-empty-face RET foo RET
> 2. M-x customize-face RET foo RET
> 
> Then output is:
> 
>   Hide Foo face: [sample]
>       State : NO CUSTOMIZATION DATA; not intended to be customized.
>      nil
>      -- Empty face --

We are mis-communicating.  My point is that we need to explain in the
documentation the effect of such a defface when the face is realized
and displayed.  Lisp programmers need to understand that to be able to
use this correctly and predictably.

> > Only if "no better face to inherit from is available" in all of those
> > cases.  Which I'm not sure is true.  If you are sure, please tell why
> > the faces I put there are not better ideas.
> 
> Because they will cause the same problem as with display-time-date-and-time,
> except that other faces are used less often, so it will take time until users
> will notice these problems.

display-time-date-and-time is used on the mode line, where the colors
are different.  The other faces are for buffer text, so the problems
with display-time-date-and-time don't necessarily apply.




This bug report was last modified 1 year and 321 days ago.

Previous Next


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