bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#61215: 29.0.60; font-lock broken in diff-mode with long lines


From: Gregory Heytings
Subject: bug#61215: 29.0.60; font-lock broken in diff-mode with long lines
Date: Thu, 30 Mar 2023 23:22:20 +0000



0. emacs -Q
1. Set debug-on-error and backtrace-on-redisplay-error to t
2. Create a commit with some diff hunks in a prog mode at the beginning, and a 
single-line 1MB file added at the end;
3. From *vc-change-log* type `d' on that commit that opens *vc-diff* buffer
4. Scroll the *vc-diff* buffer

It displays an error in the *Warning* buffer:

 ⛔ Warning (error): Error in a redisplay Lisp hook.  See buffer 
*Redisplay_trace*


Sorry for the (very!) late reply.

I tried to reproduce that issue with Emacs 29 (at 59f66ea302). I used the "a.xml" file from bug#61514, which can be recreated with the following short Python script:

#!/usr/bin/python3
f = open("a.xml", "w")
f.write('<id name="')
for n in range(1, 4096):
    f.write("n" * 1024)
f.write('">\n')

I did, in the Emacs repository:

echo README >> README
echo CONTRIBUTE >> CONTRIBUTE
echo INSTALL >> INSTALL
git add a.xml
git commit -a -m commit
./src/emacs -Q --eval '(setq debug-on-error t backtrace-on-redisplay-error t)'
C-x v l
d

At that point there are no errors, and the a.xml hunk is correctly fontified. Now if I do:

q
d

then the errors you mention above appear (and the a.xml hunk is not correctly fontified anymore). If I manually kill the *vc-diff* buffer, they disappear again. Is this also what you see?
reply via email to

[Prev in Thread] Current Thread [Next in Thread]