X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/d29464908c97189207439d4ad610ad073dac352e..09fd8197ffbbd7e7fe6339f86a3477531d20ab27:/lisp/cus-start.el diff --git a/lisp/cus-start.el b/lisp/cus-start.el index 20bc6ade74..9ac98eb103 100644 --- a/lisp/cus-start.el +++ b/lisp/cus-start.el @@ -1,6 +1,7 @@ -;;; cus-start.el --- define customization properties of builtins. +;;; cus-start.el --- define customization properties of builtins ;; -;; Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc. +;; Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, +;; 2005, 2006 Free Software Foundation, Inc. ;; ;; Author: Per Abrahamsen ;; Keywords: internal @@ -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: ;; @@ -34,13 +35,11 @@ ;;; Code: -(let ((all '(;; abbrev.c +(let ((all '(;; abbrev.c (abbrev-all-caps abbrev-mode boolean) (pre-abbrev-expand-hook abbrev-mode hook) ;; alloc.c (gc-cons-threshold alloc integer) - (undo-limit undo integer) - (undo-strong-limit undo integer) (garbage-collection-messages alloc boolean) ;; buffer.c (mode-line-format modeline sexp) ;Hard to do right. @@ -53,17 +52,60 @@ (ctl-arrow display boolean) (truncate-lines display boolean) (selective-display-ellipses display boolean) - (transient-mark-mode editing-basics boolean) - (indicate-empty-lines display boolean "21.1") - (scroll-up-aggressively windows boolean "21.1") - (scroll-down-aggressively windows 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) @@ -83,8 +125,9 @@ (coding-system :tag "Single coding system" :value undecided) (function :value ignore)))) + (selection-coding-system mule coding-system) ;; dired.c - (completion-ignored-extensions dired + (completion-ignored-extensions dired (repeat (string :format "%v"))) ;; dispnew.c (baud-rate display integer) @@ -102,7 +145,7 @@ :value (nil) (symbol :format "%v")) (const :tag "always" t))) - (debug-on-error debug + (debug-on-error debug (choice (const :tag "off") (repeat :menu-tag "When" :value (nil) @@ -117,13 +160,20 @@ (const :tag "always" t))) ;; fileio.c (insert-default-directory minibuffer boolean) + (read-file-name-completion-ignore-case minibuffer boolean "22.1") ;; fns.c (use-dialog-box menu boolean "21.1") + (use-file-dialog menu boolean "22.1") ;; frame.c (default-frame-alist frames (repeat (cons :format "%v" (symbol :tag "Parameter") (sexp :tag "Value")))) + (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) ;; keyboard.c @@ -135,6 +185,7 @@ (polling-period keyboard integer) (double-click-time mouse (restricted-sexp :match-alternatives (integerp 'nil 't))) + (double-click-fuzz mouse integer) (inhibit-local-menu-bar-menus menu boolean) (help-char keyboard character) (help-event-list keyboard (repeat (sexp :format "%v"))) @@ -142,13 +193,41 @@ (suggest-key-bindings keyboard (choice (const :tag "off" nil) (integer :tag "time" 2) (other :tag "on"))) - ;; lread.c + ;; 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") ;; This is not good news because it will use the wrong ;; version-specific directories when you upgrade. We need ;; customization of the front of the list, maintaining the standard ;; value intact at the back. -;;; (load-path environment +;;; (load-path environment ;;; (repeat (choice :tag "[Current dir?]" ;;; :format "%[Current dir?%] %v" ;;; (const :tag " current dir" nil) @@ -156,6 +235,10 @@ ;; minibuf.c (completion-auto-help minibuffer boolean) (enable-recursive-minibuffers minibuffer boolean) + (history-length minibuffer + (choice (const :tag "Infinite" t) + integer)) + (history-delete-duplicates minibuffer boolean) (minibuffer-prompt-properties minibuffer (list @@ -165,7 +248,7 @@ :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 @@ -190,13 +273,31 @@ ;; syntax.c (parse-sexp-ignore-comments editing-basics boolean) (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 function) - (display-buffer-function windows function) + (temp-buffer-show-function windows (choice (const nil) function)) + (display-buffer-function windows (choice (const nil) function)) (pop-up-frames frames boolean) (pop-up-frame-function frames function) - (special-display-buffer-names - frames + (special-display-buffer-names + frames (repeat (choice :tag "Buffer" :value "" (string :format "%v") @@ -209,7 +310,7 @@ (symbol :tag "Parameter") (sexp :tag "Value"))))))) (special-display-regexps - frames + frames (repeat (choice :tag "Buffer" :value "" (regexp :format "%v") @@ -236,23 +337,35 @@ (scroll-step windows integer) (scroll-conservatively windows integer) (scroll-margin windows integer) + (hscroll-margin windows integer "21.3") + (hscroll-step windows number "21.3") (truncate-partial-width-windows display boolean) (mode-line-inverse-video modeline boolean) + (mode-line-in-non-selected-windows modeline boolean "21.3") (line-number-display-limit display (choice integer (const :tag "No limit" nil))) + (line-number-display-limit-width display integer) (highlight-nonselected-windows display boolean) (message-log-max debug (choice (const :tag "Disable" nil) (integer :menu-tag "lines" :format "%v") (other :tag "Unlimited" t))) (unibyte-display-via-language-environment mule boolean) + (blink-cursor-alist cursor alist "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 "22.1") + (x-gtk-show-hidden-files 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-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) @@ -261,18 +374,22 @@ (and (listp sexp) (memq (car sexp) '(lambda))) (stringp sexp) -;; (and (fboundp 'characterp) -;; (characterp sexp)) (numberp sexp)) sexp (list 'quote sexp))))) - (while all + (while all (setq this (car all) all (cdr all) symbol (nth 0 this) 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 @@ -281,6 +398,20 @@ (eq system-type 'ms-dos)) ((string-match "\\`w32-" (symbol-name symbol)) (eq system-type 'windows-nt)) + ((string-match "\\`mac-" (symbol-name symbol)) + (eq window-system 'mac)) + ((string-match "\\`x-.*gtk" (symbol-name symbol)) + (or (boundp 'gtk) + (and window-system + (not (eq window-system 'pc)) + (not (eq window-system 'mac)) + (not (eq system-type 'windows-nt))))) + ((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! @@ -288,8 +419,7 @@ (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 @@ -300,6 +430,12 @@ (put symbol 'custom-version version))))) (custom-add-to-group 'iswitchb 'read-buffer-function 'custom-variable) +(custom-add-to-group 'font-lock 'open-paren-in-column-0-is-defun-start + 'custom-variable) +(put 'selection-coding-system 'custom-set + (lambda (symbol value) + (set-selection-coding-system value) + (set symbol value))) ;; Record cus-start as loaded ;; if we have set up all the info that we can set up. @@ -308,4 +444,5 @@ (unless purify-flag (provide 'cus-start)) -;;; cus-start.el ends here. +;;; arch-tag: 4502730d-bcb3-4f5e-99a3-a86f2d54af60 +;;; cus-start.el ends here