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:30:32 +0300 [thread overview]
Message-ID: <86tty1z7tf.fsf@mail.linkov.net> (raw)
In-Reply-To: <861ql51jl2.fsf@mail.linkov.net> (Juri Linkov's message of "Fri, 31 Mar 2023 10:10:20 +0300")
>>> 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?
After boostrap errors appear in emacs-29 too.
next prev parent reply other threads:[~2023-03-31 7:30 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
2023-03-31 7:30 ` Juri Linkov [this message]
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=86tty1z7tf.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).