Subject: Re: bug#56682: locked narrowing

From: Eli Zaretskii <[email-masked]>
Date: Wed, 17 Aug 2022 20:09:07 +0300

> Cc: [email-masked], [email-masked], [email-masked]
> Date: Wed, 17 Aug 2022 19:52:54 +0300
> From: Eli Zaretskii <[email-masked]>
> 
> > > So you are saying that any command which uses vertical-motion or more
> > > generally any of the move_it_* functions will work incorrectly when
> > > line numbers are on display?  I'm not aware of any such problems.
> > 
> > No, I'm sure the existing code somehow handles it right.  I just don't
> > know how.  I can't see anything in the code of `insert` (say) which
> > flushes `w->base_line_number` when needed, so there needs to be code
> > somewhere which flushes it more lazily before using that value.  I just
> > don't know where that code is and which data it uses to flush it.
> > For this reason I don't know under which condition I can make use of
> > `w->base_line_number`.
> 
> Why can't you simply use the same code maybe_produce_line_number uses
> for that?

Or even just always use display_count_lines, if you don't trust the
cache.

And another thought: did you try using format-mode-line as the means
to get the line number from which you could start?