]> git.eshelyaron.com Git - emacs.git/commitdiff
The day wehen vc-toggle-ready-only was a good idea is long gone.
authorEric S. Raymond <esr@snark.thyrsus.com>
Fri, 2 May 2008 07:12:59 +0000 (07:12 +0000)
committerEric S. Raymond <esr@snark.thyrsus.com>
Fri, 2 May 2008 07:12:59 +0000 (07:12 +0000)
lisp/ChangeLog
lisp/vc-hooks.el

index 12d862bcc47a198de1fd7d62d09c3aad82e3ac3e..c53e77bddca19955f89f04c5cdf19d0b55d62813 100644 (file)
@@ -4,6 +4,9 @@
        to prettify-state-info, in preparation for ripping out dired mode.
        * vc-bzr.el (vc-bzr-dired-state-info): Change name of primitive
        to prettify-state-info, in preparation for ripping out dired mode.
+       * vc-hooks.el (vc-toggle-read-only): Throw an error when a user 
+       tries this on a version-controlled buffer. it will do useless or 
+       actively bad things on any version control system newer than RCS.
 
 2008-05-02  Dan Nicolaescu  <dann@ics.uci.edu>
 
index 3c17c816e58581bf1e680c82c6490225835805d1..5b513c46c47856b1480af04abcd49b1e39243be8 100644 (file)
@@ -679,19 +679,17 @@ this function."
   "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.
-With prefix argument, ask for version number to check in or check out.
-Check-out of a specified version number does not lock the file;
-to do that, use this command a second time with no argument.
-
-If you bind this function to \\[toggle-read-only], then Emacs checks files
-in or out whenever you toggle the read-only flag."
+throw an error, because this is not a safe or really meaningful operation 
+on any version-control system newer than RCS.  
+
+Otherwise, just change the read-only flag of the buffer.
+
+If you bind this function to \\[toggle-read-only], then Emacs
+will properly intercept all attempts to toggle the read-only flag
+on version-controlled buffer."
   (interactive "P")
-  (if (or (and (boundp 'vc-dired-mode) vc-dired-mode)
-         ;; use boundp because vc.el might not be loaded
-         (vc-backend buffer-file-name))
-      (vc-next-action verbose)
+  (if (vc-backend buffer-file-name)
+      (error "Toggling the readability of a version controlled file is likely to wreak havoc.")
     (toggle-read-only)))
 
 (defun vc-default-make-version-backups-p (backend file)