unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Jan D." <jan.h.d@swipnet.se>
To: Daniel Colascione <dancol@dancol.org>
Cc: Eli Zaretskii <eliz@gnu.org>, Chong Yidong <cyd@gnu.org>,
	emacs-devel <emacs-devel@gnu.org>
Subject: Re: [PATCH] Re: About the :distant-foreground face attribute
Date: Tue, 14 Jan 2014 12:44:18 +0100	[thread overview]
Message-ID: <52D52312.6070106@swipnet.se> (raw)
In-Reply-To: <52D514FF.7010404@dancol.org>

Daniel Colascione skrev 2014-01-14 11:44:
> On 01/14/2014 01:34 AM, Jan D. wrote:
>>>> Given the use case at hand, we know for a fact that the background is
>>>> the region background, so I don't understand why a calculated
>>>> foreground
>>>> is needed.  Just pick one that matches the background.
>>>> There might be other use cases where a calculated foreground makes
>>>> sense, but my imagination fails me here.
>>>
>>> Calculated foreground colors look better: they resemble the font-lock
>>> colors on which they're based.
>>
>> For the region case, that would imply the possibility of different
>> foregrounds for marked text, none which is the actual font-lock color.
>
> It *is* the same color in the sense that the code we generate has the
> same hue. How on earth is that worse than changing arbitrary font-locked
> pieces of text to the system selection foreground color?

Because the system color foreground is (presumably) choosen to look good 
together with the system color background.

>
> You seem to object to any feature that renders a face in a color other
> than what's literally written in the face spec.

It may seem that way to you, but it is false.

> But that's exactly what
> happens when we put gtk_selection_bg_color in a color spec! Why are you
> fine with allowing gtk_selection_bg_color as a color (producing a color
> that's presumably workable but unknown to a theme writer) but adamantly
> opposed to a feature that selects good colors another way?

I'm objecting to having the system default colors replaced with 
generated colors for the default case.  What themes other than the 
default does is irrelevant.  We are just talking about defaults here.

>
> I've produced working code that allows Emacs to act how you prefer *and*
> how I prefer based on user configuration. What is your problem with that
> code?

I have no problem with the code, just the defaults.

> Have you responded to the numerous objections to
> :distant-foreground with anything other than retrenchment?

So far the objections have been mostly opinions.  If there was a 
concrete case or a bug it exposes that would be another issue.
The most concrete objection is the case of inheriting faces Yidong 
brought up in another mail, which indeed is a real problem.


>> Also, "look better" is just subjective, a theme
>> designer should deside what looks best, not Emacs code.
>
> And a theme designer can opt not to use the feature or to explicitly
> turn it off --- but a theme designer should never have to bother,
> because the feature only activates when the contrast is awful, which
> happens only when a theme designer screws up or deliberately relies on
> system colors.

Why should a theme designer rely on system colors?  That does not sound 
like a good theme.  Again, the default should rely on system colors, not 
arbitrary themes.

>
> Theme designers can specify what exactly gets rendered in both systems.
> Why do you care so much about letting theme designers loosen bounds
> using a special-purpose face attribute (which you don't even bother to
> mirror for changing backgrounds) instead of a general-purpose mechanism?

One could think of changing the background instead of the foreground, 
but the bug report was about the foreground, so the implementation 
matches.  There was no need to implement a general mechanism for this 
specific bug report.

>> That is not a use case.  A use case describes what an actual user does
>> and in what situation automatically calculates colors enters the picture.
>
> This entire thread describes the use case. There are abundant examples.
> Your objection here is baseless.

There is a lot of handwaving and describing of mechanisms, but not one 
real world example, i.e. what major mode and which font lock faces and 
possible other faces are involved, and what does the user do to trigger 
the generated color.

>>> :distant-foreground has far too narrow a justification to warrant being
>>> a face property by itself.
>>
>> Also, just an opinion, not based on some documented design rule in any
>> Emacs or GNU document.
>
> So only GNU documents count now, not reasoned arguments?

No, but if documentation of some design rule existed it would give 
weight to your argument.  But your statement about :distant-foreground 
being too narrow is just your personal opinion which you have not 
motivated with any reasoned argument, just asserted.

	Jan D.




  reply	other threads:[~2014-01-14 11:44 UTC|newest]

Thread overview: 134+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-07 12:55 About the :distant-foreground face attribute Chong Yidong
2014-01-07 15:00 ` Jan Djärv
2014-01-07 17:28   ` Drew Adams
2014-01-07 18:01     ` Eli Zaretskii
2014-01-07 18:09     ` Joel Mccracken
     [not found]     ` <<8361pvsmbk.fsf@gnu.org>
2014-01-07 18:44       ` Drew Adams
2014-01-07 19:01         ` Eli Zaretskii
     [not found]         ` <<83zjn7r4z3.fsf@gnu.org>
2014-01-07 19:06           ` Drew Adams
2014-01-07 19:15             ` Eli Zaretskii
2014-01-07 21:57   ` Chong Yidong
2014-01-08  3:45     ` Eli Zaretskii
2014-01-08  5:24       ` Chong Yidong
2014-01-08  9:35         ` Jan Djärv
2014-01-08  9:52           ` Chong Yidong
2014-01-08 10:10             ` Jan Djärv
2014-01-08 14:49               ` Chong Yidong
2014-01-08 16:37                 ` Jan Djärv
2014-01-08 17:08                   ` Drew Adams
2014-01-08 16:57                 ` Drew Adams
2014-01-08 14:05         ` Stefan Monnier
2014-01-08 17:43         ` Eli Zaretskii
2014-01-09 16:15           ` Chong Yidong
2014-01-09 17:02             ` Stefan Monnier
2014-01-09 17:07               ` Drew Adams
2014-01-09 17:46                 ` Eli Zaretskii
2014-01-09 18:21                   ` Chong Yidong
2014-01-09 22:25                     ` Drew Adams
2014-01-09 22:48                     ` David Engster
2014-01-12 11:14                       ` David Engster
2014-01-12 11:40                         ` Jan Djärv
2014-01-12 12:21                           ` David Engster
2014-01-12 12:56                             ` Jan Djärv
2014-01-12 13:07                               ` David Engster
2014-01-12 13:17                                 ` Jan Djärv
2014-01-12 20:14                         ` Chong Yidong
2014-01-12 21:20                           ` Drew Adams
2014-01-12 22:07                           ` Jan Djärv
2014-01-13  0:57                             ` Drew Adams
2014-01-12 22:59                           ` Stefan Monnier
2014-01-13  4:14                             ` chad
2014-01-09 17:05             ` Eli Zaretskii
2014-01-09 17:22               ` David Engster
2014-01-09 17:27                 ` Lars Magne Ingebrigtsen
2014-01-09 17:50                   ` Jan D.
2014-01-09 20:58                 ` Darren Hoo
2014-01-09 21:17                   ` David Engster
2014-01-09 22:29                     ` Darren Hoo
2014-01-09 22:25                   ` Drew Adams
2014-01-09 22:24                 ` Drew Adams
2014-01-09 17:39               ` Josh
2014-01-09 17:57                 ` Eli Zaretskii
2014-01-09 17:49               ` Jan D.
2014-01-13 13:13           ` [PATCH] " Daniel Colascione
2014-01-13 16:27             ` Jan Djärv
2014-01-13 16:33             ` Jan Djärv
2014-01-13 18:41               ` Daniel Colascione
2014-01-13 21:29                 ` Jan Djärv
2014-01-13 21:36                   ` Daniel Colascione
2014-01-13 23:01                     ` Drew Adams
2014-01-13 23:11                       ` Daniel Colascione
2014-01-14  1:32                         ` Drew Adams
2014-01-14  1:45                           ` Stefan Monnier
2014-01-14 19:32                             ` Drew Adams
2014-01-14  2:34                           ` Daniel Colascione
2014-01-14 19:32                             ` Drew Adams
2014-01-14 22:38                               ` Daniel Colascione
2014-01-15  0:31                                 ` Drew Adams
2014-01-15  0:54                                   ` Daniel Colascione
2014-01-15  3:07                                     ` Drew Adams
2014-01-15  3:52                                       ` Daniel Colascione
2014-01-15  4:59                                         ` Drew Adams
2014-01-15  5:12                                           ` Daniel Colascione
2014-01-15  5:39                                             ` Drew Adams
2014-01-15 14:38                                               ` Stefan Monnier
2014-01-15  4:50                               ` Yuri Khan
2014-01-15  7:50                                 ` Jan D.
2014-01-15  7:52                                   ` Daniel Colascione
2014-01-15  8:17                                     ` Jan D.
2014-01-15 17:23                                     ` Drew Adams
2014-01-13 23:57                     ` Stefan Monnier
2014-01-14  0:07                       ` Daniel Colascione
2014-01-14  1:45                         ` Stefan Monnier
2014-01-14  2:41                           ` Daniel Colascione
2014-01-14  8:47                       ` Chong Yidong
2014-01-14  9:42                         ` Jan D.
2014-01-14 19:32                       ` Drew Adams
2014-01-14  7:47                     ` Jan D.
2014-01-14  8:18                       ` Daniel Colascione
2014-01-14  9:34                         ` Jan D.
2014-01-14 10:44                           ` Daniel Colascione
2014-01-14 11:44                             ` Jan D. [this message]
2014-01-14 17:56                               ` Stefan Monnier
2014-01-14 18:06                                 ` Jan Djärv
2014-01-14 18:31                                   ` Daniel Colascione
2014-01-14 18:51                                 ` John Yates
2014-01-14 22:19                                   ` Stefan Monnier
2014-01-14 18:47                               ` Daniel Colascione
2014-01-14 20:01                                 ` Jan Djärv
2014-01-14 20:06                                   ` Daniel Colascione
2014-01-14 22:05                                     ` [PATCH] " Jan Djärv
2014-01-14 22:14                                       ` Daniel Colascione
2014-01-15  6:33                                         ` Jan Djärv
2014-01-15  8:05                                           ` Daniel Colascione
2014-01-15  9:25                                             ` Jan D.
2014-01-15 14:43                                               ` Stefan Monnier
2014-01-14 20:39                                   ` [PATCH] " Daniel Colascione
2014-01-14 21:58                                     ` [PATCH] " Jan Djärv
2014-01-14 22:06                                       ` Drew Adams
2014-01-15  3:52                                         ` Eli Zaretskii
2014-01-15  4:22                                       ` Stefan Monnier
2014-01-15  4:25                                         ` Daniel Colascione
2014-01-15  6:39                                           ` Jan Djärv
2014-01-15 15:39                                           ` Eli Zaretskii
2014-01-15 14:41                                         ` Stefan Monnier
2014-01-15 15:38                                         ` Eli Zaretskii
2014-01-15 16:17                                           ` Stefan Monnier
2014-01-15 16:53                                             ` Eli Zaretskii
2014-01-15 17:33                                               ` Stefan Monnier
2014-01-15 17:51                                                 ` Eli Zaretskii
2014-01-15 18:43                                                   ` Stefan Monnier
2014-01-15 19:06                                                     ` Eli Zaretskii
2014-01-15 20:05                                                       ` Josh
2014-01-15 20:40                                                         ` Eli Zaretskii
2014-01-15 21:03                                                           ` Daniel Colascione
2014-01-15 21:12                                                             ` Eli Zaretskii
2014-01-15 21:15                                                               ` Daniel Colascione
2014-01-15 21:31                                                             ` John Yates
2014-01-15 22:11                                                             ` Drew Adams
2014-01-15 23:58                                                     ` Stefan Monnier
2014-01-07 22:50   ` Jan Djärv
2014-01-08  3:13 ` Darren Hoo
     [not found] <<87bnzo9cja.fsf@gnu.org>
     [not found] ` <<59B7E7FC-48D0-4737-B1BB-FFAC5BA9E07A@swipnet.se>
     [not found]   ` <<874n5f3162.fsf@gnu.org>
     [not found]     ` <<83fvozf86g.fsf@gnu.org>
     [not found]       ` <<87r48javwe.fsf@gnu.org>
     [not found]         ` <<83bnzmfjxe.fsf@gnu.org>
     [not found]           ` <<87bnzlyvwb.fsf@gnu.org>
     [not found]             ` <<jwvppo1dr9r.fsf-monnier+emacs@gnu.org>
     [not found]               ` <<b53f01f5-1974-417a-b95b-a7e1b6906467@default>
     [not found]                 ` <<83wqi9cakl.fsf@gnu.org>
2014-01-09 21:12                   ` Drew Adams
2014-01-09 21:22                     ` Eli Zaretskii
     [not found]           ` <<52D3E689.6050902@dancol.org>
     [not found]             ` <<8E16225F-53EF-498A-AB35-66EB9B33B859@swipnet.se>
     [not found]               ` <<52D43360.6050605@dancol.org>
     [not found]                 ` <<9BD01B88-AF13-44DD-8DBE-4598BAC136DD@swipnet.se>
     [not found]                   ` <<52D45C73.6090906@dancol.org>
     [not found]                     ` <<52D4EBA9.8050802@swipnet.se>
     [not found]                       ` <<52D4F2C2.8080800@dancol.org>
     [not found]                         ` <<52D504A7.80104@swipnet.se>
     [not found]                           ` <<52D514FF.7010404@dancol.org>
     [not found]                             ` <<52D52312.6070106@swipnet.se>
     [not found]                               ` <<52D58632.3010106@dancol.org>
     [not found]                                 ` <<381DEBDC-71D8-4FAC-BA55-897FEC73A2FC@swipnet.se>
     [not found]                                   ` <<52D5A072.5010508@dancol.org>
     [not found]                                     ` <<064CFFB5-6E50-40D5-B2CB-2BECC656D93F@swipnet.se>
     [not found]                                       ` <<174db5f5-db14-4484-a2f9-9478d2f5fea1@default>
     [not found]                                         ` <<83y52h52cd.fsf@gnu.org>
2014-01-15  3:56                                           ` [PATCH] " Drew Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52D52312.6070106@swipnet.se \
    --to=jan.h.d@swipnet.se \
    --cc=cyd@gnu.org \
    --cc=dancol@dancol.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).