>     I am using `special-display-buffer-names' for the *vc-diff* buffer.
>     If the special-display-buffer frame does not exist then the *vc-diff*
>     buffer reports sometimes "No differences found.". This seems to due
>     the fact that the 'vc-diff-internal' function has not written yet any
>     bytes into the *vc-diff* buffer.

> How would the fact that the buffer is empty have such an effect?
> Can you work out the chain of events?

To figure out whether there's been diffs or not, the sentinel function
checks whether the resulting buffer is empty.

>      The strange part is that this only
>     happens if the background process ends up very fast. For example a
>     diff with the cvs.gnu.org server finishes always successfully, but a
>     diff with the local cvs server fails.

>     I don't know how to fix this. As a workaround I put after the
>     vc-diff-internal function a (sit-for 1) statement. Then it seems to
>     work.

> If you can deduce how this change has the effect of preventing the
> problem, then we would understand the problem, and then we could look
> for the right fix.

Given his description of the problem, my guess is that somehow the sentinel
is run before all the process's output has been processed.


        Stefan


_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

Reply via email to