From: Chong Yidong Date: Thu, 28 Aug 2008 17:48:15 +0000 (+0000) Subject: (vc-workfile-unchanged-p): Revert last change. X-Git-Tag: emacs-pretest-23.0.90~3210 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=70c8a3903f00ac1571a50689fcdaa2c48c6ff051;p=emacs.git (vc-workfile-unchanged-p): Revert last change. --- diff --git a/lisp/vc-hooks.el b/lisp/vc-hooks.el index 6b90fa1381f..2a7875caa67 100644 --- a/lisp/vc-hooks.el +++ b/lisp/vc-hooks.el @@ -559,13 +559,16 @@ and does not employ any heuristic at all." "Return non-nil if FILE has not changed since the last checkout." (let ((checkout-time (vc-file-getprop file 'vc-checkout-time)) (lastmod (nth 5 (file-attributes file)))) - (or (and checkout-time - ;; Tramp and Ange-FTP return this when they don't know the time. - (not (equal lastmod '(0 0))) - (equal checkout-time lastmod)) - (let ((unchanged (vc-call workfile-unchanged-p file))) - (vc-file-setprop file 'vc-checkout-time (if unchanged lastmod 0)) - unchanged)))) + ;; This is a shortcut for determining when the workfile is + ;; unchanged. It can fail under some circumstances; see the + ;; discussion in bug#694. + (if (and checkout-time + ;; Tramp and Ange-FTP return this when they don't know the time. + (not (equal lastmod '(0 0)))) + (equal checkout-time lastmod) + (let ((unchanged (vc-call workfile-unchanged-p file))) + (vc-file-setprop file 'vc-checkout-time (if unchanged lastmod 0)) + unchanged)))) (defun vc-default-workfile-unchanged-p (backend file) "Check if FILE is unchanged by diffing against the master version.