GNU bug report logs - #76018
31.0.50; wrap-prefix properties from visual-wrap-prefix-mode proliferate

Previous Next

Package: emacs;

Reported by: Kévin Le Gouguec <kevin.legouguec <at> gmail.com>

Date: Sun, 2 Feb 2025 17:51:02 UTC

Severity: normal

Found in version 31.0.50

Done: Jim Porter <jporterbugs <at> gmail.com>

Full log


View this message in rfc822 format

From: Jim Porter <jporterbugs <at> gmail.com>
To: Kévin Le Gouguec <kevin.legouguec <at> gmail.com>, 76018 <at> debbugs.gnu.org, eliz <at> gnu.org
Subject: bug#76018: 31.0.50; wrap-prefix properties from visual-wrap-prefix-mode proliferate
Date: Mon, 26 May 2025 17:11:15 -0700
[Message part 1 (text/plain, inline)]
On 2/2/2025 9:50 AM, Kévin Le Gouguec wrote:
> Heya!
> 
> To reproduce from emacs -Q:
> 
>      C-x b repro
>      M-x visual-wrap-prefix-mode
>      - first line of [words…]
>      RET
>      RET
>      second line of [words…]
>      C-o
> 
> Expectation: continuation lines for the "second line of [words…]" should
> not have any indentation.
> Observation: text on that second line has these properties:
> 
>      There are text properties here:
>        fontified            t
>        wrap-prefix          (space :align-to (2 . width))
> 
> (NB: "C-o" in the recipe ensures there is a character at point,
> otherwise "C-u C-x =" shows nothing on account of being at EOB)
> 
> Denoting "hard spaces" (buffer text) with "·" and "visual spaces"
> (visual-wrap-prefix-mode decoration) with " ", text thus wraps like
> this:
> 
>      -·first·line·of·
>        words·words
> 
>      second·line·of
>        words·words
> 
> Not sure what the right fix is; having just learned about text property
> "stickiness", I can at least work around the issue with…
> 
>      (push '(wrap-prefix . t) text-property-default-nonsticky)
> 
> … but I have not dogfooded this much yet.

Attached is a patch with a test for this, relying on the 
'rear-nonsticky' text property.

Eli, what do you think? I've also moved an internal Eshell utility 
function ('eshell--append-text-property') to subr-x.el, since it would 
be useful for the visual-wrap code. I've updated the manual and NEWS to 
mention this function as well so that others can use it if they like.
[0001-Make-wrap-prefix-nonsticky-when-using-visual-wrap-pr.patch (text/plain, attachment)]

This bug report was last modified 6 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.