Subject: bug#31666: Bad interaction between visual-line-mode and wrap-prefix on long lines

From: Clément Pit-Claudel <[email-masked]>
Date: Fri, 8 Jun 2018 14:04:16 -0400

On 2018-06-01 03:36, Eli Zaretskii wrote:
> What about this case:
> 
>   Input
>   123456789
>   xxxxxxx aaaaaaaaaaaaa
> 
> ?  Would you rather see this:
> 
>   123456789
>   xxxxxxx
>   aaaaaaaaa
>   aaaa
> 
> or this:
> 
>   123456789
>   xxxxxxx a
>   aaaaaaaaa
>   aaa
> 
> ?
I think I'd be fine with both, with a preference for the second one, especially if it's cheaper to compute that way.

> See also the fundamental problem with what you'd like Emacs to do,
which I described in another message.

Yes, this is a good point, and I don't have a great idea to overcome it.

That does suggest a more restricted improvement, though.  The specific case in which I notice this issue is org-mode:

    **** http://...very-long-string...
    - Item 1
    - http://…very-long-string…

I never want a break after leading '*' characters or bullets, or at the beginning of a line.  In other words, changing this (| is the left margin):

    |asdasd http://
    |*** xyz http://…

to this:

    |asdasd 
    |http://…
    |*** xyz
    |    http://…

is OK, but changing this:

    |  http://…
    |*** http://…

to this:

    |  
    |http://…
    |*** 
    |    http://…

is confusing.

How hard would it be to introduce a no-break text property?  Then I could wire org-mode to put no-break properties on leading spaces and on spaces following '*' markers and everything would be good.

Clément.