# HG changeset patch # User Stefan Monnier # Date 1289514243 18000 # Node ID 300c16876a2ff87f75b282774284439943d5d897 # Parent 60e30155ac96837ac2212813e64d19b379ad6d68 * lisp/gnus/smime.el (smime-mode): Use define-derived-mode. (smime-mode-map): Move initialization into declaration. (gnus-run-mode-hooks): Don't autoload. diff -r 60e30155ac96 -r 300c16876a2f lisp/gnus/ChangeLog --- a/lisp/gnus/ChangeLog Thu Nov 11 16:11:17 2010 -0500 +++ b/lisp/gnus/ChangeLog Thu Nov 11 17:24:03 2010 -0500 @@ -1,3 +1,9 @@ +2010-11-11 Stefan Monnier + + * smime.el (smime-mode-map): Move initialization into declaration. + (gnus-run-mode-hooks): Don't autoload. + (smime-mode): Use define-derived-mode. + 2010-11-11 Glenn Morris * smime.el (from): Restrict declaration to XEmacs. diff -r 60e30155ac96 -r 300c16876a2f lisp/gnus/smime.el --- a/lisp/gnus/smime.el Thu Nov 11 16:11:17 2010 -0500 +++ b/lisp/gnus/smime.el Thu Nov 11 17:24:03 2010 -0500 @@ -649,20 +649,18 @@ (defvar smime-buffer "*SMIME*") -(defvar smime-mode-map nil) -(put 'smime-mode 'mode-class 'special) +(defvar smime-mode-map + (let ((map (make-sparse-keymap))) + (suppress-keymap map) + (define-key map "q" 'smime-exit) + (define-key map "f" 'smime-certificate-info) + map)) -(unless smime-mode-map - (setq smime-mode-map (make-sparse-keymap)) - (suppress-keymap smime-mode-map) - - (define-key smime-mode-map "q" 'smime-exit) - (define-key smime-mode-map "f" 'smime-certificate-info)) - -(autoload 'gnus-run-mode-hooks "gnus-util") (autoload 'gnus-completing-read "gnus-util") -(defun smime-mode () +(put 'smime-mode 'mode-class 'special) +(define-derived-mode smime-mode fundamental-mode ;special-mode + "SMIME" "Major mode for browsing, viewing and fetching certificates. All normal editing commands are switched off. @@ -671,16 +669,10 @@ The following commands are available: \\{smime-mode-map}" - (interactive) - (kill-all-local-variables) - (setq major-mode 'smime-mode) - (setq mode-name "SMIME") (setq mode-line-process nil) - (use-local-map smime-mode-map) (buffer-disable-undo) (setq truncate-lines t) - (setq buffer-read-only t) - (gnus-run-mode-hooks 'smime-mode-hook)) + (setq buffer-read-only t)) (defun smime-certificate-info (certfile) (interactive "fCertificate file: ")