[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?
- bug#61215: 29.0.60; font-lock broken in diff-mode with long lines,
Gregory Heytings <=