]> git.eshelyaron.com Git - emacs.git/commitdiff
tar-mode buffer-read-only fix
authorAaron S. Hawley <Aaron.S.Hawley@gmail.com>
Fri, 16 Mar 2012 07:21:23 +0000 (00:21 -0700)
committerGlenn Morris <rgm@gnu.org>
Fri, 16 Mar 2012 07:21:23 +0000 (00:21 -0700)
* lisp/tar-mode.el (tar-mode): Fix saving by conditionally undoing
`special-mode' setting of `buffer-read-only'.

Fixes: debbugs:11010
lisp/ChangeLog
lisp/tar-mode.el

index 35da6fc9e314986169384a87801a0273996c968b..3fd5cbfcf26195b64698cb75dff3a4e857be9b3a 100644 (file)
@@ -1,3 +1,8 @@
+2012-03-16  Aaron S. Hawley  <Aaron.S.Hawley@gmail.com>
+
+       * tar-mode.el (tar-mode): Fix saving by conditionally undoing
+        `special-mode' setting of `buffer-read-only'.  (Bug#11010)
+
 2012-03-16  Glenn Morris  <rgm@gnu.org>
 
        * view.el (view-buffer, view-buffer-other-window)
index 949ac4c08892f31fe2ca687c8d22f1eb333ece13..3eb2be156980014f63270c40dccba7f9429b9126 100644 (file)
@@ -634,6 +634,9 @@ inside of a tar archive without extracting it and re-archiving it.
 
 See also: variables `tar-update-datestamp' and `tar-anal-blocksize'.
 \\{tar-mode-map}"
+  (and buffer-file-name
+       (file-writable-p buffer-file-name)
+       (setq buffer-read-only nil))    ; undo what `special-mode' did
   (make-local-variable 'tar-parse-info)
   (set (make-local-variable 'require-final-newline) nil) ; binary data, dude...
   (set (make-local-variable 'local-enable-local-variables) nil)