aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/vc.el8
1 files changed, 6 insertions, 2 deletions
diff --git a/lisp/vc.el b/lisp/vc.el
index 70abb77b545..e4ffc8dcf9f 100644
--- a/lisp/vc.el
+++ b/lisp/vc.el
@@ -620,8 +620,12 @@ to an optional list of FLAGS."
620 (vc-resynch-buffer file t (not (buffer-modified-p buffer))))) 620 (vc-resynch-buffer file t (not (buffer-modified-p buffer)))))
621 (error "%s needs update" (buffer-name)))) 621 (error "%s needs update" (buffer-name))))
622 622
623 ;; if there is no lock on the file, assert one and get it 623 ;; If there is no lock on the file, assert one and get it.
624 ((not (setq owner (vc-locking-user file))) 624 ;; (With implicit checkout, make sure not to lose unsaved changes.)
625 ((progn (and (eq (vc-checkout-model file) 'implicit)
626 (buffer-modified-p buffer)
627 (vc-buffer-sync))
628 (not (setq owner (vc-locking-user file))))
625 (if (and vc-checkout-carefully 629 (if (and vc-checkout-carefully
626 (not (vc-workfile-unchanged-p file t))) 630 (not (vc-workfile-unchanged-p file t)))
627 (if (save-window-excursion 631 (if (save-window-excursion