Mercurial > emacs
changeset 41170:e4b5d4e63bd3
(tar-mode): Use define-derived-mode.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Sat, 17 Nov 2001 00:04:29 +0000 |
parents | bda8f2e0fcc9 |
children | b36db0352ec7 |
files | lisp/tar-mode.el |
diffstat | 1 files changed, 9 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/tar-mode.el Sat Nov 17 00:00:26 2001 +0000 +++ b/lisp/tar-mode.el Sat Nov 17 00:04:29 2001 +0000 @@ -528,7 +528,7 @@ (put 'tar-subfile-mode 'mode-class 'special) ;;;###autoload -(defun tar-mode () +(define-derived-mode tar-mode nil "Tar" "Major mode for viewing a tar file as a dired-like listing of its contents. You can move around using the usual cursor motion commands. Letters no longer insert themselves. @@ -547,33 +547,21 @@ ;; mode on and off. You can corrupt things that way. ;; rms: with permanent locals, it should now be possible to make this work ;; interactively in some reasonable fashion. - (kill-all-local-variables) (make-local-variable 'tar-header-offset) (make-local-variable 'tar-parse-info) - (make-local-variable 'require-final-newline) - (setq require-final-newline nil) ; binary data, dude... - (make-local-variable 'revert-buffer-function) - (setq revert-buffer-function 'tar-mode-revert) - (make-local-variable 'local-enable-local-variables) - (setq local-enable-local-variables nil) - (make-local-variable 'next-line-add-newlines) - (setq next-line-add-newlines nil) + (set (make-local-variable 'require-final-newline) nil) ; binary data, dude... + (set (make-local-variable 'revert-buffer-function) 'tar-mode-revert) + (set (make-local-variable 'local-enable-local-variables) nil) + (set (make-local-variable 'next-line-add-newlines) nil) ;; Prevent loss of data when saving the file. - (make-local-variable 'file-precious-flag) - (setq file-precious-flag t) - (setq major-mode 'tar-mode) - (setq mode-name "Tar") - (use-local-map tar-mode-map) + (set (make-local-variable 'file-precious-flag) t) (auto-save-mode 0) - (make-local-variable 'write-contents-hooks) - (setq write-contents-hooks '(tar-mode-write-file)) + (set (make-local-variable 'write-contents-hooks) '(tar-mode-write-file)) (widen) (if (and (boundp 'tar-header-offset) tar-header-offset) (narrow-to-region 1 (byte-to-position tar-header-offset)) - (tar-summarize-buffer) - (tar-next-line 0)) - (run-hooks 'tar-mode-hook) - ) + (tar-summarize-buffer) + (tar-next-line 0))) (defun tar-subfile-mode (p)