From: Juri Linkov <juri@linkov.net>
To: Gregory Heytings <gregory@heytings.org>
Cc: Eli Zaretskii <eliz@gnu.org>, 61215@debbugs.gnu.org
Subject: bug#61215: 29.0.60; font-lock broken in diff-mode with long lines
Date: Fri, 31 Mar 2023 10:10:20 +0300 [thread overview]
Message-ID: <861ql51jl2.fsf@mail.linkov.net> (raw)
In-Reply-To: <e246266e9fd0d71a1abd@heytings.org> (Gregory Heytings's message of "Thu, 30 Mar 2023 23:22:20 +0000")
>> 1. (setq debug-on-error t backtrace-on-redisplay-error 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*
>
> I did, in the Emacs repository:
>
> echo README >> README
> echo CONTRIBUTE >> CONTRIBUTE
> echo INSTALL >> INSTALL
Actually, these files can't expose the problem.
I suggest to use a mode with complex font-lock rules
for syntax highlighting. I tested with a few of 1-char edits
in a few places inside an .el file.
> git add a.xml
The diff will output the file name a.xml at the beginning, but
better to output it after the file with changes. The complete
diff output should look like this: first a few diff hunks
each with 1-line change from an .el file with syntax fontification.
Then at the end of the screen the huge file added in the same commit.
> git commit -a -m commit
> ./src/emacs -Q --eval '(setq debug-on-error t backtrace-on-redisplay-error t)'
> C-x v l
> d
Not sure if this shows diffs only from one file.
More reliable would be to use 'C-x v L d'
to show a multi-file commit.
> 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?
Hmm, I tried again, and can't reproduce it in emacs-29.
But in master there are still the same errors.
How this is possible when emacs-29 is merged to master?
next prev parent reply other threads:[~2023-03-31 7:10 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-01 18:18 bug#61215: 29.0.60; font-lock broken in diff-mode with long lines Juri Linkov
2023-02-01 18:35 ` Eli Zaretskii
2023-02-02 17:16 ` Juri Linkov
2023-02-02 20:41 ` Eli Zaretskii
2023-02-03 7:53 ` Juri Linkov
2023-02-03 11:59 ` Eli Zaretskii
2023-02-05 18:28 ` Juri Linkov
2023-02-05 18:38 ` Eli Zaretskii
2023-02-06 17:15 ` Juri Linkov
2023-02-06 18:10 ` Eli Zaretskii
2023-02-06 18:11 ` Gregory Heytings
2023-02-27 18:28 ` Juri Linkov
2023-02-27 19:07 ` Eli Zaretskii
2023-02-27 19:23 ` Gregory Heytings
2023-02-27 19:25 ` Gregory Heytings
2023-03-30 23:22 ` Gregory Heytings
2023-03-31 7:10 ` Juri Linkov [this message]
2023-03-31 7:30 ` Juri Linkov
2023-04-01 0:22 ` Gregory Heytings
2023-04-01 18:19 ` Juri Linkov
2023-03-31 7:40 ` Gregory Heytings
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=861ql51jl2.fsf@mail.linkov.net \
--to=juri@linkov.net \
--cc=61215@debbugs.gnu.org \
--cc=eliz@gnu.org \
--cc=gregory@heytings.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).