unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Eli Zaretskii <eliz@gnu.org>
Cc: larsi@gnus.org,  malsburg@posteo.de,  emacs-devel@gnu.org
Subject: Re: master 91418d27e9: Add new functions for computing character metrics for windows
Date: Sat, 30 Apr 2022 11:52:44 -0400	[thread overview]
Message-ID: <jwvee1eefuq.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <8335hu8uey.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 30 Apr 2022 18:25:57 +0300")

> Emacs is still 85% fixed-pitch.  We still don't "have the technology"
> to work with variable-pitch fonts as simply and efficiently as with
> fixed-pitch.  In this situation, lamenting the fact that an API is
> less helpful with variable-pitch fonts strikes me as a clear case of
> premature optimization.

That's not my point.  All I'm saying is that it's just another function
that does the ~90% work.  Maybe it's a bit closer to 100% but that
doesn't make it qualitatively different and that makes it part of the
same family as those other functions.  And having such wildly different
naming between those functions is not helpful.

> No, I didn't.  If someone needs to use text with different faces, then
> calling this function is a mistake.

Most of the code that will want to use this function can be confronted
with text with different faces completely out of its control
(e.g. because of hi-lock, goto-address-mode, you name it).
So you're saying that in practice most uses are "a mistake".

> Any API can be used mistakenly, but that fact doesn't yet mean the API
> is not useful when used correctly.

I think you misunderstand me: I'm not at all opposed to the
functionality offered by this new function.

>> > (And I wonder why this sudden crusade against this function.)
>> For one, because it's name makes it impossible to find when you're
>> looking for "one of those functions that returns some notion of text
>> width".
> I disagree.  But anyway, if you or someone can come up with a better
> name, and do it soon enough, we can easily rename it.

I think it should match window-*-width since that's the most common
pattern shared by other functions in that family, AFAICT.

>> For two, because this was already a nasty mess and this function just
>> adds insult to injury, IMO.
> I cannot disagree more.  The function has a place and serves a class
> of use cases well enough to be justified.  It prevents Lisp programs
> from using low-level interfaces like font-get-glyphs etc., on the one
> hand, and OTOH is simpler and faster than window-text-pixel-size.

I'm not arguing against the new functionality.
I'm arguing against the way it's exposed.


        Stefan




  reply	other threads:[~2022-04-30 15:52 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <165123811050.20687.5215165731843845332@vcs2.savannah.gnu.org>
     [not found] ` <20220429131511.9BD62C01683@vcs2.savannah.gnu.org>
2022-04-29 13:46   ` master 91418d27e9: Add new functions for computing character metrics for windows Stefan Monnier
2022-04-29 13:53     ` Lars Ingebrigtsen
2022-04-29 14:55       ` Stefan Monnier
2022-04-29 19:59         ` Eli Zaretskii
2022-04-29 20:40           ` Stefan Monnier
2022-04-30  5:23             ` Eli Zaretskii
2022-04-30 11:12             ` Lars Ingebrigtsen
2022-04-30 13:33               ` Stefan Monnier
2022-04-30 13:48                 ` Eli Zaretskii
2022-04-30 14:34                   ` Stefan Monnier
2022-04-30 15:25                     ` Eli Zaretskii
2022-04-30 15:52                       ` Stefan Monnier [this message]
2022-04-30 16:19                         ` Eli Zaretskii
2022-04-30 21:47                           ` Stefan Monnier

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=jwvee1eefuq.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=larsi@gnus.org \
    --cc=malsburg@posteo.de \
    /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).