Subject: bug#34001: closed (Re: bug#34001: 26.1.90; :distant-foreground face property fails to work in most cases)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 01 Mar 2019 08:41:02 +0000

Your bug report

#34001: 26.1.90; :distant-foreground face property fails to work in most cases

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
34001: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=34001
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#34001: 26.1.90; :distant-foreground face property fails to work in most cases
From: Eli Zaretskii <[email-masked]>
To: Federico Tedin <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Fri, 01 Mar 2019 10:40:10 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Federico Tedin <[email-masked]>
> Date: Tue, 15 Jan 2019 22:08:15 -0300
> 
> I've created a patch that introduces a new variable
> `face-near-same-color-threshold', with a default value of 30000 (as was
> defined in NEAR_SAME_COLOR_THRESHOLD in xfaces.c). Changing this
> variable's value will make certain color combinations be considered as
> 'same', which will lead to :distant-foreground being used. For example:

Sorry for the long delay, I've now pushed your change to the master
branch.

Please in the future provide a ChangeLog-style commit log message for
your changes, and also accompany them with the pertinent updates for
the documentation.  I did that for this change.

Thanks again for working on this.

Subject: 26.1.90; :distant-foreground face property fails to work in most cases
From: Tina Russell <[email-masked]>
To: [email-masked]
Date: Sun, 6 Jan 2019 14:31:51 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

:distant-foreground is a very useful concept for a face property: text
will be rendered with the :foreground color, unless it’s too close to
the current background color, in which case :distant-foreground kicks
in. Like, try this in Eshell or IELM:

(propertize "Greetings, esteemed Emacs developers!" 'face '(:foreground
"yellow" :background "yellow"))

You’ll get a solid band of yellow, of course. But, with
:distant-foreground…

(propertize "Greetings, esteemed Emacs developers!" 'face '(:foreground
"yellow" :background "yellow" :distant-foreground "black"))

Now it is a friendly greeting. (Naturally, you wouldn’t normally set
:background and :distant-foreground in the same face, this is just an
example.)

But, try this:

(propertize "Greetings, esteemed Emacs developers!" 'face '(:foreground
"yellow" :background "white" :distant-foreground "black"))

:distant-foreground doesn’t kick in—and you’re left with yellow-on-white
text that’s impossible to read, the exact scenario that
:distant-foreground was quite rightly designed to avoid.

I’m not the only one who’s noticed this; there’s a good StackExchange
thread from 2015 here:
https://emacs.stackexchange.com/questions/7982/ The author notes that
there should be a user option to set the amount of “distance” (between
foreground and background colors) that is required for
distant-foreground to kick in, and adds that a good way to measure
color distance in real-world circumstances is described here:
http://web.mst.edu/~rhall/web_design/color_readability.html A commenter
suggested that he file a bug, but I can’t find an Emacs bug report
related to this issue, so I’m filing this now.

I really hope this gets addressed, because :distant-foreground is a
really nice and clever feature. Thanks!

In GNU Emacs 26.1.90 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.22.30)
 of 2019-01-02 built on pannychis
Repository revision: 08840f2f7bfc6144bd163dd85efe87d28541e425
Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
System Description: Ubuntu 18.04.1 LTS

Configured using:
 'configure --with-xaw3d --with-modules --with-xwidgets'