all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Mattias Engdegård" <mattiase@acm.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 41544@debbugs.gnu.org
Subject: bug#41544: 26.3; Possible incorrect results from color-distance
Date: Sat, 6 Jun 2020 12:59:53 +0200	[thread overview]
Message-ID: <CD510955-CF47-4F8C-9F95-C9FFF9791496@acm.org> (raw)
In-Reply-To: <838sh0abzz.fsf@gnu.org>

[I've left Tom and Simon out of the CC list to spare them the noise.]

6 juni 2020 kl. 09.29 skrev Eli Zaretskii <eliz@gnu.org>:

> That in itself is not bad, IMO.  When I said "in practice", I meant
> practical problems this causes, and that inevitably involves some
> callers of that function (and the callers of those callers) that
> suffer problems which show on display or cause incorrect decisions to
> be made in specific Lisp applications.  What you presented are
> theoretical difficulties that IMO don't yet justify any significant
> changes on this level, not by themselves.

Thank you all the same, but I'd like to fix this bug nevertheless. It is clearly a bug, and I'm one of those writing code calling color-values and thus being affected by it. Of course, if you can show some negative consequence of the suggested fix, then some alternative has to be considered.

Instead of replying point-for-point, which can go on forever, let's try to break the stalemate; we are clearly talking past one another. I'm trying to understand your assumptions, and hope that you will do me the same courtesy.

The values returned from color-values are scaled to a maximum of 65535 for all Emacs displays (except NS). Just because a TTY does not have a 'white' colour with RGB values (65535 65535 65535) does not mean that the scale is somehow different.

In the case of TERM=xterm-color, the brightest colour (confusingly named "white") is (58853 58853 58853). This doesn't mean that 58853 is the maximum colour component value; it just means that the brightest colour is not pure white but something like a 90% grey, ie (0.9 0.9 0.9) in 1-normalised RGB notation.

The method of using (color-values "#ffffffffffff") was a clever trick for obtaining the scale factor without having to know exactly what the maximum was for that frame, since parts of Emacs had different ideas of what range to actually use: it was common for some time to convert from 8 to 16 bit/channel by shifting 8 bits to the left. I've read through bug#25890 and bug#24273, as well as poured over the change history, and it seems very clear where this came from.

However, the back-end code appears much more robust and regular now, and the code can be simplified, as well as avoiding the irregularities occurring with TTYs lacking a pure white colour. Surely there is no harm in that?






  reply	other threads:[~2020-06-06 10:59 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-26 16:29 bug#41544: 26.3; Possible incorrect results from color-distance Simon Pugnet
2020-05-28 17:31 ` Mattias Engdegård
2020-05-29 15:17   ` Mattias Engdegård
2020-05-29 15:36     ` Eli Zaretskii
2020-05-29 17:28       ` Mattias Engdegård
2020-05-29 17:52     ` Tom Tromey
2020-05-31 20:46       ` Mattias Engdegård
2020-06-01 16:32         ` Eli Zaretskii
2020-06-01 17:24           ` Mattias Engdegård
2020-06-01 17:35             ` Eli Zaretskii
2020-06-01 17:44               ` Eli Zaretskii
2020-06-02 15:27                 ` Mattias Engdegård
2020-06-02 16:14                   ` Eli Zaretskii
2020-06-02 20:41                     ` Mattias Engdegård
2020-06-03 14:24                       ` Eli Zaretskii
2020-06-03 15:01                         ` Mattias Engdegård
2020-06-03 15:59                           ` Eli Zaretskii
2020-06-03 20:08                             ` Mattias Engdegård
2020-06-04 14:07                               ` Eli Zaretskii
2020-06-04 15:29                                 ` Mattias Engdegård
2020-06-05 12:27                                   ` Eli Zaretskii
2020-06-05 15:50                                     ` Mattias Engdegård
2020-06-06  7:29                                       ` Eli Zaretskii
2020-06-06 10:59                                         ` Mattias Engdegård [this message]
2020-06-06 11:59                                           ` Eli Zaretskii
2020-06-06 13:29                                             ` Mattias Engdegård
2020-06-06 13:57                                               ` Eli Zaretskii
2020-06-06 16:54                                                 ` Mattias Engdegård
2020-06-06 18:15                                                   ` Drew Adams
2020-06-07  9:13                                                     ` Mattias Engdegård
2020-06-07 14:30                                                       ` Eli Zaretskii
2020-06-07 16:12                                                         ` Drew Adams
2020-06-09 12:19                                                         ` Mattias Engdegård
2020-06-07 16:00                                                       ` Drew Adams
2020-06-06 18:27                                                   ` Eli Zaretskii
2020-06-07  9:04                                                     ` Simen Heggestøyl
     [not found]                                                     ` <87pnabfdr5.fsf@simenheg@gmail.com>
2020-06-07 10:14                                                       ` Mattias Engdegård
2020-06-07 19:23                                                         ` Simen Heggestøyl
     [not found]                                                         ` <87d06ar87d.fsf@simenheg@gmail.com>
2020-06-07 19:27                                                           ` Mattias Engdegård
2020-06-08 18:39                                                             ` Simen Heggestøyl
2020-06-07 14:26                                                       ` Eli Zaretskii
2020-06-07 16:10                                                         ` Drew Adams
2020-06-07 19:26                                                         ` Simen Heggestøyl
2020-06-08 13:11                                                     ` Mattias Engdegård
2020-06-08 14:30                                                       ` Drew Adams
2020-06-08 19:53                                                         ` Mattias Engdegård
2020-06-10 18:37                                                           ` Drew Adams
2020-06-10 19:12                                                             ` Mattias Engdegård
2020-06-09 16:20                                                       ` Eli Zaretskii
2020-06-10 14:51                                                         ` Mattias Engdegård
2020-06-10 15:08                                                           ` Eli Zaretskii
2020-06-10 18:29                                                             ` Mattias Engdegård
2020-06-10 18:45                                                               ` Eli Zaretskii
2020-08-18 13:44                                                                 ` Lars Ingebrigtsen
2020-08-18 14:06                                                                   ` Eli Zaretskii
2020-08-18 14:10                                                                     ` Lars Ingebrigtsen
2020-08-18 14:19                                                                       ` Mattias Engdegård
2020-08-19 10:11                                                                         ` Lars Ingebrigtsen
2020-08-19 11:28                                                                           ` Mattias Engdegård
2020-08-19 11:34                                                                             ` Lars Ingebrigtsen
2020-08-18 14:51                                                                       ` Eli Zaretskii
2020-08-19 10:13                                                                         ` Lars Ingebrigtsen
2020-08-19 14:52                                                                           ` Eli Zaretskii
2020-08-19 15:03                                                                             ` Lars Ingebrigtsen
2020-08-19 17:15                                                                               ` Eli Zaretskii
2020-08-20 13:08                                                                                 ` Lars Ingebrigtsen
2020-08-21 11:32                                                                                   ` Mattias Engdegård
2020-08-22 13:22                                                                                     ` Lars Ingebrigtsen
2020-06-04  6:15                       ` Simon Pugnet
2020-06-04  8:57                         ` Mattias Engdegård
2020-06-01 19:46         ` Basil L. Contovounesios
2020-06-02 15:08           ` Mattias Engdegård

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

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

  git send-email \
    --in-reply-to=CD510955-CF47-4F8C-9F95-C9FFF9791496@acm.org \
    --to=mattiase@acm.org \
    --cc=41544@debbugs.gnu.org \
    --cc=eliz@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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.