388 |
(dir (file-name-directory name)) |
(dir (file-name-directory name)) |
389 |
(start (+ (tar-desc-data-start descriptor) tar-header-offset -1)) |
(start (+ (tar-desc-data-start descriptor) tar-header-offset -1)) |
390 |
(end (+ start (tar-header-size tokens)))) |
(end (+ start (tar-header-size tokens)))) |
391 |
(message "Extracting %s" name) |
(unless (file-directory-p name) |
392 |
(if (and dir (not (file-exists-p dir))) |
(message "Extracting %s" name) |
393 |
(make-directory dir t)) |
(if (and dir (not (file-exists-p dir))) |
394 |
(write-region start end name) |
(make-directory dir t)) |
395 |
(set-file-modes name (tar-header-mode tokens))))) |
(write-region start end name) |
396 |
|
(set-file-modes name (tar-header-mode tokens)))))) |
397 |
(set-buffer-multibyte multibyte)))) |
(set-buffer-multibyte multibyte)))) |
398 |
|
|
399 |
(defun tar-summarize-buffer () |
(defun tar-summarize-buffer () |
605 |
(not tar-subfile-mode) |
(not tar-subfile-mode) |
606 |
(> (prefix-numeric-value p) 0))) |
(> (prefix-numeric-value p) 0))) |
607 |
(cond (tar-subfile-mode |
(cond (tar-subfile-mode |
608 |
(make-local-variable 'local-write-file-hooks) |
(add-hook 'write-file-functions 'tar-subfile-save-buffer nil t) |
|
(setq local-write-file-hooks '(tar-subfile-save-buffer)) |
|
609 |
;; turn off auto-save. |
;; turn off auto-save. |
610 |
(auto-save-mode -1) |
(auto-save-mode -1) |
611 |
(setq buffer-auto-save-file-name nil) |
(setq buffer-auto-save-file-name nil) |
612 |
(run-hooks 'tar-subfile-mode-hook)) |
(run-hooks 'tar-subfile-mode-hook)) |
613 |
(t |
(t |
614 |
(kill-local-variable 'local-write-file-hooks)))) |
(remove-hook 'write-file-functions 'tar-subfile-save-buffer t)))) |
615 |
|
|
616 |
|
|
617 |
;; Revert the buffer and recompute the dired-like listing. |
;; Revert the buffer and recompute the dired-like listing. |