[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: About the :distant-foreground face attribute
From: |
Jan Djärv |
Subject: |
Re: About the :distant-foreground face attribute |
Date: |
Tue, 7 Jan 2014 16:00:14 +0100 |
Hello.
7 jan 2014 kl. 13:55 skrev Chong Yidong <address@hidden>:
> What is the purpose of this face attribute, newly introduced for 24.4?
Too lazy to read documentation?
"`:distant-foreground'
Alternative foreground color, a string. This is like `:foreground'
but the color is only used as a foreground when the background
color is near to the foreground that would have been used. This
is useful for example when marking text (i.e. the region face).
If the text has a foreground that is visible with the region face,
that foreground is used. If the foreground is near the region
face background, `:distant-foreground' is used instead so the text
is readable.
"
> It seems to be unused in Emacs itself. Is there a concrete example of
> this being needed in external packages or themes?
Too lazy too read the code?
faces.el:
(defface region
'((((class color) (min-colors 88) (background dark))
:background "blue3")
(((class color) (min-colors 88) (background light) (type gtk))
:distant-foreground "gtk_selection_fg_color"
:background "gtk_selection_bg_color")
(((class color) (min-colors 88) (background light) (type ns))
:distant-foreground "ns_selection_fg_color"
:background "ns_selection_bg_color")
(((class color) (min-colors 88) (background light))
:background "lightgoldenrod2")
(((class color) (min-colors 16) (background dark))
:background "blue3")
(((class color) (min-colors 16) (background light))
:background "lightgoldenrod2")
(((class color) (min-colors 8))
:background "blue" :foreground "white")
(((type tty) (class mono))
:inverse-video t)
(t :background "gray"))
"Basic face for highlighting the region."
:version "21.1"
:group 'basic-faces)
>
> First of all, the name :distant-foreground is not intuitive. What does
> "distant" mean in this context?
>
The same as in any other context, far removed from something else, i.e. the
background.
> Also, this feature has one ugly consequence. Previously, the `default'
> face must have all its face attributes specified, but now its
> :distant-foreground face is unspecified.
Default face does not need to have its font specified, so this is not new.
>
> Besides that, the implementation seems rather incomplete. The Customize
> interface, `modify-face', `face-spec-reset-face', and other parts of
> Emacs haven't been updated for the existence of this face attribute.
That is on purpose. It is supposed to be automatically calculated.
> It's unclear what functions like `face-foreground' should now do if
> there's a :distant-foreground.
>
No it is not.
> This all sounds like an invitation for more bugs. In my opinion, this
> feature is a bad idea.
All new features invite new bugs, so are you saying we should never add new
features?
Your opinion is not very interesting, but if you have core for an alternative
approach that would be interesting.
Jan D.
- About the :distant-foreground face attribute, Chong Yidong, 2014/01/07
- Re: About the :distant-foreground face attribute,
Jan Djärv <=
- RE: About the :distant-foreground face attribute, Drew Adams, 2014/01/07
- Re: About the :distant-foreground face attribute, Eli Zaretskii, 2014/01/07
- RE: About the :distant-foreground face attribute, Drew Adams, 2014/01/07
- Re: About the :distant-foreground face attribute, Eli Zaretskii, 2014/01/07
- RE: About the :distant-foreground face attribute, Drew Adams, 2014/01/07
- Re: About the :distant-foreground face attribute, Eli Zaretskii, 2014/01/07
- Re: About the :distant-foreground face attribute, Joel Mccracken, 2014/01/07
Re: About the :distant-foreground face attribute, Chong Yidong, 2014/01/07