From a91c76d6d92ded1a8029f736d30dc1a64932b2a3 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sat, 17 Nov 2001 00:04:29 +0000 Subject: [PATCH] (tar-mode): Use define-derived-mode. --- lisp/tar-mode.el | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el index 4c89f9b4caf..10fe019b3a5 100644 --- a/lisp/tar-mode.el +++ b/lisp/tar-mode.el @@ -528,7 +528,7 @@ is visible (and the real data of the buffer is hidden)." (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 @@ See also: variables `tar-update-datestamp' and `tar-anal-blocksize'. ;; 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) -- 2.39.5