diff options
| -rw-r--r-- | lisp/tar-mode.el | 16 |
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. |