# HG changeset patch # User Andr Spiegel # Date 1026841653 0 # Node ID 386acc7f6c4d3512bca55c31626c3695958ab164 # Parent 8a775aba60aa6b81555fbb89db23691dc6667115 (vc-next-action-on-file): Ignore buffer-read-only while comparing to file on disk. Fix the case when claiming the lock on a file that has unlocked changes. (vc-log-mode): Don't mention vc-toggle-read-only in the doc string. diff -r 8a775aba60aa -r 386acc7f6c4d lisp/vc.el --- a/lisp/vc.el Tue Jul 16 17:42:57 2002 +0000 +++ b/lisp/vc.el Tue Jul 16 17:47:33 2002 +0000 @@ -6,7 +6,7 @@ ;; Maintainer: Andre Spiegel ;; Keywords: tools -;; $Id: vc.el,v 1.330 2002/03/05 13:14:11 spiegel Exp $ +;; $Id: vc.el,v 1.331 2002/03/06 13:51:28 gerd Exp $ ;; This file is part of GNU Emacs. @@ -1107,9 +1107,12 @@ ;; Check relation of buffer and file, and make sure ;; user knows what he's doing. First, finding the file ;; will check whether the file on disk is newer. - (if vc-dired-mode - (find-file-other-window file) - (set-buffer (find-file-noselect file))) + (set-buffer visited) + ;; ignore buffer-read-only during this test + (let ((buffer-read-only (not (file-writable-p file)))) + (if vc-dired-mode + (find-file-other-window file) + (find-file-noselect file))) (if (not (verify-visited-file-modtime (current-buffer))) (if (yes-or-no-p "Replace file on disk with buffer contents? ") (write-file (buffer-file-name)) @@ -1224,9 +1227,11 @@ (yes-or-no-p (concat "File has unlocked changes. " "Claim lock retaining changes? "))) (progn (vc-call steal-lock file) + (clear-visited-file-modtime) ;; Must clear any headers here because they wouldn't ;; show that the file is locked now. (vc-clear-headers file) + (write-file (buffer-file-name)) (vc-mode-line file)) (if (not (yes-or-no-p "Revert to checked-in version, instead? ")) @@ -3249,7 +3254,6 @@ These bindings are added to the global keymap when you enter this mode: \\[vc-next-action] perform next logical version-control operation on current file \\[vc-register] register current file -\\[vc-toggle-read-only] like next-action, but won't register files \\[vc-insert-headers] insert version-control headers in current file \\[vc-print-log] display change history of current file \\[vc-revert-buffer] revert buffer to latest version