Mercurial > emacs
comparison lisp/tar-mode.el @ 108220:0b37f86b040e
Use define-minor-mode where applicable.
* mh-show.el (mh-showing-mode): Move function to mh-e.el.
* mh-e.el (mh-showing-mode):
* url-dired.el (url-dired-minor-mode):
* org-table.el (orgtbl-mode):
* view.el (view-mode):
* type-break.el (type-break-query-mode)
(type-break-mode-line-message-mode):
* textmodes/reftex.el (reftex-mode):
* term/vt100.el (vt100-wide-mode):
* tar-mode.el (tar-subfile-mode):
* savehist.el (savehist-mode):
* ibuf-ext.el (ibuffer-auto-mode):
* composite.el (auto-composition-mode):
* progmodes/vhdl-mode.el (vhdl-electric-mode, vhdl-stutter-mode):
Use define-minor-mode.
(vhdl-mode): Use static mode-line format.
(vhdl-mode-line-update): Delete.
(vhdl-create-mode-menu, vhdl-activate-customizations)
(vhdl-hs-minor-mode): Don't bother calling it.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Sun, 02 May 2010 22:29:46 -0400 |
parents | 1721e4658521 |
children | 6a7fb61524be |
comparison
equal
deleted
inserted
replaced
108219:252a60daa4fb | 108220:0b37f86b040e |
---|---|
135 :group 'tar) | 135 :group 'tar) |
136 | 136 |
137 (defvar tar-parse-info nil) | 137 (defvar tar-parse-info nil) |
138 (defvar tar-superior-buffer nil) | 138 (defvar tar-superior-buffer nil) |
139 (defvar tar-superior-descriptor nil) | 139 (defvar tar-superior-descriptor nil) |
140 (defvar tar-subfile-mode nil) | |
141 (defvar tar-file-name-coding-system nil) | 140 (defvar tar-file-name-coding-system nil) |
142 | 141 |
143 (put 'tar-superior-buffer 'permanent-local t) | 142 (put 'tar-superior-buffer 'permanent-local t) |
144 (put 'tar-superior-descriptor 'permanent-local t) | 143 (put 'tar-superior-descriptor 'permanent-local t) |
145 | 144 |
670 ;; revert to fundamental-mode. | 669 ;; revert to fundamental-mode. |
671 (fundamental-mode) | 670 (fundamental-mode) |
672 (signal (car err) (cdr err))))) | 671 (signal (car err) (cdr err))))) |
673 | 672 |
674 | 673 |
675 (defun tar-subfile-mode (p) | 674 (define-minor-mode tar-subfile-mode |
676 "Minor mode for editing an element of a tar-file. | 675 "Minor mode for editing an element of a tar-file. |
677 This mode arranges for \"saving\" this buffer to write the data | 676 This mode arranges for \"saving\" this buffer to write the data |
678 into the tar-file buffer that it came from. The changes will actually | 677 into the tar-file buffer that it came from. The changes will actually |
679 appear on disk when you save the tar-file's buffer." | 678 appear on disk when you save the tar-file's buffer." |
680 (interactive "P") | 679 ;; Don't do this, because it is redundant and wastes mode line space. |
680 ;; :lighter " TarFile" | |
681 nil nil nil | |
681 (or (and (boundp 'tar-superior-buffer) tar-superior-buffer) | 682 (or (and (boundp 'tar-superior-buffer) tar-superior-buffer) |
682 (error "This buffer is not an element of a tar file")) | 683 (error "This buffer is not an element of a tar file")) |
683 ;; Don't do this, because it is redundant and wastes mode line space. | |
684 ;; (or (assq 'tar-subfile-mode minor-mode-alist) | |
685 ;; (setq minor-mode-alist (append minor-mode-alist | |
686 ;; (list '(tar-subfile-mode " TarFile"))))) | |
687 (make-local-variable 'tar-subfile-mode) | |
688 (setq tar-subfile-mode | |
689 (if (null p) | |
690 (not tar-subfile-mode) | |
691 (> (prefix-numeric-value p) 0))) | |
692 (cond (tar-subfile-mode | 684 (cond (tar-subfile-mode |
693 (add-hook 'write-file-functions 'tar-subfile-save-buffer nil t) | 685 (add-hook 'write-file-functions 'tar-subfile-save-buffer nil t) |
694 ;; turn off auto-save. | 686 ;; turn off auto-save. |
695 (auto-save-mode -1) | 687 (auto-save-mode -1) |
696 (setq buffer-auto-save-file-name nil) | 688 (setq buffer-auto-save-file-name nil)) |
697 (run-hooks 'tar-subfile-mode-hook)) | |
698 (t | 689 (t |
699 (remove-hook 'write-file-functions 'tar-subfile-save-buffer t)))) | 690 (remove-hook 'write-file-functions 'tar-subfile-save-buffer t)))) |
700 | 691 |
701 | 692 |
702 ;; Revert the buffer and recompute the dired-like listing. | 693 ;; Revert the buffer and recompute the dired-like listing. |