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

From: Paul Rankin <[email-masked]>
Date: Mon, 12 Feb 2018 16:49:39 +1000

So this took me a while to track down because it seemed so unpredictable, but I can now reliably freeze Emacs when some text has a wrap-prefix that exceeds the window text width.

To reproduce:

1. emacs -Q
2. make sure window is 80 columns wide
3. insert a block of text that exceeds the window text width and causes wrapping
4. set region over this text
5. (put-text-property (region-beginning) (region-end) 'wrap-prefix '(space :align-to 81))
6. move point to or past this text

Expected result:

I'm not sure, but I guess window should scroll horizontally to display point.

Actual results:

Emacs freezes and needs to be killed.

Real-world use case:

In Fountain Mode (a major mode for screenwriting) text needs to aligned using line-prefix and wrap-prefix. Text for scene transitions uses a space of 45 columns. When the font size is increased, it's very easy for the 45-column space plus the transition text to exceed the current window text width.

In Emacs versions prior to 26, this use to just wrap the transition text, but something has changed with 26 to cause the freezing.

** Please do not reply asking me to change Fountain Mode to use auto-fill. The existing syntax doesn't work this way. **

-- 
https://www.paulwrankin.com