Subject: bug#30432: 26.0.91; freeze when text wrap-prefix exceeds window text width

From: Paul Rankin <[email-masked]>
Date: Tue, 13 Feb 2018 15:57:16 +1000

On 13 Feb 2018, at 3:15 pm, Eli Zaretskii <[email-masked]> wrote:
> 
>> From: Paul Rankin <[email-masked]>
>> Date: Tue, 13 Feb 2018 12:15:17 +1000
>> Cc: [email-masked]
>> 
>> Sorry I didn't include my system before:
>> 
>> macOS High Sierra 10.13.3 (17D47)
>> MacBook Pro (Retina, 15-inch, Mid 2015)
>> Emacs.app built from emacs-26 branch
> 
> Yes, I tried the emacs-26 branch as well.  What I reported was from
> that branch's build.
> 
>> It's definitely a freeze. Emacs becomes unresponsive and needs to be force quit.
> 
> Did you try C-g 2 or 3 times?  If so, did it help?

Yep, C-g many times but no help.

>> I can understand that the real-world use case might not make sense to your own use of Emacs, but in the use I described, it means Emacs freezes by just changing the font size... not good.
> 
> I agree the result is not good even if Emacs behaves like it does on
> my system, which is not a total freeze.  I'll try to see if I can find
> some reasonable way out of this situation.

A few more bits of info:

- I think the freeze is entirely temporary, however the time frozen *seems* to increase linearly depending on the number of offending lines, so a buffer with only one or two extending lines might recover in a second or two, but a buffer with many offending lines will appear permanently frozen.

- Move attempted point motion on offending lines appears to prolong the freeze.

- The freeze will be very minimal (a second or two) if point skips over the wrap-prefix text entirely, e.g. apply wrap-prefix to lines in the middle of buffer, then M-> to eobp.

- No freeze occurs if point is at eobp and moves back to bobp with M-< in the same circumstances as above.

- The freeze will occur if the wrapped text is scrolled into view from below, e.g. same circumstances as above, move point to eobp then mouse wheel up.

- When point moves to an affected position and things become frozen, the line number in the mode line will display as "??"