mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-26 10:49:33 +00:00
(tar-mode, tar-mode-write-contents)
(tar-write-region-annotate): Undo Andreas's last change.
This commit is contained in:
parent
41ec3f54f6
commit
3006c8dcfb
@ -1,3 +1,8 @@
|
||||
2009-01-07 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* tar-mode.el (tar-mode, tar-mode-write-contents)
|
||||
(tar-write-region-annotate): Undo Andreas's last change.
|
||||
|
||||
2009-01-06 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* net/tramp.el (tramp-do-copy-or-rename-file-directly)
|
||||
|
@ -637,7 +637,10 @@ See also: variables `tar-update-datestamp' and `tar-anal-blocksize'.
|
||||
;; buffer for the summary.
|
||||
(assert (not (tar-data-swapped-p)))
|
||||
(set (make-local-variable 'revert-buffer-function) 'tar-mode-revert)
|
||||
(add-hook 'write-contents-functions 'tar-mode-write-contents nil t)
|
||||
;; We started using write-contents-functions, but this hook is not
|
||||
;; used during auto-save, so we now use
|
||||
;; write-region-annotate-functions which hooks at a lower-level.
|
||||
(add-hook 'write-region-annotate-functions 'tar-write-region-annotate nil t)
|
||||
(add-hook 'kill-buffer-hook 'tar-mode-kill-buffer-hook nil t)
|
||||
(add-hook 'change-major-mode-hook 'tar-change-major-mode-hook nil t)
|
||||
;; Tar data is made of bytes, not chars.
|
||||
@ -1213,18 +1216,15 @@ Leaves the region wide."
|
||||
(insert (make-string (- goal-end (point-max)) ?\0))))))))
|
||||
|
||||
|
||||
;; Used in write-contents-functions to write tar-files out correctly.
|
||||
(defun tar-mode-write-contents ()
|
||||
(save-excursion
|
||||
(unwind-protect
|
||||
(progn
|
||||
(when (tar-data-swapped-p) (tar-swap-data))
|
||||
(write-region nil nil buffer-file-name nil t))
|
||||
(unless (tar-data-swapped-p) (tar-swap-data))))
|
||||
;; Used in write-region-annotate-functions to write tar-files out correctly.
|
||||
(defun tar-write-region-annotate (start end)
|
||||
;; When called from write-file (and auto-save), `start' is nil.
|
||||
;; When called from M-x write-region, we assume the user wants to save
|
||||
;; (part of) the summary, not the tar data.
|
||||
(unless (or start (not (tar-data-swapped-p)))
|
||||
(tar-clear-modification-flags)
|
||||
(set-buffer-modified-p nil)
|
||||
;; Return t because we've written the file.
|
||||
t)
|
||||
(set-buffer tar-data-buffer)
|
||||
nil))
|
||||
|
||||
(provide 'tar-mode)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user