Subject: Re: locked narrowing

From: Eli Zaretskii <[email-masked]>
Date: Wed, 17 Aug 2022 17:25:21 +0300

> From: Stefan Monnier <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked]
> Date: Wed, 17 Aug 2022 10:11:28 -0400
> 
> >> Last time I looked at it, I couldn't quite understand how the cache
> >> works there, so I wasn't sure how to make sure it returns valid
> >> information even if called outside of redisplay.
> > Looking at what maybe_produce_line_number does doesn't help?
> 
> I see two problems:
> 
> - The problem I already mentioned: the cache seems to be
>   maintained/flushed by the redisplay code, so when the function is
>   called outside of redisplay I don't know if `w->base_line_number/pos`
>   is still valid.

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.

> - The fact that this uses line numbers counted from BEGV whereas nlinum
>   counts from BEG.

I think you missed the display-line-numbers-widen variable and its
effect.