Mercurial > emacs
diff lisp/tar-mode.el @ 7497:2308d6e6404c
(tar-extract): Put tar name into subfile visited name.
(tar-subfile-save-buffer): When updating the desc line,
insert new text after, then delete.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 14 May 1994 09:18:02 +0000 |
parents | 1e6adb18271b |
children | f29df49c6e53 |
line wrap: on
line diff
--- a/lisp/tar-mode.el Sat May 14 08:59:22 1994 +0000 +++ b/lisp/tar-mode.el Sat May 14 09:18:02 1994 +0000 @@ -683,7 +683,8 @@ (set-buffer buffer) (insert-buffer-substring tar-buffer start end) (goto-char 0) - (set-visited-file-name name) ; give it a name to decide mode. + ;; Give it a name for lit-buffers and to decide mode. + (set-visited-file-name (concat tarname ":" name)) (normal-mode) ; pick a mode. ;;; Without a file name, save-buffer doesn't work. ;;; (set-visited-file-name nil) ; nuke the name - not meaningful. @@ -1078,10 +1079,14 @@ (next-line position) (beginning-of-line) (let ((p (point)) + after (m (set-marker (make-marker) tar-header-offset))) (forward-line 1) - (delete-region p (point)) + (setq after (point)) + ;; Insert the new text after the old, before deleting, + ;; to preserve the window start. (insert-before-markers (summarize-tar-header-block tokens t) "\n") + (delete-region p after) (setq tar-header-offset (marker-position m))) ))) ;; after doing the insertion, add any final padding that may be necessary. @@ -1090,7 +1095,7 @@ (set-buffer-modified-p t) ; mark the tar file as modified (set-buffer subfile) (set-buffer-modified-p nil) ; mark the tar subfile as unmodified - (message "saved into tar-buffer \"%s\" - remember to save that buffer!" + (message "saved into tar-buffer `%s' -- remember to save that buffer!" (buffer-name tar-superior-buffer)) ;; Prevent ordinary saving from happening. t)))