unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: emacs-devel@gnu.org, stefankangas@gmail.com, dgutov@yandex.ru
Subject: Re: Tick Reduction
Date: Thu, 25 Nov 2021 15:28:43 +0200	[thread overview]
Message-ID: <83ee745ppw.fsf@gnu.org> (raw)
In-Reply-To: <87czmofl3z.fsf@gnus.org> (message from Lars Ingebrigtsen on Thu,  25 Nov 2021 13:58:08 +0100)

> From: Lars Ingebrigtsen <larsi@gnus.org>
> Cc: dgutov@yandex.ru,  stefankangas@gmail.com,  emacs-devel@gnu.org
> Date: Thu, 25 Nov 2021 13:58:08 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > The idea is that whatever tests you need to do to with the position it
> > finds, you do them at the beginning of the property, then you record
> > the result in it->position, and use that to know when you are at the
> > end of the property.
> 
> Oh, you mean keep adding when the min_width eq-ness doesn't change?  I
> guess that could work, but I don't see how that'd simplify anything.

It might simplify things because you won't need display_min_width to
be called the second time by property (in)equality, but just based on
position.  Also, you don't need to keep the form in the iterator,
which could help GC.

> >> It's the same issue when called from display_string -- the mode line
> >> machinery will call the function several times, even if the :propertize
> >> is around all the specs.
> >
> > I don't think so, but maybe I misunderstand something.
> 
> I've tested, and it does.  It's only apparently in specs like
> " (%l,%c)", though.

Well, that's expected: you are formatting two strings.

> > I'm afraid that I'm missing something important here.
> 
> Yes, when called from the mode line we're postponing the stretch
> computation until the :propertize run is actually over (in the
> multiple-% case).

But "is over" seems to mean "we are in the next string", not "we are
at the end of the string that needs to be stretched".  that's what the
bufpos == 0 test does.  Right?  If so, this is too late: what if
there's no "next string"?

> >   (insert "|" (propertize "foo" 'display '(min-width (8.0)) 'face 'match))
> >
> > doesn't work, either.  (All I did was remove the final "|" from the
> > inserted string.)
> 
> Well, the stretch isn't realised until there's something to stretch too.

??? The "foo" part has the display property, so it is that something
which needs to be stretched.  That there's some more text after it
shouldn't affect how "foo" is displayed, right?  Or what am I missing?



  reply	other threads:[~2021-11-25 13:28 UTC|newest]

Thread overview: 167+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-18 20:37 Tick Reduction Lars Ingebrigtsen
2021-11-18 21:01 ` Perry E. Metzger
2021-11-19  5:25   ` Lars Ingebrigtsen
2021-11-18 21:23 ` Dmitry Gutov
2021-11-19  5:27   ` Lars Ingebrigtsen
2021-11-19  6:31     ` Michael Welsh Duggan
2021-11-19  6:50     ` Stefan Kangas
2021-11-19  7:05       ` Lars Ingebrigtsen
2021-11-19  8:19         ` Eli Zaretskii
2021-11-19  8:30           ` Lars Ingebrigtsen
2021-11-20  8:01             ` Eli Zaretskii
2021-11-20  9:07               ` Lars Ingebrigtsen
2021-11-21 15:11             ` Lars Ingebrigtsen
2021-11-21 17:16               ` Eli Zaretskii
2021-11-21 17:24                 ` Lars Ingebrigtsen
2021-11-21 17:39                   ` Eli Zaretskii
2021-11-21 18:00                     ` Lars Ingebrigtsen
2021-11-21 18:15                       ` Eli Zaretskii
2021-11-21 18:25                         ` Lars Ingebrigtsen
2021-11-21 18:33                           ` Lars Ingebrigtsen
2021-11-21 19:31                           ` Eli Zaretskii
2021-11-21 19:34                             ` Lars Ingebrigtsen
2021-11-21 19:36                               ` Lars Ingebrigtsen
2021-11-21 19:41                                 ` Lars Ingebrigtsen
2021-11-21 19:49                               ` Eli Zaretskii
2021-11-21 19:53                                 ` Lars Ingebrigtsen
2021-11-21 20:07                                   ` Eli Zaretskii
2021-11-21 20:17                                     ` Lars Ingebrigtsen
2021-11-21 20:26                                       ` Eli Zaretskii
2021-11-21 20:30                                         ` Lars Ingebrigtsen
2021-11-21 20:31                                           ` Lars Ingebrigtsen
2021-11-22  8:19                                             ` Lars Ingebrigtsen
2021-11-22 14:45                                               ` Eli Zaretskii
2021-11-22 14:50                                                 ` Lars Ingebrigtsen
2021-11-22 17:21                                                   ` Eli Zaretskii
2021-11-22 18:35                                                     ` Stefan Monnier
2021-11-23 10:15                                                     ` Lars Ingebrigtsen
2021-11-23 13:41                                                       ` Eli Zaretskii
2021-11-23 13:49                                                         ` Lars Ingebrigtsen
2021-11-23 14:19                                                           ` Eli Zaretskii
2021-11-23 14:32                                                             ` Lars Ingebrigtsen
2021-11-23 14:43                                                               ` Eli Zaretskii
2021-11-24 11:07                                                                 ` Lars Ingebrigtsen
2021-11-24 14:20                                                                   ` Eli Zaretskii
2021-11-24 16:28                                                                     ` Lars Ingebrigtsen
2021-11-24 17:05                                                                       ` Eli Zaretskii
2021-11-24 17:10                                                                         ` Lars Ingebrigtsen
2021-11-24 17:41                                                                           ` Eli Zaretskii
2021-11-24 17:50                                                                             ` Lars Ingebrigtsen
2021-11-24 18:39                                                                               ` Eli Zaretskii
2021-11-24 18:44                                                                                 ` Lars Ingebrigtsen
2021-11-24 19:00                                                                                   ` Eli Zaretskii
2021-11-25 13:02                                                                                     ` Lars Ingebrigtsen
2021-11-25 12:58                                                                                 ` Lars Ingebrigtsen
2021-11-25 13:28                                                                                   ` Eli Zaretskii [this message]
2021-11-25 14:29                                                                                     ` Lars Ingebrigtsen
2021-11-25 15:10                                                                                       ` Eli Zaretskii
2021-11-26 12:12                                                                                         ` Lars Ingebrigtsen
2021-11-26 12:43                                                                                           ` Eli Zaretskii
2021-11-24 18:41                                                                             ` Lars Ingebrigtsen
2021-11-24 18:53                                                                               ` Eli Zaretskii
2021-11-24 22:32                                                                                 ` Yuan Fu
2021-11-25  7:34                                                                                   ` Eli Zaretskii
2021-11-26 17:03                                                                                     ` Yuan Fu
2021-11-26 18:41                                                                                       ` Eli Zaretskii
2021-11-26 18:54                                                                                         ` Yuan Fu
2021-11-26 18:57                                                                                           ` Eli Zaretskii
2021-11-25 13:06                                                                                 ` Lars Ingebrigtsen
2021-11-25 14:02                                                                                   ` Eli Zaretskii
2021-11-25 14:07                                                                                     ` Lars Ingebrigtsen
2021-11-25 14:12                                                                                       ` Eli Zaretskii
2021-11-25 14:16                                                                                         ` Lars Ingebrigtsen
2021-11-25 15:04                                                                                           ` Eli Zaretskii
2021-11-26 12:09                                                                                             ` Lars Ingebrigtsen
2021-11-26 12:56                                                                                               ` Eli Zaretskii
2021-11-27 14:15                                                                                                 ` Lars Ingebrigtsen
2021-11-27 14:51                                                                                                   ` Eli Zaretskii
2021-11-29 13:40                                                                                                     ` Lars Ingebrigtsen
2021-11-29 13:53                                                                                                       ` Eli Zaretskii
2021-11-29 14:00                                                                                                         ` Lars Ingebrigtsen
2021-11-29 14:06                                                                                                           ` Eli Zaretskii
2021-11-29 14:15                                                                                                             ` Lars Ingebrigtsen
2021-11-29 14:17                                                                                                             ` Eli Zaretskii
2021-11-29 14:35                                                                                                               ` Eli Zaretskii
2021-11-29 15:06                                                                                                                 ` Lars Ingebrigtsen
2021-11-24 23:10                                               ` Feng Shu
2021-11-25  7:42                                                 ` Eli Zaretskii
2021-11-25 11:52                                                 ` Lars Ingebrigtsen
2021-11-22 23:26                                       ` chad
2021-11-21 20:10                                   ` Lars Ingebrigtsen
2021-11-21 20:22                                     ` Eli Zaretskii
2021-11-21 20:28                                       ` Lars Ingebrigtsen
2021-11-21 20:41                                         ` Lars Ingebrigtsen
2021-11-21 21:13                                           ` Eli Zaretskii
2021-11-21 20:42                                         ` Eli Zaretskii
2021-11-21 21:12                                           ` Eli Zaretskii
2021-11-22 11:22                                             ` Lars Ingebrigtsen
2021-11-22 14:52                                               ` Eli Zaretskii
2021-11-22 14:55                                                 ` Lars Ingebrigtsen
2021-11-22 18:04                                             ` Eli Zaretskii
2021-11-19  8:33         ` Stefan Kangas
2021-11-19  8:39           ` Lars Ingebrigtsen
2021-11-19  8:48             ` Eli Zaretskii
2021-11-19 10:00               ` Lars Ingebrigtsen
2021-11-19 10:28               ` Stefan Kangas
2021-11-19 12:41                 ` Eli Zaretskii
2021-11-19 13:04                   ` Stefan Kangas
2021-11-19 13:18                     ` Eli Zaretskii
2021-11-19 13:41                       ` Stefan Kangas
2021-11-19 13:48                         ` Eli Zaretskii
2021-11-21 13:35                           ` Stefan Kangas
2021-11-19 10:28             ` Stefan Kangas
2021-11-20  8:43               ` Lars Ingebrigtsen
2021-11-20  9:03                 ` Eli Zaretskii
2021-11-20  9:26                   ` Lars Ingebrigtsen
2021-11-20  9:51                     ` Eli Zaretskii
2021-11-20  9:56                       ` Lars Ingebrigtsen
2021-11-20 10:11                         ` Eli Zaretskii
2021-11-21  8:57               ` Lars Ingebrigtsen
2021-11-21  9:02                 ` Lars Ingebrigtsen
2021-11-21 13:36                   ` Stefan Kangas
2021-11-21 19:26                     ` Lars Ingebrigtsen
2021-11-21 13:54             ` Stefan Kangas
2021-11-21 15:25               ` Lars Ingebrigtsen
2021-11-21 19:28                 ` Stefan Kangas
2021-11-21 19:31                   ` Lars Ingebrigtsen
2021-11-22 14:57         ` Use variable-pitch face in more places Stefan Kangas
2021-11-22 15:05           ` Stefan Kangas
2021-11-22 17:22           ` Juri Linkov
2021-11-22 18:10             ` Stefan Kangas
2021-11-22 18:40               ` Juri Linkov
2021-11-23  9:56               ` Lars Ingebrigtsen
2021-11-24  9:12                 ` Juri Linkov
2021-11-24 16:52                   ` Lars Ingebrigtsen
2021-11-24 17:59                     ` Juri Linkov
2021-11-19  7:48       ` Tick Reduction Eli Zaretskii
2021-11-19 13:41         ` Stefan Kangas
2021-11-19 11:58     ` Dmitry Gutov
2021-11-18 22:18 ` [External] : " Drew Adams
2021-11-21 10:17   ` Phil Sainty
2021-11-19  5:48 ` Lars Ingebrigtsen
2021-11-19  7:24   ` Eli Zaretskii
2021-11-19  7:28     ` Lars Ingebrigtsen
2021-11-19  8:26       ` Eli Zaretskii
2021-11-19  8:33         ` Lars Ingebrigtsen
2021-11-19  6:42 ` Eric S Fraga
2021-11-19  7:30   ` Lars Ingebrigtsen
2021-11-19  6:52 ` Stefan Kangas
2021-11-19  7:26   ` Lars Ingebrigtsen
2021-11-19  7:59     ` Stefan Kangas
2021-11-19  8:17       ` Lars Ingebrigtsen
2021-11-19  8:09   ` Eli Zaretskii
2021-11-19  8:34     ` Stefan Kangas
2021-11-19 13:58 ` Stefan Monnier
2021-11-19 14:46   ` Eli Zaretskii
2021-11-19 18:22     ` Stefan Monnier
2021-11-19 18:53       ` Eli Zaretskii
2021-11-19 19:24         ` Stefan Monnier
2021-11-19 19:50           ` Eli Zaretskii
2021-11-19 21:09             ` Stefan Monnier
2021-11-20  6:34               ` Eli Zaretskii
2021-11-20 13:11                 ` Stefan Monnier
2021-11-20 13:32                   ` Eli Zaretskii
2021-11-20 14:06                     ` Stefan Monnier
2021-11-20 14:35                       ` Eli Zaretskii
2021-11-20 15:01                         ` Stefan Monnier
2021-11-20  9:00   ` Lars Ingebrigtsen

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=83ee745ppw.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=dgutov@yandex.ru \
    --cc=emacs-devel@gnu.org \
    --cc=larsi@gnus.org \
    --cc=stefankangas@gmail.com \
    /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).