Subject: Re: bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing.

From: Eli Zaretskii <[email-masked]>
Date: Tue, 14 Feb 2023 16:37:16 +0200

> Date: Tue, 14 Feb 2023 10:30:13 +0000
> From: Gregory Heytings <[email-masked]>
> cc: [email-masked], [email-masked], [email-masked]
> 
> 1. There are three places (indent.c:line_number_display_width, 
> xdisp.c:display_count_lines_logically, fileio.c:write_region) where we 
> currently use
> 
> record_unwind_protect (save_restriction_restore, save_restriction_save ());
> Fwiden ();

I'm not sure these should be subject to locked narrowing.  They don't
present performance problems with very long lines, AFAIK.

> 2. In another place (process.c:Finternal_default_process_filter) we 
> currently have:
> 
> /* If the output marker is outside of the visible region, save
>     the restriction and widen.  */
> if (! (BEGV <= PT && PT <= ZV))
>    Fwiden ();
> 
> (without the "save the restriction" mentioned in the comment).

This should be fixed to use unwind-protect of some kind, I think, and
that's orthogonal to locked narrowing.

> 3. Also, in Ferase_buffer, we do Fwiden to "delete the entire contents of 
> the current buffer".
> 
> These five places probably need to be adapted to handle labeled narrowings 
> correctly.  If you agree with that, I'll write a patch to that effect.

I'm not sure what you mean by "adapt to".  Please tell more.