]> code.delx.au - gnu-emacs/blobdiff - lisp/cus-start.el
Merge from emacs--devo--0
[gnu-emacs] / lisp / cus-start.el
index fc293734495821d56821569d9b92824472aab772..e2cb65c82c4ebdb2420b29cb64181f1b6327b9c3 100644 (file)
@@ -1,6 +1,7 @@
 ;;; cus-start.el --- define customization properties of builtins
 ;;
-;; Copyright (C) 1997, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006, 2007 Free Software Foundation, Inc.
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: internal
@@ -9,7 +10,7 @@
 
 ;; GNU Emacs is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
+;; the Free Software Foundation; either version 3, or (at your option)
 ;; any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
@@ -19,8 +20,8 @@
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 ;;
             (pre-abbrev-expand-hook abbrev-mode hook)
             ;; alloc.c
             (gc-cons-threshold alloc integer)
-            (undo-limit undo integer)
-            (undo-strong-limit undo integer)
-            (undo-outer-limit undo
-                              (choice integer
-                                      (const :tag "No limit"
-                                             :format "%t\n%d"
-                                             :doc
-                                             "With this choice, \
-the undo info for the current command never gets discarded.
-This should only be chosen under exceptional circumstances,
-since it could result in memory overflow and make Emacs crash."
-                                             nil))
-                              "21.4")
             (garbage-collection-messages alloc boolean)
             ;; buffer.c
             (mode-line-format modeline sexp) ;Hard to do right.
@@ -64,20 +52,60 @@ since it could result in memory overflow and make Emacs crash."
             (ctl-arrow display boolean)
             (truncate-lines display boolean)
             (selective-display-ellipses display boolean)
-            (indicate-empty-lines display boolean "21.1")
+            (indicate-empty-lines fringe boolean)
+            (indicate-buffer-boundaries
+             fringe
+             (choice
+              (const :tag "No indicators" nil)
+              (const :tag "On left, with arrows" left)
+              (const :tag "On right, with arrows" right)
+              (set :tag "Pick your own design"
+                   :value ((t . nil))
+                   :format "%{%t%}:\n%v\n%d"
+                   :doc "You can specify a default and then override it \
+for individual indicators.
+Leaving \"Default\" unchecked is equivalent with specifying a default of
+\"Do not show\"."
+                   (choice :tag "Default"
+                           :value (t . nil)
+                           (const :tag "Do not show" (t . nil))
+                           (const :tag "On the left" (t . left))
+                           (const :tag "On the right" (t . right)))
+                   (choice :tag "Top"
+                           :value (top . left)
+                           (const :tag "Do not show" (top . nil))
+                           (const :tag "On the left" (top . left))
+                           (const :tag "On the right" (top . right)))
+                   (choice :tag "Bottom"
+                           :value (bottom . left)
+                           (const :tag "Do not show" (bottom . nil))
+                           (const :tag "On the left" (bottom . left))
+                           (const :tag "On the right" (bottom . right)))
+                   (choice :tag "Up arrow"
+                           :value (up . left)
+                           (const :tag "Do not show" (up . nil))
+                           (const :tag "On the left" (up . left))
+                           (const :tag "On the right" (up . right)))
+                   (choice :tag "Down arrow"
+                           :value (down . left)
+                           (const :tag "Do not show" (down . nil))
+                           (const :tag "On the left" (down . left))
+                           (const :tag "On the right" (down . right))))
+              (other :tag "On left, no arrows" t)))
             (scroll-up-aggressively windows
                                     (choice (const :tag "off" nil) number)
                                     "21.1")
             (scroll-down-aggressively windows
                                       (choice (const :tag "off" nil) number)
                                       "21.1")
+            (line-spacing display (choice (const :tag "none" nil) integer))
             ;; callint.c
             (mark-even-if-inactive editing-basics boolean)
             ;; callproc.c
             (shell-file-name execute file)
             (exec-path execute
-                       (repeat (choice (const :tag "default" nil)
-                                       (file :format "%v"))))
+                       (repeat (choice (const :tag "default directory" nil)
+                                       (directory :format "%v"))))
             ;; coding.c
             (inhibit-eol-conversion mule boolean)
             (eol-mnemonic-undecided mule string)
@@ -94,8 +122,11 @@ since it could result in memory overflow and make Emacs crash."
                                  :value (undecided . undecided)
                                  (coding-system :tag "Decoding")
                                  (coding-system :tag "Encoding"))
-                           (coding-system :tag "Single coding system"
-                                          :value undecided)
+                           (coding-system
+                            :tag "Single coding system"
+                            :value undecided
+                            :match (lambda (widget value)
+                                     (and value (not (functionp value)))))
                            (function :value ignore))))
             (selection-coding-system mule coding-system)
             ;; dired.c
@@ -111,6 +142,9 @@ since it could result in memory overflow and make Emacs crash."
             ;; eval.c
             (max-specpdl-size limits integer)
             (max-lisp-eval-depth limits integer)
+            (max-mini-window-height limits
+                                    (choice (const :tag "quarter screen" nil)
+                                            number))
             (stack-trace-on-error debug
                                   (choice (const :tag "off")
                                           (repeat :menu-tag "When"
@@ -132,10 +166,10 @@ since it could result in memory overflow and make Emacs crash."
                                    (const :tag "always" t)))
             ;; fileio.c
             (insert-default-directory minibuffer boolean)
-            (read-file-name-completion-ignore-case minibuffer boolean "21.4")
+            (read-file-name-completion-ignore-case minibuffer boolean "22.1")
             ;; fns.c
             (use-dialog-box menu boolean "21.1")
-            (use-file-dialog menu boolean "21.4")
+            (use-file-dialog menu boolean "22.1")
             ;; frame.c
             (default-frame-alist frames
               (repeat (cons :format "%v"
@@ -144,8 +178,10 @@ since it could result in memory overflow and make Emacs crash."
             (mouse-highlight mouse (choice (const :tag "disabled" nil)
                                            (const :tag "always shown" t)
                                            (other :tag "hidden by keypress" 1)))
+            ;; fringe.c
+            (overflow-newline-into-fringe fringe boolean)
             ;; indent.c
-            (indent-tabs-mode fill boolean)
+            (indent-tabs-mode indent boolean)
             ;; keyboard.c
             (meta-prefix-char keyboard character)
             (auto-save-interval auto-save integer)
@@ -163,6 +199,42 @@ since it could result in memory overflow and make Emacs crash."
             (suggest-key-bindings keyboard (choice (const :tag "off" nil)
                                                    (integer :tag "time" 2)
                                                    (other :tag "on")))
+            ;; macselect.c
+            (mac-dnd-known-types mac (repeat string) "22.1")
+            ;; macterm.c
+            (mac-control-modifier mac (choice (const :tag "No modifier" nil)
+                                              (const control) (const meta)
+                                              (const alt) (const hyper)
+                                              (const super)) "22.1")
+            (mac-command-modifier mac (choice (const :tag "No modifier" nil)
+                                              (const control) (const meta)
+                                              (const alt) (const hyper)
+                                              (const super)) "22.1")
+            (mac-option-modifier mac (choice (const :tag "No modifier (work as option)" nil)
+                                             (const control) (const meta)
+                                             (const alt) (const hyper)
+                                             (const super)) "22.1")
+            (mac-function-modifier mac
+                                   (choice (const :tag "No modifier (work as function)" nil)
+                                           (const control) (const meta)
+                                           (const alt) (const hyper)
+                                           (const super)) "22.1")
+            (mac-emulate-three-button-mouse mac
+                                            (choice (const :tag "No emulation" nil)
+                                                    (const :tag "Option->2, Command->3" t)
+                                                    (const :tag "Command->2, Option->3" reverse))
+                                   "22.1")
+            (mac-wheel-button-is-mouse-2 mac boolean "22.1")
+            (mac-pass-command-to-system mac boolean "22.1")
+            (mac-pass-control-to-system mac boolean "22.1")
+            (mac-allow-anti-aliasing mac boolean "22.1")
+            (mac-ts-script-language-on-focus mac
+                                             (choice (const :tag "System default behavior" nil)
+                                                     (const :tag "Restore to script/language used in the last focus frame" t)
+                                                     (cons :tag "Specify script/language"
+                                                           (integer :tag "Script code")
+                                                           (integer :tag "Language code")))
+                                             "22.1")
 
 ;; This is not good news because it will use the wrong
 ;; version-specific directories when you upgrade.  We need
@@ -189,7 +261,7 @@ since it could result in memory overflow and make Emacs crash."
                                 :format "%t%n%h"
                                 :inline t
                                 (read-only t))
-                         (const :tag "Inviolable"
+                         (const :tag "Don't Enter"
                                 :doc "Prevent point from ever entering prompt"
                                 :format "%t%n%h"
                                 :inline t
@@ -216,6 +288,22 @@ since it could result in memory overflow and make Emacs crash."
             (words-include-escapes editing-basics boolean)
             (open-paren-in-column-0-is-defun-start editing-basics boolean
                                                    "21.1")
+             ;; term.c
+             (visible-cursor cursor boolean "22.1")
+            ;; undo.c
+            (undo-limit undo integer)
+            (undo-strong-limit undo integer)
+            (undo-outer-limit undo
+                              (choice integer
+                                      (const :tag "No limit"
+                                             :format "%t\n%d"
+                                             :doc
+                                             "With this choice, \
+the undo info for the current command never gets discarded.
+This should only be chosen under exceptional circumstances,
+since it could result in memory overflow and make Emacs crash."
+                                             nil))
+                              "22.1")
             ;; window.c
             (temp-buffer-show-function windows (choice (const nil) function))
             (display-buffer-function windows (choice (const nil) function))
@@ -256,17 +344,21 @@ since it could result in memory overflow and make Emacs crash."
             (split-height-threshold windows integer)
             (window-min-height windows integer)
             (window-min-width windows integer)
-            (scroll-preserve-screen-position windows boolean)
+            (scroll-preserve-screen-position
+             windows (choice
+                      (const :tag "Off (nil)" :value nil)
+                      (const :tag "Full screen (t)" :value t)
+                      (other :tag "Always" 1)))
             (display-buffer-reuse-frames windows boolean "21.1")
             ;; xdisp.c
             (scroll-step windows integer)
             (scroll-conservatively windows integer)
             (scroll-margin windows integer)
-            (hscroll-margin windows integer "21.3")
-            (hscroll-step windows number "21.3")
+            (hscroll-margin windows integer "22.1")
+            (hscroll-step windows number "22.1")
             (truncate-partial-width-windows display boolean)
             (mode-line-inverse-video modeline boolean)
-            (mode-line-in-non-selected-windows modeline boolean "21.3")
+            (mode-line-in-non-selected-windows modeline boolean "22.1")
             (line-number-display-limit display
                                        (choice integer
                                                (const :tag "No limit" nil)))
@@ -277,18 +369,27 @@ since it could result in memory overflow and make Emacs crash."
                                                     :format "%v")
                                            (other :tag "Unlimited" t)))
             (unibyte-display-via-language-environment mule boolean)
-            (blink-cursor-alist cursor alist "21.4")
+            (blink-cursor-alist cursor alist "22.1")
+            (overline-margin display integer "22.1")
+             (mouse-autoselect-window
+             display (choice
+                      (const :tag "Off (nil)" :value nil)
+                      (const :tag "Immediate" :value t)
+                      (number :tag "Delay by secs" :value 0.5)) "22.1")
             ;; xfaces.c
             (scalable-fonts-allowed display boolean)
             ;; xfns.c
             (x-bitmap-file-path installation
                                 (repeat (directory :format "%v")))
-            (x-use-old-gtk-file-dialog menu boolean "21.4")
+            (x-gtk-use-old-file-dialog menu boolean "22.1")
+            (x-gtk-show-hidden-files menu boolean "22.1")
+            (x-gtk-file-dialog-help-text menu boolean "22.1")
+            (x-gtk-whole-detached-tool-bar x boolean "22.1")
             ;; xterm.c
-             (mouse-autoselect-window display boolean "21.3")
-            (x-use-underline-position-properties display boolean "21.3")
+            (x-use-underline-position-properties display boolean "22.1")
+            (x-underline-at-descent-line display boolean "22.1")
             (x-stretch-cursor display boolean "21.1")))
-      this symbol group type native-p version
+      this symbol group type standard version native-p
       ;; This function turns a value
       ;; into an expression which produces that value.
       (quoter (lambda (sexp)
@@ -297,8 +398,6 @@ since it could result in memory overflow and make Emacs crash."
                        (and (listp sexp)
                             (memq (car sexp) '(lambda)))
                        (stringp sexp)
-;;                     (and (fboundp 'characterp)
-;;                          (characterp sexp))
                        (numberp sexp))
                    sexp
                  (list 'quote sexp)))))
@@ -309,6 +408,12 @@ since it could result in memory overflow and make Emacs crash."
          group (nth 1 this)
          type (nth 2 this)
          version (nth 3 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))))
          ;; Don't complain about missing variables which are
          ;; irrelevant to this platform.
          native-p (save-match-data
@@ -317,8 +422,16 @@ since it could result in memory overflow and make Emacs crash."
                       (eq system-type 'ms-dos))
                      ((string-match "\\`w32-" (symbol-name symbol))
                       (eq system-type 'windows-nt))
+                     ((string-match "\\`mac-" (symbol-name symbol))
+                      (or (eq system-type 'mac) (eq system-type 'darwin)))
+                     ((string-match "\\`x-.*gtk" (symbol-name symbol))
+                      (featurep 'gtk))
                      ((string-match "\\`x-" (symbol-name symbol))
                       (fboundp 'x-create-frame))
+                     ((string-match "selection" (symbol-name symbol))
+                      (fboundp 'x-selection-exists-p))
+                     ((string-match "fringe" (symbol-name symbol))
+                      (fboundp 'define-fringe-bitmap))
                      (t t))))
     (if (not (boundp symbol))
        ;; If variables are removed from C code, give an error here!
@@ -326,8 +439,7 @@ since it could result in memory overflow and make Emacs crash."
             (message "Note, built-in variable `%S' not bound" symbol))
       ;; Save the standard value, unless we already did.
       (or (get symbol 'standard-value)
-         (put symbol 'standard-value
-              (list (funcall quoter (default-value symbol)))))
+         (put symbol 'standard-value (list standard)))
       ;; If this is NOT while dumping Emacs,
       ;; set up the rest of the customization info.
       (unless purify-flag