Mercurial > emacs
changeset 111222:cdad894f9ed0
Remove duplicate Lisp definitions of define-minor-mode variables defined in C.
* lisp/abbrev.el (abbrev-mode):
* lisp/composite.el (auto-composition-mode):
* lisp/menu-bar.el (menu-bar-mode):
* lisp/simple.el (transient-mark-mode):
* lisp/tool-bar.el (tool-bar-mode): Adjust the define-minor-mode calls so
that they do not define the associated variables twice.
* lisp/simple.el (transient-mark-mode): Remove defvar.
* lisp/composite.el (auto-composition-mode): Make variable auto-buffer-local.
* lisp/cus-start.el: Add transient-mark-mode, menu-bar-mode, tool-bar-mode.
Handle multiple groups, and also custom-delayed-init-variables.
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix.
* src/buffer.c (syms_of_buffer) <abbrev-mode, transient-mark-mode>:
* src/frame.c (syms_of_frame) <tool-bar-mode>: Move docs here from Lisp.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Thu, 28 Oct 2010 20:29:29 -0700 |
parents | e2284aa4cad3 |
children | 0cd3fc7f7dba |
files | lisp/ChangeLog lisp/abbrev.el lisp/composite.el lisp/cus-start.el lisp/emacs-lisp/easy-mmode.el lisp/menu-bar.el lisp/simple.el lisp/tool-bar.el src/ChangeLog src/buffer.c src/frame.c |
diffstat | 11 files changed, 81 insertions(+), 48 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Thu Oct 28 21:05:38 2010 -0400 +++ b/lisp/ChangeLog Thu Oct 28 20:29:29 2010 -0700 @@ -1,3 +1,17 @@ +2010-10-29 Glenn Morris <rgm@gnu.org> + + * abbrev.el (abbrev-mode): + * composite.el (auto-composition-mode): + * menu-bar.el (menu-bar-mode): + * simple.el (transient-mark-mode): + * tool-bar.el (tool-bar-mode): Adjust the define-minor-mode calls so + that they do not define the associated variables twice. + * simple.el (transient-mark-mode): Remove defvar. + * composite.el (auto-composition-mode): Make variable auto-buffer-local. + * cus-start.el: Add transient-mark-mode, menu-bar-mode, tool-bar-mode. + Handle multiple groups, and also custom-delayed-init-variables. + * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix. + 2010-10-29 Stefan Monnier <monnier@iro.umontreal.ca> * emacs-lisp/pcase.el (pcase): New `string' and `guard' patterns.
--- a/lisp/abbrev.el Thu Oct 28 21:05:38 2010 -0400 +++ b/lisp/abbrev.el Thu Oct 28 20:29:29 2010 -0700 @@ -57,7 +57,9 @@ "Toggle Abbrev mode in the current buffer. With optional argument ARG, turn abbrev mode on if ARG is positive, otherwise turn it off. In Abbrev mode, inserting an -abbreviation causes it to expand and be replaced by its expansion.") +abbreviation causes it to expand and be replaced by its expansion." + ;; It's defined in C, this stops the d-m-m macro defining it again. + :variable abbrev-mode) (put 'abbrev-mode 'safe-local-variable 'booleanp)
--- a/lisp/composite.el Thu Oct 28 21:05:38 2010 -0400 +++ b/lisp/composite.el Thu Oct 28 20:29:29 2010 -0700 @@ -743,7 +743,11 @@ by functions registered in `composition-function-table' (which see). You can use `global-auto-composition-mode' to turn on -Auto Composition mode in all buffers (this is the default).") +Auto Composition mode in all buffers (this is the default)." + ;; It's defined in C, this stops the d-m-m macro defining it again. + :variable auto-composition-mode) +;; It's not defined with DEFVAR_PER_BUFFER though. +(make-variable-buffer-local 'auto-composition-mode) ;;;###autoload (define-minor-mode global-auto-composition-mode @@ -757,5 +761,4 @@ -;; arch-tag: ee703d77-1723-45d4-a31f-e9f0f867aa33 ;;; composite.el ends here
--- a/lisp/cus-start.el Thu Oct 28 21:05:38 2010 -0400 +++ b/lisp/cus-start.el Thu Oct 28 20:29:29 2010 -0700 @@ -101,6 +101,9 @@ :set #'(lambda (symbol value) (set-default symbol value) (force-mode-line-update t))) + (transient-mark-mode editing-basics boolean nil + (not noninteractive) + :initialize custom-initialize-delay) ;; callint.c (mark-even-if-inactive editing-basics boolean) ;; callproc.c @@ -185,6 +188,8 @@ (other :tag "hidden by keypress" 1)) "22.1") (make-pointer-invisible mouse boolean "23.2") + (menu-bar-mode frames boolean) + (tool-bar-mode (frames mouse) boolean) ;; fringe.c (overflow-newline-into-fringe fringe boolean) ;; indent.c @@ -452,11 +457,17 @@ (put symbol 'safe-local-variable (cadr prop))) (if (setq prop (memq :risky rest)) (put symbol 'risky-local-variable (cadr prop))) + ;; Note this is the _only_ initialize property we handle. + (if (eq (cadr (memq :initialize rest)) 'custom-initialize-delay) + (push symbol custom-delayed-init-variables)) ;; If this is NOT while dumping Emacs, ;; set up the rest of the customization info. (unless purify-flag - ;; Add it to the right group. - (custom-add-to-group group symbol 'custom-variable) + ;; Add it to the right group(s). + (if (listp group) + (dolist (g group) + (custom-add-to-group g symbol 'custom-variable)) + (custom-add-to-group group symbol 'custom-variable)) ;; Set the type. (put symbol 'custom-type type) (put symbol 'custom-version version)
--- a/lisp/emacs-lisp/easy-mmode.el Thu Oct 28 21:05:38 2010 -0400 +++ b/lisp/emacs-lisp/easy-mmode.el Thu Oct 28 20:29:29 2010 -0700 @@ -119,7 +119,8 @@ of the variable MODE to store the state of the mode. PLACE can also be of the form (GET . SET) where GET is an expression that returns the current state and SET is a function that takes - a new state and sets it. + a new state and sets it. If you specify a :variable, this + function assumes it is defined elsewhere. For example, you could write (define-minor-mode foo-mode \"If enabled, foo on you!\" @@ -196,6 +197,7 @@ `(:group ',(intern (replace-regexp-in-string "-mode\\'" "" mode-name))))) + ;; TODO? Mark booleans as safe if booleanp? Eg abbrev-mode. (unless type (setq type '(:type 'boolean))) `(progn @@ -583,5 +585,4 @@ (provide 'easy-mmode) -;; arch-tag: d48a5250-6961-4528-9cb0-3c9ea042a66a ;;; easy-mmode.el ends here
--- a/lisp/menu-bar.el Thu Oct 28 21:05:38 2010 -0400 +++ b/lisp/menu-bar.el Thu Oct 28 20:29:29 2010 -0700 @@ -2073,7 +2073,8 @@ turn on menu bars; otherwise, turn off menu bars." :init-value t :global t - :group 'frames + ;; It's defined in C/cus-start, this stops the d-m-m macro defining it again. + :variable menu-bar-mode ;; Turn the menu-bars on all frames on or off. (let ((val (if menu-bar-mode 1 0)))
--- a/lisp/simple.el Thu Oct 28 21:05:38 2010 -0400 +++ b/lisp/simple.el Thu Oct 28 20:29:29 2010 -0700 @@ -1,8 +1,8 @@ ;;; simple.el --- basic editing commands for Emacs -;; Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -;; 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -;; Free Software Foundation, Inc. +;; Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998, +;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, +;; 2010 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: internal @@ -4051,29 +4051,8 @@ \"mark.*active\" at the prompt, to see the documentation of commands which are sensitive to the Transient Mark mode." :global t - :init-value (not noninteractive) - :initialize 'custom-initialize-delay - :group 'editing-basics) - -;; The variable transient-mark-mode is ugly: it can take on special -;; values. Document these here. -(defvar transient-mark-mode t - "*Non-nil if Transient Mark mode is enabled. -See the command `transient-mark-mode' for a description of this minor mode. - -Non-nil also enables highlighting of the region whenever the mark is active. -The variable `highlight-nonselected-windows' controls whether to highlight -all windows or just the selected window. - -If the value is `lambda', that enables Transient Mark mode temporarily. -After any subsequent action that would normally deactivate the mark -\(such as buffer modification), Transient Mark mode is turned off. - -If the value is (only . OLDVAL), that enables Transient Mark mode -temporarily. After any subsequent point motion command that is not -shift-translated, or any other action that would normally deactivate -the mark (such as buffer modification), the value of -`transient-mark-mode' is set to OLDVAL.") + ;; It's defined in C/cus-start, this stops the d-m-m macro defining it again. + :variable transient-mark-mode) (defvar widen-automatically t "Non-nil means it is ok for commands to call `widen' when they want to.
--- a/lisp/tool-bar.el Thu Oct 28 21:05:38 2010 -0400 +++ b/lisp/tool-bar.el Thu Oct 28 20:29:29 2010 -0700 @@ -1,8 +1,8 @@ ;;; tool-bar.el --- setting up the tool bar -;; -;; Copyright (C) 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. -;; + +;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, +;; 2009, 2010 Free Software Foundation, Inc. + ;; Author: Dave Love <fx@gnu.org> ;; Keywords: mouse frames ;; Package: emacs @@ -51,8 +51,8 @@ conveniently adding tool bar items." :init-value t :global t - :group 'mouse - :group 'frames + ;; It's defined in C/cus-start, this stops the d-m-m macro defining it again. + :variable tool-bar-mode (let ((val (if tool-bar-mode 1 0))) (dolist (frame (frame-list)) (set-frame-parameter frame 'tool-bar-lines val)) @@ -325,10 +325,10 @@ :initialize 'custom-initialize-default :set (lambda (sym val) (set-default sym val) - (modify-all-frames-parameters + (modify-all-frames-parameters (list (cons 'tool-bar-position val)))))) (provide 'tool-bar) -;; arch-tag: 15f30f0a-d0d7-4d50-bbb7-f48fd0c8582f + ;;; tool-bar.el ends here
--- a/src/ChangeLog Thu Oct 28 21:05:38 2010 -0400 +++ b/src/ChangeLog Thu Oct 28 20:29:29 2010 -0700 @@ -1,3 +1,8 @@ +2010-10-29 Glenn Morris <rgm@gnu.org> + + * buffer.c (syms_of_buffer) <abbrev-mode, transient-mark-mode>: + * frame.c (syms_of_frame) <tool-bar-mode>: Move doc here from Lisp. + 2010-10-26 Juanma Barranquero <lekktu@gmail.com> * eval.c (init_eval_once): Set max_lisp_eval_depth to 600;
--- a/src/buffer.c Thu Oct 28 21:05:38 2010 -0400 +++ b/src/buffer.c Thu Oct 28 20:29:29 2010 -0700 @@ -5600,7 +5600,8 @@ doc: /* Local (mode-specific) abbrev table of current buffer. */); DEFVAR_PER_BUFFER ("abbrev-mode", ¤t_buffer->abbrev_mode, Qnil, - doc: /* Non-nil turns on automatic expansion of abbrevs as they are inserted. */); + doc: /* Non-nil if Abbrev mode is enabled. +Use the command `abbrev-mode' to change this variable. */); DEFVAR_PER_BUFFER ("case-fold-search", ¤t_buffer->case_fold_search, Qnil, @@ -6098,11 +6099,23 @@ If the buffer has never been shown in a window, the value is nil. */); DEFVAR_LISP ("transient-mark-mode", &Vtransient_mark_mode, - doc: /* */); + doc: /* Non-nil if Transient Mark mode is enabled. +See the command `transient-mark-mode' for a description of this minor mode. + +Non-nil also enables highlighting of the region whenever the mark is active. +The variable `highlight-nonselected-windows' controls whether to highlight +all windows or just the selected window. + +If the value is `lambda', that enables Transient Mark mode temporarily. +After any subsequent action that would normally deactivate the mark +\(such as buffer modification), Transient Mark mode is turned off. + +If the value is (only . OLDVAL), that enables Transient Mark mode +temporarily. After any subsequent point motion command that is not +shift-translated, or any other action that would normally deactivate +the mark (such as buffer modification), the value of +`transient-mark-mode' is set to OLDVAL. */); Vtransient_mark_mode = Qnil; - /* The docstring is in simple.el. If we put it here, it would be - overwritten when transient-mark-mode is defined using - define-minor-mode. */ DEFVAR_LISP ("inhibit-read-only", &Vinhibit_read_only, doc: /* *Non-nil means disregard read-only status of buffers or characters.
--- a/src/frame.c Thu Oct 28 21:05:38 2010 -0400 +++ b/src/frame.c Thu Oct 28 20:29:29 2010 -0700 @@ -4571,7 +4571,11 @@ Vmenu_bar_mode = Qt; DEFVAR_LISP ("tool-bar-mode", &Vtool_bar_mode, - doc: /* Non-nil if Tool-Bar mode is enabled. */); + doc: /* Non-nil if Tool-Bar mode is enabled. +See the command `tool-bar-mode' for a description of this minor mode. +Setting this variable directly does not take effect; +either customize it (see the info node `Easy Customization') +or call the function `tool-bar-mode'. */); Vtool_bar_mode = Qt; DEFVAR_KBOARD ("default-minibuffer-frame", Vdefault_minibuffer_frame,