aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/tar-mode.el16
1 files changed, 8 insertions, 8 deletions
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el
index 400dbdad134..9f34858cab2 100644
--- a/lisp/tar-mode.el
+++ b/lisp/tar-mode.el
@@ -388,11 +388,12 @@ MODE should be an integer which is a file mode value."
388 (dir (file-name-directory name)) 388 (dir (file-name-directory name))
389 (start (+ (tar-desc-data-start descriptor) tar-header-offset -1)) 389 (start (+ (tar-desc-data-start descriptor) tar-header-offset -1))
390 (end (+ start (tar-header-size tokens)))) 390 (end (+ start (tar-header-size tokens))))
391 (message "Extracting %s" name) 391 (unless (file-directory-p name)
392 (if (and dir (not (file-exists-p dir))) 392 (message "Extracting %s" name)
393 (make-directory dir t)) 393 (if (and dir (not (file-exists-p dir)))
394 (write-region start end name) 394 (make-directory dir t))
395 (set-file-modes name (tar-header-mode tokens))))) 395 (write-region start end name)
396 (set-file-modes name (tar-header-mode tokens))))))
396 (set-buffer-multibyte multibyte)))) 397 (set-buffer-multibyte multibyte))))
397 398
398(defun tar-summarize-buffer () 399(defun tar-summarize-buffer ()
@@ -604,14 +605,13 @@ appear on disk when you save the tar-file's buffer."
604 (not tar-subfile-mode) 605 (not tar-subfile-mode)
605 (> (prefix-numeric-value p) 0))) 606 (> (prefix-numeric-value p) 0)))
606 (cond (tar-subfile-mode 607 (cond (tar-subfile-mode
607 (make-local-variable 'local-write-file-hooks) 608 (add-hook 'write-file-functions 'tar-subfile-save-buffer nil t)
608 (setq local-write-file-hooks '(tar-subfile-save-buffer))
609 ;; turn off auto-save. 609 ;; turn off auto-save.
610 (auto-save-mode -1) 610 (auto-save-mode -1)
611 (setq buffer-auto-save-file-name nil) 611 (setq buffer-auto-save-file-name nil)
612 (run-hooks 'tar-subfile-mode-hook)) 612 (run-hooks 'tar-subfile-mode-hook))
613 (t 613 (t
614 (kill-local-variable 'local-write-file-hooks)))) 614 (remove-hook 'write-file-functions 'tar-subfile-save-buffer t))))
615 615
616 616
617;; Revert the buffer and recompute the dired-like listing. 617;; Revert the buffer and recompute the dired-like listing.