GNU bug report logs - #61215
29.0.60; font-lock broken in diff-mode with long lines

Previous Next

Package: emacs;

Reported by: Juri Linkov <juri <at> linkov.net>

Date: Wed, 1 Feb 2023 18:21:01 UTC

Severity: normal

Found in version 29.0.60

Full log


Message #50 received at 61215 <at> debbugs.gnu.org (full text, mbox):

From: Gregory Heytings <gregory <at> heytings.org>
To: Juri Linkov <juri <at> linkov.net>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 61215 <at> debbugs.gnu.org
Subject: Re: bug#61215: 29.0.60; font-lock broken in diff-mode with long lines
Date: Thu, 30 Mar 2023 23:22:20 +0000
[Message part 1 (text/plain, inline)]
>
> 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?

This bug report was last modified 2 years and 76 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.