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))