On 8/20/2024 12:01 PM, Eli Zaretskii wrote: >> Date: Tue, 20 Aug 2024 10:33:06 -0700 >> Cc: 72721@debbugs.gnu.org, gautier@gautierponsinet.xyz >> From: Jim Porter >> >>> 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...