"Richard M. Stallman" <[EMAIL PROTECTED]> writes: > 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?
First the problem happens only if the emacs-produced version file (e.g. some-version-file.~1.9.~) doesn't exist and the vc-diff function executes very fast (e.g. cvs server local). It happens always whether 'special-display-buffer-names' is set. Here is the process chain in the function vc-version-diff: - after processing 'vc-diff-internal' the buffer *vc-diff* is empty - afterwards 'vc-exec-after asks' for the 'process-status' and this status is 'exit' and the function buffer-size still reports zero. - It calls again the vc-exec-after function with the given code. This code tests the buffer-size and this value is still zero. So the result is 'No difference found.'. > 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. I verified this change but it has definitely no effect. Please forget it. Harald _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel