[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#61667: 29.0.60; Failure to redisplay
From: |
Eli Zaretskii |
Subject: |
bug#61667: 29.0.60; Failure to redisplay |
Date: |
Sat, 15 Jun 2024 09:49:25 +0300 |
> Date: Sat, 15 Jun 2024 04:32:07 +0300
> From: Dmitry Gutov <dmitry@gutov.dev>
>
> 1. Visit the Emacs repository.
> 2. Call vc-print-root-log.
> 3. In the lot buffer, repeat this loop:
> 3.1. Press d (to see the diff).
> 3.2. Press q to get back to the log buffer.
> 3.3. Press n to get to the next entry.
>
> From time to time, on step 3.1 the frame title will get updated with
> the name of the new buffer (*vc-diff*), but the insides of the frame
> will get updated with a visible delay (which varies). Most of the time
> the delay, when it noticeable at all, is <1s and usually <200ms even, so
> it's not something that is a deal-breaker in practice usually, but still
> seems somewhat of a problem.
>
> I can reproduce the above scenario with 'emacs -Q' with Emacs compiled
> with './configure --with-x-toolkit=lucid --with-xdbe=no'.
>
> The original report was made with Ubuntu 22.10, I'm using 23.10 now.
>
> Could this be a normal behavior? That is, having a delay between the
> frame title changing and the insides of the frame updating.
Don't we invoke the backend's 'diff' method asynchronously in the
above scenario? Looking at vc-diff-internal, it looks like we first
switch to the *vc-diff* buffer (which causes the frame's title to
change, if redisplay happens to kick in, and only later show the
actual diffs, when the async subprocess finishes. Right?