[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked
From: |
Eli Zaretskii |
Subject: |
bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing. |
Date: |
Tue, 14 Feb 2023 18:55:29 +0200 |
> Date: Tue, 14 Feb 2023 14:59:22 +0000
> From: Gregory Heytings <gregory@heytings.org>
> cc: 56682@debbugs.gnu.org, monnier@iro.umontreal.ca, akrl@sdf.org
>
>
> >> 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.
> >
>
> Fwiden in the functions above (which are AFAICS the only places in Emacs
> where Fwiden is called) is not prepared to the possibility of them being
> called inside a labeled narrowing, either one installed by the long lines
> code, or another one. Basically we need to use a variant of
> reset_outermost_narrowings (for the current buffer only) where we use
>
> record_unwind_protect (save_restriction_restore, save_restriction_save ());
Ah, okay. Please do, and thanks.
- bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing., (continued)
- bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing., Andrea Corallo, 2023/02/10
- bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing., Eli Zaretskii, 2023/02/11
- bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing., Gregory Heytings, 2023/02/13
- bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing., Eli Zaretskii, 2023/02/13
- bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing., Gregory Heytings, 2023/02/14
- bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing., Eli Zaretskii, 2023/02/14
- bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing., Gregory Heytings, 2023/02/14
- bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing.,
Eli Zaretskii <=
- bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing., Gregory Heytings, 2023/02/14
- bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing., Eli Zaretskii, 2023/02/15
- bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing., Gregory Heytings, 2023/02/15
- bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing., Eli Zaretskii, 2023/02/15
- bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing., Gregory Heytings, 2023/02/15
- bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing., Gregory Heytings, 2023/02/18
- bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing., Eli Zaretskii, 2023/02/19
bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing., dick, 2023/02/02