GNU bug report logs -
#72721
31.0.50; Visual-wrap-prefix-mode breaks Magit log buffers
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
On 8/19/2024 2:39 PM, Gautier Ponsinet wrote:
> Hello everyone,
>
> The new visual-wrap-prefix-mode breaks the rendering of the Magit Log
> buffers.
>
> In emacs -Q:
> * Install Magit and its dependencies and load Magit.
> * Go to a local repository (via M-x dired or M-x cd).
> * M-x global-visual-wrap-prefix-mode
> * M-x magit-log-current
>
> Could someone please confirm/reproduce?
I can confirm this. I'm not quite sure of all the details, but it seem
that this is due to a bad interaction between overlays and the
'min-width' display spec. The end result was that we were calling
'get-text-property' with a (large-ish) buffer position when the OBJECT
arg was a string of length 1. That can happen in magit-log on the
mostly-blank line where it's making the ASCII art just below a merge
commit. (The leading whitespace makes 'visual-wrap-prefix-mode' do its
thing.)
I'm not super familiar with how the display engine works, but I think we
don't want to call 'display_min_width' when we're working with an
overlay. See the attached patch.
Eli, I'm sure you understand this code much better than me. Does the
above make sense? I can also try to improve the commentary in the code,
but I'm just making some educated guesses as to what's happening here.
[0001-Fix-bad-interaction-between-min-width-display-spec-a.patch (text/plain, attachment)]
This bug report was last modified 264 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.