changeset 111239:eacd26d376c3

Fix bug#7306; customization of minor-mode variables defined in C. * lisp/cus-start.el: Add :set properties for minor modes menu-bar-mode, tool-bar-mode, transient-mark-mode. Include the :set property in the dumped Emacs.
author Glenn Morris <rgm@gnu.org>
date Fri, 29 Oct 2010 19:27:44 -0700
parents a9904c1962db
children ffb890b32d37
files lisp/ChangeLog lisp/cus-start.el
diffstat 2 files changed, 23 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Fri Oct 29 15:20:28 2010 -0400
+++ b/lisp/ChangeLog	Fri Oct 29 19:27:44 2010 -0700
@@ -1,3 +1,9 @@
+2010-10-30  Glenn Morris  <rgm@gnu.org>
+
+	* cus-start.el: Add :set properties for minor modes menu-bar-mode,
+	tool-bar-mode, transient-mark-mode.  (Bug#7306)
+	Include the :set property in the dumped Emacs.
+
 2010-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	SMIE: change indent rules format, improve smie-setup.
--- a/lisp/cus-start.el	Fri Oct 29 15:20:28 2010 -0400
+++ b/lisp/cus-start.el	Fri Oct 29 19:27:44 2010 -0700
@@ -1,7 +1,7 @@
 ;;; cus-start.el --- define customization properties of builtins
 ;;
-;; Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+;;   2007, 2008, 2009, 2010  Free Software Foundation, Inc.
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: internal
@@ -103,7 +103,8 @@
 		       (force-mode-line-update t)))
 	     (transient-mark-mode editing-basics boolean nil
 				  (not noninteractive)
-				  :initialize custom-initialize-delay)
+				  :initialize custom-initialize-delay
+				  :set custom-set-minor-mode)
 	     ;; callint.c
 	     (mark-even-if-inactive editing-basics boolean)
 	     ;; callproc.c
@@ -217,8 +218,13 @@
 					    (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)
+	     (menu-bar-mode frames boolean nil t
+			    ;; FIXME?
+;			    :initialize custom-initialize-default
+			    :set custom-set-minor-mode)
+	     (tool-bar-mode (frames mouse) boolean nil t
+;			    :initialize custom-initialize-default
+			    :set custom-set-minor-mode)
 	     ;; fringe.c
 	     (overflow-newline-into-fringe fringe boolean)
 	     ;; indent.c
@@ -486,11 +492,14 @@
 	  (put symbol 'safe-local-variable (cadr prop)))
       (if (setq prop (memq :risky rest))
 	  (put symbol 'risky-local-variable (cadr prop)))
+      (if (setq prop (memq :set rest))
+	  (put symbol 'custom-set (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.
+      ;; If this is NOT while dumping Emacs, set up the rest of the
+      ;; customization info.  This is the stuff that is not needed
+      ;; until someone does M-x customize etc.
       (unless purify-flag
 	;; Add it to the right group(s).
 	(if (listp group)
@@ -504,9 +513,7 @@
 	  (setq prop (car rest)
 		propval (cadr rest)
 		rest (nthcdr 2 rest))
-	  (cond ((memq prop '(:risky :safe))) ; handled above
-		((eq prop :set)
-		 (put symbol 'custom-set propval))
+	  (cond ((memq prop '(:risky :safe :set))) ; handled above
 		((eq prop :tag)
 		 (put symbol 'custom-tag propval))))))))