all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Po Lu <luangruo@yahoo.com>
To: Gregory Heytings <gregory@heytings.org>
Cc: emacs-devel@gnu.org
Subject: Re: emacs-29 b8d2ec920f: Revert "Improve last change to xfaces.c" (05ece1eb8b)
Date: Mon, 12 Dec 2022 18:05:49 +0800	[thread overview]
Message-ID: <87tu21hr7m.fsf@yahoo.com> (raw)
In-Reply-To: <ec23ed3e9549d2519192@heytings.org> (Gregory Heytings's message of "Mon, 12 Dec 2022 09:09:43 +0000")

Gregory Heytings <gregory@heytings.org> writes:

> Of course I did.  That you did not read it is another thing.

You did not.  The only real technical argument you put forth was some
nonsense about FOR_EACH_TAIL being slow.

> What kind of development practice is this?  You "improve" code in a
> complex area of the Emacs code base that was agreed upon after a long
> discussion only a couple of hours after it was pushed, without asking
> anyone whether what you want to do is okay?

My change did not change any behavior, which is why I saw no purpose
discussing it at all.

All it did was rename and redocument a Lisp variable to remove
technicalities that are not of interest to our users.

How many people will remember to redocument the variable the next time
enum font_property_index is changed? Or when realize_gui_face is
renamed?

> And you revert without even reading or replying to the detailed
> explanation why that "improvement" was wrong.

I replied.

> That's wrong.  And you would have understood this if you had read the
> detailed explanation why your "improvement" is wrong.

Really? What if a font entity is there, not a font spec? Or a font spec
from the Haiku font dialog?

> It isn't, and it is not supposed to be modified on a daily basis.

A bitmask is always a nuisance, both for users and developers.
Not all Emacs users write programs in languages that make heavy use
of bitmasks such as C.

> Nobody said the discussion was over (although I was hoping it was).
>
> But what you did is not a "discussion", it is the exact opposite of a
> "discussion": these are misguided changes introduced in the release
> branch _without any discussion_.

Why do I have to discuss so-called ``misguided'' changes to obvious
problems, such as having a bitmask exposed to Lisp?

Once again, here are the problems with having bitmasks exposed to users
(not necessarily just through Lisp, this applies to other extension
languages as well along with some graphics drivers) that have been found
in real life:

  1. Nobody will ever remember to update the variable after the enum is
     changed.

  2. Someone will fill the bitmask with random bogus that happens to do
     nothing now, but will start to do something unexpected ``some time
     later''.

  3. The maximum value of enum font_property_index will exceed what can
     fit in 29 bits at some point in the future.

The doc string and variable was renamed because they make references to
the inner workings of the font machinery.  Again, who will remember to
change the doc string once the C code is rewritten or changed, possibly
after you and I are both gone, or, god forbid, even dead?  (The latter
is a real possibility with the vast timescales in this project.)



  parent reply	other threads:[~2022-12-12 10:05 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <167080778504.14972.16819452979975432761@vcs2.savannah.gnu.org>
     [not found] ` <20221212011625.58E8AC004B4@vcs2.savannah.gnu.org>
2022-12-12  2:41   ` emacs-29 b8d2ec920f: Revert "Improve last change to xfaces.c" (05ece1eb8b) Po Lu
2022-12-12  2:48     ` Po Lu
2022-12-12  9:09       ` Gregory Heytings
2022-12-12  9:37         ` Issue building master Ergus
2022-12-12 13:33           ` Eli Zaretskii
     [not found]             ` <2127787931.394320.1670853418624@mail.yahoo.com>
2022-12-12 14:12               ` Eli Zaretskii
2022-12-12 15:49                 ` Ergus
2022-12-12 16:04                   ` Eli Zaretskii
2022-12-12 17:16                     ` Ergus
2022-12-12 10:05         ` Po Lu [this message]
2022-12-12 10:42           ` emacs-29 b8d2ec920f: Revert "Improve last change to xfaces.c" (05ece1eb8b) Gregory Heytings
2022-12-12 11:08             ` Po Lu
2022-12-12 10:18     ` xenodasein--- via Emacs development discussions.
2022-12-12 10:29       ` Cool down, please [was: emacs-29 b8d2ec920f: Revert ...] tomas
2022-12-12 10:36       ` emacs-29 b8d2ec920f: Revert "Improve last change to xfaces.c" (05ece1eb8b) Po Lu
2022-12-12 10:48         ` xenodasein--- via Emacs development discussions.
2022-12-12 13:44       ` Eli Zaretskii
2022-12-12 15:03         ` xenodasein--- via Emacs development discussions.
2022-12-12 15:13           ` tomas

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=87tu21hr7m.fsf@yahoo.com \
    --to=luangruo@yahoo.com \
    --cc=emacs-devel@gnu.org \
    --cc=gregory@heytings.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.