]> code.delx.au - gnu-emacs/blobdiff - lisp/tar-mode.el
Fix line-move-visual's following of column in R2L lines.
[gnu-emacs] / lisp / tar-mode.el
index 66118d3e288b99437aeb05ebc24c3e5acced7262..1ee54515bea49c577112123f14409619b947073f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; tar-mode.el --- simple editing of tar files from GNU Emacs
 
-;; Copyright (C) 1990-1991, 1993-2014 Free Software Foundation, Inc.
+;; Copyright (C) 1990-1991, 1993-2015 Free Software Foundation, Inc.
 
 ;; Author: Jamie Zawinski <jwz@lucid.com>
 ;; Maintainer: emacs-devel@gnu.org
@@ -800,8 +800,6 @@ tar-file's buffer."
                           tarname
                           ")"))
          (buffer (generate-new-buffer bufname)))
-    (with-current-buffer buffer
-      (setq buffer-undo-list t))
     (with-current-buffer tar-data-buffer
       (let (coding)
         (narrow-to-region start end)
@@ -829,7 +827,11 @@ tar-file's buffer."
             (with-current-buffer buffer
               (set-buffer-multibyte nil)))
         (widen)
-        (decode-coding-region start end coding buffer)))
+        (with-current-buffer buffer
+          (setq buffer-undo-list t))
+        (decode-coding-region start end coding buffer)
+        (with-current-buffer buffer
+          (setq buffer-undo-list nil))))
     buffer))
 
 (defun tar-extract (&optional other-window-p)
@@ -869,7 +871,6 @@ tar-file's buffer."
               (with-current-buffer tar-buffer
                 default-directory))
         (set-buffer-modified-p nil)
-        (setq buffer-undo-list t)
         (normal-mode)                   ; pick a mode.
         (set (make-local-variable 'tar-superior-buffer) tar-buffer)
         (set (make-local-variable 'tar-superior-descriptor) descriptor)