emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r102143: Remove duplicate Lisp defini


From: Glenn Morris
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r102143: Remove duplicate Lisp definitions of define-minor-mode variables defined in C.
Date: Thu, 28 Oct 2010 20:29:29 -0700
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 102143
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Thu 2010-10-28 20:29:29 -0700
message:
  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.
modified:
  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
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2010-10-29 01:05:38 +0000
+++ b/lisp/ChangeLog    2010-10-29 03:29:29 +0000
@@ -1,3 +1,17 @@
+2010-10-29  Glenn Morris  <address@hidden>
+
+       * 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  <address@hidden>
 
        * emacs-lisp/pcase.el (pcase): New `string' and `guard' patterns.

=== modified file 'lisp/abbrev.el'
--- a/lisp/abbrev.el    2010-10-27 06:50:28 +0000
+++ b/lisp/abbrev.el    2010-10-29 03:29:29 +0000
@@ -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)
 

=== modified file 'lisp/composite.el'
--- a/lisp/composite.el 2010-10-14 14:32:27 +0000
+++ b/lisp/composite.el 2010-10-29 03:29:29 +0000
@@ -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

=== modified file 'lisp/cus-start.el'
--- a/lisp/cus-start.el 2010-10-24 00:58:22 +0000
+++ b/lisp/cus-start.el 2010-10-29 03:29:29 +0000
@@ -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)

=== modified file 'lisp/emacs-lisp/easy-mmode.el'
--- a/lisp/emacs-lisp/easy-mmode.el     2010-08-29 16:17:13 +0000
+++ b/lisp/emacs-lisp/easy-mmode.el     2010-10-29 03:29:29 +0000
@@ -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

=== modified file 'lisp/menu-bar.el'
--- a/lisp/menu-bar.el  2010-10-28 07:05:00 +0000
+++ b/lisp/menu-bar.el  2010-10-29 03:29:29 +0000
@@ -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)))

=== modified file 'lisp/simple.el'
--- a/lisp/simple.el    2010-10-28 03:49:40 +0000
+++ b/lisp/simple.el    2010-10-29 03:29:29 +0000
@@ -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.

=== modified file 'lisp/tool-bar.el'
--- a/lisp/tool-bar.el  2010-09-21 07:01:22 +0000
+++ b/lisp/tool-bar.el  2010-10-29 03:29:29 +0000
@@ -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 <address@hidden>
 ;; 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

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2010-10-26 22:23:09 +0000
+++ b/src/ChangeLog     2010-10-29 03:29:29 +0000
@@ -1,3 +1,8 @@
+2010-10-29  Glenn Morris  <address@hidden>
+
+       * 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  <address@hidden>
 
        * eval.c (init_eval_once): Set max_lisp_eval_depth to 600;

=== modified file 'src/buffer.c'
--- a/src/buffer.c      2010-10-23 21:13:39 +0000
+++ b/src/buffer.c      2010-10-29 03:29:29 +0000
@@ -5600,7 +5600,8 @@
                     doc: /* Local (mode-specific) abbrev table of current 
buffer.  */);
 
   DEFVAR_PER_BUFFER ("abbrev-mode", &current_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", &current_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.

=== modified file 'src/frame.c'
--- a/src/frame.c       2010-10-24 21:36:09 +0000
+++ b/src/frame.c       2010-10-29 03:29:29 +0000
@@ -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,


reply via email to

[Prev in Thread] Current Thread [Next in Thread]