changeset 2620:d26f75fd9f5e

(vc-mode-line): Don't alter key bindings. (vc-toggle-read-only): Put on C-x C-q unconditionally. (vc-mode): Add permanent-local property.
author Richard M. Stallman <rms@gnu.org>
date Sat, 01 May 1993 15:00:34 +0000
parents 019278028c54
children 40bed0333cd3
files lisp/vc-hooks.el
diffstat 1 files changed, 6 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/vc-hooks.el	Sat May 01 14:39:32 1993 +0000
+++ b/lisp/vc-hooks.el	Sat May 01 15:00:34 1993 +0000
@@ -44,6 +44,7 @@
 				 minor-mode-alist)))
 
 (make-variable-buffer-local 'vc-mode)
+(put 'vc-mode 'permanent-local t)
 
 ;; We need a notion of per-file properties because the version
 ;; control state of a file is expensive to derive --- we don't
@@ -108,13 +109,15 @@
 	   (vc-file-setprop file 'vc-backend (cdr (vc-registered file))))))
 
 (defun vc-toggle-read-only ()
-  "If the file in the current buffer is under version control, perform the
-logical next version-control action; otherwise, just toggle the buffer's
-read-only flag."
+  "Change read-only status of current buffer, perhaps via version control.
+If the buffer is visiting a file registered with version control,
+then check the file in or out.  Otherwise, just change the read-only flag
+of the buffer."
   (interactive)
   (if (vc-backend-deduce (buffer-file-name))
       (vc-next-action nil)
     (toggle-read-only)))
+(define-key global-map "\C-x\C-q" 'vc-toggle-read-only)
 
 (defun vc-mode-line (file &optional label)
   "Set `vc-mode' to display type of version control for FILE.
@@ -124,9 +127,6 @@
   (let ((vc-type (vc-backend-deduce file)))
     (if vc-type
 	(progn
-	  (if (null (current-local-map))
-	      (use-local-map (make-sparse-keymap)))
-	  (define-key (current-local-map) "\C-x\C-q" 'vc-toggle-read-only)
 	  (setq vc-mode
 		(concat " " (or label (symbol-name vc-type))))))
     ;; force update of mode line