;;; 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-2011 Free Software Foundation, Inc.
;;
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Keywords: internal
;;; Code:
+;; Elements of this list have the form:
+;; SYMBOL GROUP TYPE VERSION REST...
+;; SYMBOL is the name of the variable.
+;; GROUP is the custom group to which it belongs (may also be a list
+;; of groups)
+;; TYPE is the defcustom :type.
+;; VERSION is the defcustom :version (or nil).
+;; REST is a set of :KEYWORD VALUE pairs. Accepted :KEYWORDs are:
+;; :standard - standard value for SYMBOL (else use current value)
+;; :set - custom-set property
+;; :risky - risky-local-variable property
+;; :safe - safe-local-variable property
+;; :tag - custom-tag property
(let ((all '(;; alloc.c
(gc-cons-threshold alloc integer)
(garbage-collection-messages alloc boolean)
(line-spacing display (choice (const :tag "none" nil) integer)
"22.1")
(cursor-in-non-selected-windows
- cursor boolean nil t :tag "Cursor In Non-selected Windows"
- :set #'(lambda (symbol value)
- (set-default symbol value)
- (force-mode-line-update t)))
+ cursor boolean nil
+ :tag "Cursor In Non-selected Windows"
+ :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)
+ :standard (not noninteractive)
+ :initialize custom-initialize-delay
+ :set custom-set-minor-mode)
;; callint.c
(mark-even-if-inactive editing-basics boolean)
;; callproc.c
(max-mini-window-height limits
(choice (const :tag "quarter screen" nil)
number) "23.1")
- (stack-trace-on-error debug
- (choice (const :tag "off")
- (repeat :menu-tag "When"
- :value (nil)
- (symbol :format "%v"))
- (const :tag "always" t)))
(debug-on-error debug
(choice (const :tag "off")
(repeat :menu-tag "When"
(temporary-file-directory
;; Darwin section added 24.1, does not seem worth :version bump.
files directory nil
+ :standard
(file-name-as-directory
;; FIXME ? Should there be Ftemporary_file_directory to do this
;; more robustly (cf set_local_socket in emacsclient.c).
(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
+ ;; FIXME?
+; :initialize custom-initialize-default
+ :set custom-set-minor-mode)
+ (tool-bar-mode (frames mouse) boolean nil
+; :initialize custom-initialize-default
+ :set custom-set-minor-mode)
;; fringe.c
(overflow-newline-into-fringe fringe boolean)
;; indent.c
(suggest-key-bindings keyboard (choice (const :tag "off" nil)
(integer :tag "time" 2)
(other :tag "on")))
+ (debug-on-event debug
+ (choice (const :tag "None" nil)
+ (const :tag "When sent SIGUSR1" sigusr1)
+ (const :tag "When sent SIGUSR2" sigusr2))
+ "24.1")
;; This is not good news because it will use the wrong
;; version-specific directories when you upgrade. We need
(const control) (const meta)
(const alt) (const hyper)
(const super)) "23.1")
+ (ns-right-control-modifier
+ ns
+ (choice (const :tag "No modifier (work as control)" none)
+ (const :tag "Use the value of ns-control-modifier"
+ left)
+ (const control) (const meta)
+ (const alt) (const hyper)
+ (const super)) "24.0")
(ns-command-modifier
ns
(choice (const :tag "No modifier" nil)
(const control) (const meta)
(const alt) (const hyper)
(const super)) "23.1")
+ (ns-right-command-modifier
+ ns
+ (choice (const :tag "No modifier (work as command)" none)
+ (const :tag "Use the value of ns-command-modifier"
+ left)
+ (const control) (const meta)
+ (const alt) (const hyper)
+ (const super)) "24.0")
(ns-alternate-modifier
ns
(choice (const :tag "No modifier (work as alternate/option)" none)
(const alt) (const hyper)
(const super)) "23.1")
(ns-antialias-text ns boolean "23.1")
+ (ns-auto-hide-menu-bar ns boolean "24.0")
;; process.c
(delete-exited-processes processes-basics boolean)
;; syntax.c
(other :tag "Always" t))
"23.1")
;; xdisp.c
- (show-trailing-whitespace whitespace-faces boolean nil nil
+ (show-trailing-whitespace whitespace-faces boolean nil
:safe booleanp)
(scroll-step windows integer)
(scroll-conservatively windows integer)
group (nth 1 this)
type (nth 2 this)
version (nth 3 this)
+ rest (nthcdr 4 this)
;; If we did not specify any standard value expression above,
;; use the current value as the standard value.
- standard (if (nthcdr 4 this)
- (nth 4 this)
- (when (default-boundp symbol)
- (funcall quoter (default-value symbol))))
- rest (nthcdr 5 this)
+ standard (if (setq prop (memq :standard rest))
+ (cadr prop)
+ (if (default-boundp symbol)
+ (funcall quoter (default-value symbol))))
;; Don't complain about missing variables which are
;; irrelevant to this platform.
native-p (save-match-data
(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)
(custom-add-to-group group symbol 'custom-variable))
;; Set the type.
(put symbol 'custom-type type)
- (put symbol 'custom-version version)
+ (if version (put symbol 'custom-version version))
(while rest
(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 '(:standard :risky :safe :set))) ; handled above
((eq prop :tag)
(put symbol 'custom-tag propval))))))))