2009-03-14 Stefan Monnier <monnier@iro.umontreal.ca>
+ * tar-mode.el (tar-extract): Setup the buffer's name, undo-list, and
+ modified status before running the major-mode.
+
* simple.el (undo): Don't loop when encountering empty undo records.
2009-03-13 Tassilo Horn <tassilo@member.fsf.org>
See also: variables `tar-update-datestamp' and `tar-anal-blocksize'.
\\{tar-mode-map}"
- ;; this is not interactive because you shouldn't be turning this
- ;; mode on and off. You can corrupt things that way.
- ;; rms: with permanent locals, it should now be possible to make this work
- ;; interactively in some reasonable fashion.
(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)
(setq default-directory
(with-current-buffer tar-buffer
default-directory))
- (normal-mode) ; pick a mode.
(rename-buffer bufname)
- (make-local-variable 'tar-superior-buffer)
- (make-local-variable 'tar-superior-descriptor)
- (setq tar-superior-buffer tar-buffer)
- (setq tar-superior-descriptor descriptor)
- (setq buffer-read-only read-only-p)
(set-buffer-modified-p nil)
(setq buffer-undo-list undo-list)
+ (normal-mode) ; pick a mode.
+ (set (make-local-variable 'tar-superior-buffer) tar-buffer)
+ (set (make-local-variable 'tar-superior-descriptor) descriptor)
+ (setq buffer-read-only read-only-p)
(tar-subfile-mode 1)))
(if view-p
(view-buffer