diff options
| author | Karl Heuer | 1994-04-25 18:26:20 +0000 |
|---|---|---|
| committer | Karl Heuer | 1994-04-25 18:26:20 +0000 |
| commit | 6a608e8ebf03dcb873fbe3002e1c6f3402c52b4a (patch) | |
| tree | 42ec436b413987ddef40751777af0fbf8f8a7e50 | |
| parent | bacafaf1e7aebc4d8fb3d029a3078768774f3d40 (diff) | |
| download | emacs-6a608e8ebf03dcb873fbe3002e1c6f3402c52b4a.tar.gz emacs-6a608e8ebf03dcb873fbe3002e1c6f3402c52b4a.zip | |
(tar-copy): Don't bother with a temp buffer.
| -rw-r--r-- | lisp/tar-mode.el | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el index 00fff38487b..b1edbe0375b 100644 --- a/lisp/tar-mode.el +++ b/lisp/tar-mode.el | |||
| @@ -749,23 +749,10 @@ the current tar-entry." | |||
| 749 | (size (tar-header-size tokens)) | 749 | (size (tar-header-size tokens)) |
| 750 | (start (+ (tar-desc-data-start descriptor) tar-header-offset -1)) | 750 | (start (+ (tar-desc-data-start descriptor) tar-header-offset -1)) |
| 751 | (end (+ start size))) | 751 | (end (+ start size))) |
| 752 | (let* ((tar-buffer (current-buffer)) | 752 | (save-restriction |
| 753 | buffer) | 753 | (widen) |
| 754 | (unwind-protect | 754 | (write-region start end to-file)) |
| 755 | (progn | 755 | (message "Copied tar entry %s to %s" name to-file))) |
| 756 | (setq buffer (generate-new-buffer "*tar-copy-tmp*")) | ||
| 757 | (widen) | ||
| 758 | (save-excursion | ||
| 759 | (set-buffer buffer) | ||
| 760 | (insert-buffer-substring tar-buffer start end) | ||
| 761 | (set-buffer-modified-p nil) ; in case we abort | ||
| 762 | (write-file to-file) | ||
| 763 | (message "Copied tar entry %s to %s" name to-file) | ||
| 764 | (set-buffer tar-buffer))) | ||
| 765 | (narrow-to-region 1 tar-header-offset) | ||
| 766 | (if buffer (kill-buffer buffer))) | ||
| 767 | ))) | ||
| 768 | |||
| 769 | 756 | ||
| 770 | (defun tar-flag-deleted (p &optional unflag) | 757 | (defun tar-flag-deleted (p &optional unflag) |
| 771 | "*In Tar mode, mark this sub-file to be deleted from the tar file. | 758 | "*In Tar mode, mark this sub-file to be deleted from the tar file. |