Mercurial > emacs
comparison lisp/tar-mode.el @ 7078:cf120e7b7d2c
(tar-extract): Don't put whole file name in buffer name.
Do put it in list-buffers-directory.
Save mode line space when mentioning the tar file name.
(tar-subfile-mode): Don't add anything to minor-mode-alist.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 24 Apr 1994 08:32:32 +0000 |
parents | 4e76332f7b44 |
children | cf0b24d47cdd |
comparison
equal
deleted
inserted
replaced
7077:4c0af7fbb42e | 7078:cf120e7b7d2c |
---|---|
560 associated tar-file buffer. You must save that buffer to actually | 560 associated tar-file buffer. You must save that buffer to actually |
561 save your changes to disk." | 561 save your changes to disk." |
562 (interactive "P") | 562 (interactive "P") |
563 (or (and (boundp 'tar-superior-buffer) tar-superior-buffer) | 563 (or (and (boundp 'tar-superior-buffer) tar-superior-buffer) |
564 (error "This buffer is not an element of a tar file")) | 564 (error "This buffer is not an element of a tar file")) |
565 (or (assq 'tar-subfile-mode minor-mode-alist) | 565 ;;; Don't do this, because it is redundant and wastes mode line space. |
566 (setq minor-mode-alist (append minor-mode-alist | 566 ;;; (or (assq 'tar-subfile-mode minor-mode-alist) |
567 (list '(tar-subfile-mode | 567 ;;; (setq minor-mode-alist (append minor-mode-alist |
568 " TarFile"))))) | 568 ;;; (list '(tar-subfile-mode " TarFile"))))) |
569 (make-local-variable 'tar-subfile-mode) | 569 (make-local-variable 'tar-subfile-mode) |
570 (setq tar-subfile-mode | 570 (setq tar-subfile-mode |
571 (if (null p) | 571 (if (null p) |
572 (not tar-subfile-mode) | 572 (not tar-subfile-mode) |
573 (> (prefix-numeric-value p) 0))) | 573 (> (prefix-numeric-value p) 0))) |
648 (name (tar-header-name tokens)) | 648 (name (tar-header-name tokens)) |
649 (size (tar-header-size tokens)) | 649 (size (tar-header-size tokens)) |
650 (start (+ (tar-desc-data-start descriptor) tar-header-offset -1)) | 650 (start (+ (tar-desc-data-start descriptor) tar-header-offset -1)) |
651 (end (+ start size))) | 651 (end (+ start size))) |
652 (let* ((tar-buffer (current-buffer)) | 652 (let* ((tar-buffer (current-buffer)) |
653 (tarname (file-name-nondirectory (buffer-file-name))) | |
653 (bufname (concat (file-name-nondirectory name) | 654 (bufname (concat (file-name-nondirectory name) |
654 " (" name " in " | 655 " (" |
655 (file-name-nondirectory (buffer-file-name)) | 656 tarname |
656 ")")) | 657 ")")) |
657 (read-only-p (or buffer-read-only view-p)) | 658 (read-only-p (or buffer-read-only view-p)) |
658 (buffer (get-buffer bufname)) | 659 (buffer (get-buffer bufname)) |
659 (just-created nil)) | 660 (just-created nil)) |
660 (if buffer | 661 (if buffer |
675 | 676 |
676 (make-local-variable 'tar-superior-buffer) | 677 (make-local-variable 'tar-superior-buffer) |
677 (make-local-variable 'tar-superior-descriptor) | 678 (make-local-variable 'tar-superior-descriptor) |
678 (setq tar-superior-buffer tar-buffer) | 679 (setq tar-superior-buffer tar-buffer) |
679 (setq tar-superior-descriptor descriptor) | 680 (setq tar-superior-descriptor descriptor) |
681 | |
682 ;; Since the "real" file name is not in buffer-file-name, | |
683 ;; put it here for list-buffers. | |
684 (make-local-variable 'list-buffers-directory) | |
685 (setq list-buffers-directory name) | |
686 | |
680 (tar-subfile-mode 1) | 687 (tar-subfile-mode 1) |
681 | 688 |
682 (setq buffer-read-only read-only-p) | 689 (setq buffer-read-only read-only-p) |
683 (set-buffer-modified-p nil)) | 690 (set-buffer-modified-p nil)) |
684 (set-buffer tar-buffer)) | 691 (set-buffer tar-buffer)) |