> 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