GNU bug report logs - #72721
31.0.50; Visual-wrap-prefix-mode breaks Magit log buffers

Previous Next

Package: emacs;

Reported by: Gautier Ponsinet <gautier <at> gautierponsinet.xyz>

Date: Mon, 19 Aug 2024 22:29:02 UTC

Severity: normal

Merged with 72710

Found in version 31.0.50

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

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Jim Porter <jporterbugs <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 72721 <at> debbugs.gnu.org, gautier <at> gautierponsinet.xyz
Subject: bug#72721: 31.0.50; Visual-wrap-prefix-mode breaks Magit log buffers
Date: Tue, 20 Aug 2024 20:15:48 -0700
[Message part 1 (text/plain, inline)]
On 8/20/2024 12:01 PM, Eli Zaretskii wrote:
>> Date: Tue, 20 Aug 2024 10:33:06 -0700
>> Cc: 72721 <at> debbugs.gnu.org, gautier <at> gautierponsinet.xyz
>> From: Jim Porter <jporterbugs <at> gmail.com>
>>
>>> I'd appreciate a reproducer without Magit, as I don't have it
>>> installed and would prefer not to have to.
>>
>> Me too... I haven't been able to get a reduced test case yet since Magit
>> is pretty complex and I haven't figured out what it's doing exactly. It
>> *seems* to be due to overlays, but I only know that from examining
>> things in GDB. I haven't deciphered the relevant Magit code yet.
> 
> M-x describe-text-properties will show you the properties and overlays
> at point, and it should be possible to concoct some Lisp which just
> reproduces those properties.

I'd tried that but just wasn't looking at the right point. I've now 
figured it out and provided a few reduced test cases. (The "simple" and 
"consecutive" cases should already work.)

While making these test cases, I noticed a similar issue with a nested 
'display' property (see the "nested" case), and fixed that too (I hope!).

> It still doesn't feel right.  But min-width is weird, so I need to
> look into the problem deeper to understand what is going on, and if
> you will be able to come up with a reproducer without Magit, it will
> help.

Hopefully the attached reproducers help make sense of this. I've also 
updated my patch to handle 'min-width' in what I think is a simpler way. 
This implementation relies on the fact that you can't nest 'min-width' 
specs (the iterator struct can only hold one spec at a time). I'm 
guessing on some of these parts, so I may be totally off-base, but the 
test cases do what I expect anyway...
[0001-Fix-bad-interaction-between-min-width-display-spec-a.patch (text/plain, attachment)]
[test-cases.el (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.