]> git.eshelyaron.com Git - emacs.git/commitdiff
(archive-mode): Undo previous change.
authorEli Zaretskii <eliz@gnu.org>
Sun, 19 Jul 1998 15:02:33 +0000 (15:02 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sun, 19 Jul 1998 15:02:33 +0000 (15:02 +0000)
(archive-extract): Make the buffer unibyte if the extracted file
was read with coding-system of no-conversion or raw-text.

lisp/arc-mode.el

index ea1f48284543699cabfa4f853fea651b2e8a6a8b..8f3ebd1f439d84f403a1542e4bda242125c12aae 100644 (file)
@@ -556,8 +556,6 @@ archive.
       (make-local-variable 'archive-file-list-start)
       (make-local-variable 'archive-file-list-end)
       (make-local-variable 'archive-file-name-indent)
-      ;; Always edit an archive file in unibyte mode.
-      (set-buffer-multibyte nil)
       (archive-summarize nil)
       (setq buffer-read-only t))))
 
@@ -890,6 +888,15 @@ using `make-temp-name', and the generated name is returned."
              (progn
                (set-buffer-modified-p nil)
                (kill-buffer buffer))
+           ;; If Emacs were to visit the file we've extracted, it would make
+           ;; the buffer be unibyte if the detected coding-system is
+           ;; no-conversion or raw-text-*.  We want the same behavior here
+           ;; as if we were visiting the file, even though some extractors
+           ;; read the file's contents from a pipe.
+           (if (or (eq last-coding-system-used 'no-conversion)
+                   ;; type 5 is raw-text
+                   (eq (coding-system-type last-coding-system-used) 5))
+               (set-buffer-multibyte nil))
            (goto-char (point-min))
            (rename-buffer bufname)
            (setq buffer-read-only read-only-p)