changeset 50506:6cc9a6c84a94

(minor-mode-list): New variable. (add-minor-mode): Add to it.
author Richard M. Stallman <rms@gnu.org>
date Wed, 09 Apr 2003 01:36:28 +0000
parents b4cb33eddbaa
children 110c0e29159c
files lisp/subr.el
diffstat 1 files changed, 11 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/subr.el	Wed Apr 09 01:34:38 2003 +0000
+++ b/lisp/subr.el	Wed Apr 09 01:36:28 2003 +0000
@@ -2094,6 +2094,14 @@
       (set-default-file-modes umask))))
 
 
+;; If a minor mode is not defined with define-minor-mode,
+;; add it here explicitly.
+;; isearch-mode is deliberately excluded, since you should
+;; not call it yourself.
+(defvar minor-mode-list '(auto-save-mode auto-fill-mode abbrev-mode
+					 overwrite-mode view-mode)
+  "List of all minor mode functions.")
+
 (defun add-minor-mode (toggle name &optional keymap after toggle-fun)
   "Register a new minor mode.
 
@@ -2118,6 +2126,9 @@
 If TOGGLE has a non-nil `:included' property, an entry for the mode is
 included in the mode-line minor mode menu.
 If TOGGLE has a `:menu-tag', that is used for the menu item's label."
+  (unless (memq toggle minor-mode-list)
+    (push toggle minor-mode-list))
+    
   (unless toggle-fun (setq toggle-fun toggle))
   ;; Add the name to the minor-mode-alist.
   (when name