X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/eceeb5fca618f3bc0743c2388148dd758229c7c9..d64d97e537301a9787a569982d67eed8ecdabe8b:/lisp/cus-edit.el diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index 52308319f1..d19e2ded00 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -1,6 +1,6 @@ ;;; cus-edit.el --- tools for customizing Emacs and Lisp packages ;; -;; Copyright (C) 1996-1997, 1999-2012 Free Software Foundation, Inc. +;; Copyright (C) 1996-1997, 1999-2013 Free Software Foundation, Inc. ;; ;; Author: Per Abrahamsen ;; Maintainer: FSF @@ -371,7 +371,7 @@ :group 'editing) (defgroup mode-line nil - "Content of the modeline." + "Contents of the mode line." :group 'environment) (defgroup editing-basics nil @@ -443,6 +443,7 @@ (define-key map [remap self-insert-command] 'Custom-no-edit) (define-key map "\^m" 'Custom-newline) (define-key map " " 'scroll-up-command) + (define-key map [?\S-\ ] 'scroll-down-command) (define-key map "\177" 'scroll-down-command) (define-key map "\C-c\C-c" 'Custom-set) (define-key map "\C-x\C-s" 'Custom-save) @@ -526,7 +527,10 @@ WIDGET is the widget to apply the filter entries of MENU on." :type 'boolean) (defcustom custom-unlispify-remove-prefixes nil - "Non-nil means remove group prefixes from option names in buffer." + "Non-nil means remove group prefixes from option names in buffer. +Discarding prefixes often leads to confusing names for options +and faces in Customize buffers, so do not set this to a non-nil +value unless you are sure you know what it does." :group 'custom-menu :group 'custom-buffer :type 'boolean) @@ -1159,7 +1163,7 @@ Show the buffer in another window, but don't select it." (unless (eq symbol basevar) (message "`%s' is an alias for `%s'" symbol basevar)))) -(defvar customize-changed-options-previous-release "23.1" +(defvar customize-changed-options-previous-release "24.1" "Version for `customize-changed-options' to refer back to by default.") ;; Packages will update this variable, so make it available. @@ -1541,7 +1545,7 @@ that option." This button will have a menu with all three reset operations." :type 'boolean :group 'custom-buffer - :version "24.2") + :version "24.3") (defcustom custom-buffer-verbose-help t "If non-nil, include explanatory text in the customization buffer." @@ -1853,64 +1857,52 @@ item in another window.\n\n")) :group 'custom-buffer) (defface custom-invalid '((((class color)) - (:foreground "yellow1" :background "red1")) - (t - (:weight bold :slant italic :underline t))) + :foreground "yellow1" :background "red1") + (t :weight bold :slant italic :underline t)) "Face used when the customize item is invalid." :group 'custom-magic-faces) -(define-obsolete-face-alias 'custom-invalid-face 'custom-invalid "22.1") (defface custom-rogue '((((class color)) - (:foreground "pink" :background "black")) - (t - (:underline t))) + :foreground "pink" :background "black") + (t :underline t)) "Face used when the customize item is not defined for customization." :group 'custom-magic-faces) -(define-obsolete-face-alias 'custom-rogue-face 'custom-rogue "22.1") (defface custom-modified '((((min-colors 88) (class color)) - (:foreground "white" :background "blue1")) + :foreground "white" :background "blue1") (((class color)) - (:foreground "white" :background "blue")) - (t - (:slant italic :bold))) + :foreground "white" :background "blue") + (t :slant italic)) "Face used when the customize item has been modified." :group 'custom-magic-faces) -(define-obsolete-face-alias 'custom-modified-face 'custom-modified "22.1") (defface custom-set '((((min-colors 88) (class color)) - (:foreground "blue1" :background "white")) + :foreground "blue1" :background "white") (((class color)) - (:foreground "blue" :background "white")) - (t - (:slant italic))) + :foreground "blue" :background "white") + (t :slant italic)) "Face used when the customize item has been set." :group 'custom-magic-faces) -(define-obsolete-face-alias 'custom-set-face 'custom-set "22.1") (defface custom-changed '((((min-colors 88) (class color)) - (:foreground "white" :background "blue1")) + :foreground "white" :background "blue1") (((class color)) - (:foreground "white" :background "blue")) - (t - (:slant italic))) + :foreground "white" :background "blue") + (t :slant italic)) "Face used when the customize item has been changed." :group 'custom-magic-faces) -(define-obsolete-face-alias 'custom-changed-face 'custom-changed "22.1") (defface custom-themed '((((min-colors 88) (class color)) - (:foreground "white" :background "blue1")) - (((class color)) - (:foreground "white" :background "blue")) - (t - (:slant italic))) + :foreground "white" :background "blue1") + (((class color)) + :foreground "white" :background "blue") + (t :slant italic)) "Face used when the customize item has been set by a theme." :group 'custom-magic-faces) -(defface custom-saved '((t (:underline t))) +(defface custom-saved '((t :underline t)) "Face used when the customize item has been saved." :group 'custom-magic-faces) -(define-obsolete-face-alias 'custom-saved-face 'custom-saved "22.1") (defconst custom-magic-alist '((nil "#" underline "\ @@ -2101,25 +2093,22 @@ and `face'." ;;; The `custom' Widget. (defface custom-button - '((((type x w32 ns) (class color)) ; Like default modeline - (:box (:line-width 2 :style released-button) - :background "lightgrey" :foreground "black")) - (t - nil)) + '((((type x w32 ns) (class color)) ; Like default mode line + :box (:line-width 2 :style released-button) + :background "lightgrey" :foreground "black")) "Face for custom buffer buttons if `custom-raised-buttons' is non-nil." :version "21.1" :group 'custom-faces) -(define-obsolete-face-alias 'custom-button-face 'custom-button "22.1") (defface custom-button-mouse '((((type x w32 ns) (class color)) - (:box (:line-width 2 :style released-button) - :background "grey90" :foreground "black")) + :box (:line-width 2 :style released-button) + :background "grey90" :foreground "black") (t ;; This is for text terminals that support mouse, like GPM mouse ;; or the MS-DOS terminal: inverse-video makes the button stand ;; out on mouse-over. - (:inverse-video t))) + :inverse-video t)) "Mouse face for custom buffer buttons if `custom-raised-buttons' is non-nil." :version "22.1" :group 'custom-faces) @@ -2138,15 +2127,12 @@ and `face'." (defface custom-button-pressed '((((type x w32 ns) (class color)) - (:box (:line-width 2 :style pressed-button) - :background "lightgrey" :foreground "black")) - (t - (:inverse-video t))) + :box (:line-width 2 :style pressed-button) + :background "lightgrey" :foreground "black") + (t :inverse-video t)) "Face for pressed custom buttons if `custom-raised-buttons' is non-nil." :version "21.1" :group 'custom-faces) -(define-obsolete-face-alias 'custom-button-pressed-face - 'custom-button-pressed "22.1") (defface custom-button-pressed-unraised '((default :inherit custom-button-unraised) @@ -2164,22 +2150,15 @@ and `face'." (defface custom-documentation '((t nil)) "Face used for documentation strings in customization buffers." :group 'custom-faces) -(define-obsolete-face-alias 'custom-documentation-face - 'custom-documentation "22.1") - -(defface custom-state '((((class color) - (background dark)) - (:foreground "lime green")) - (((class color) - (background light)) - (:foreground "dark green")) - (t nil)) + +(defface custom-state '((((class color) (background dark)) + :foreground "lime green") + (((class color) (background light)) + :foreground "dark green")) "Face used for State descriptions in the customize buffer." :group 'custom-faces) -(define-obsolete-face-alias 'custom-state-face 'custom-state "22.1") -(defface custom-link - '((t :inherit link)) +(defface custom-link '((t :inherit link)) "Face for links in customization buffers." :version "22.1" :group 'custom-faces) @@ -2250,9 +2229,9 @@ and `face'." (setq widget nil))))) (widget-setup)) -(make-obsolete 'custom-show "this widget type is no longer supported." "24.1") (defun custom-show (widget value) "Non-nil if WIDGET should be shown with VALUE by default." + (declare (obsolete "this widget type is no longer supported." "24.1")) (let ((show (widget-get widget :custom-show))) (if (functionp show) (funcall show widget value) @@ -2376,20 +2355,18 @@ If INITIAL-STRING is non-nil, use that rather than \"Parent groups:\"." "Face used for comments on variables or faces." :version "21.1" :group 'custom-faces) -(define-obsolete-face-alias 'custom-comment-face 'custom-comment "22.1") ;; like font-lock-comment-face (defface custom-comment-tag - '((((class color) (background dark)) (:foreground "gray80")) - (((class color) (background light)) (:foreground "blue4")) + '((((class color) (background dark)) :foreground "gray80") + (((class color) (background light)) :foreground "blue4") (((class grayscale) (background light)) - (:foreground "DimGray" :weight bold :slant italic)) + :foreground "DimGray" :weight bold :slant italic) (((class grayscale) (background dark)) - (:foreground "LightGray" :weight bold :slant italic)) - (t (:weight bold))) + :foreground "LightGray" :weight bold :slant italic) + (t :weight bold)) "Face used for the comment tag on variables or faces." :group 'custom-faces) -(define-obsolete-face-alias 'custom-comment-tag-face 'custom-comment-tag "22.1") (define-widget 'custom-comment 'string "User comment." @@ -2428,26 +2405,19 @@ If INITIAL-STRING is non-nil, use that rather than \"Parent groups:\"." ;;; The `custom-variable' Widget. (defface custom-variable-tag - `((((class color) - (background dark)) - (:foreground "light blue" :weight bold)) - (((min-colors 88) (class color) - (background light)) - (:foreground "blue1" :weight bold)) - (((class color) - (background light)) - (:foreground "blue" :weight bold)) - (t (:weight bold))) + `((((class color) (background dark)) + :foreground "light blue" :weight bold) + (((min-colors 88) (class color) (background light)) + :foreground "blue1" :weight bold) + (((class color) (background light)) + :foreground "blue" :weight bold) + (t :weight bold)) "Face used for unpushable variable tags." :group 'custom-faces) -(define-obsolete-face-alias 'custom-variable-tag-face - 'custom-variable-tag "22.1") -(defface custom-variable-button '((t (:underline t :weight bold))) +(defface custom-variable-button '((t :underline t :weight bold)) "Face used for pushable variable tags." :group 'custom-faces) -(define-obsolete-face-alias 'custom-variable-button-face - 'custom-variable-button "22.1") (defcustom custom-variable-default-form 'edit "Default form of displaying variable values." @@ -3314,10 +3284,9 @@ Only match frames that support the specified face attributes.") ;;; The `custom-face' Widget. (defface custom-face-tag - `((t :inherit custom-variable-tag)) + '((t :inherit custom-variable-tag)) "Face used for face tags." :group 'custom-faces) -(define-obsolete-face-alias 'custom-face-tag-face 'custom-face-tag "22.1") (defcustom custom-face-default-form 'selected "Default form of displaying face definition." @@ -3711,15 +3680,10 @@ Optional EVENT is the location for the menu." (setq comment nil) ;; Make the comment invisible by hand if it's empty (custom-comment-hide comment-widget)) - (put symbol 'customized-face value) (custom-push-theme 'theme-face symbol 'user 'set value) - (if (face-spec-choose value) - (face-spec-set symbol value t) - ;; face-set-spec ignores empty attribute lists, so just give it - ;; something harmless instead. - (face-spec-set symbol '((t :foreground unspecified)) t)) - (put symbol 'customized-face-comment comment) + (face-spec-set symbol value 'customized-face) (put symbol 'face-comment comment) + (put symbol 'customized-face-comment comment) (custom-face-state-set widget) (custom-redraw-magic widget))) @@ -3728,20 +3692,14 @@ Optional EVENT is the location for the menu." (let* ((symbol (widget-value widget)) (value (custom-face-widget-to-spec widget)) (comment-widget (widget-get widget :comment-widget)) - (comment (widget-value comment-widget))) + (comment (widget-value comment-widget)) + (standard (eq (widget-get widget :custom-state) 'standard))) (when (equal comment "") (setq comment nil) ;; Make the comment invisible by hand if it's empty (custom-comment-hide comment-widget)) (custom-push-theme 'theme-face symbol 'user 'set value) - (if (face-spec-choose value) - (face-spec-set symbol value t) - ;; face-set-spec ignores empty attribute lists, so just give it - ;; something harmless instead. - (face-spec-set symbol '((t :foreground unspecified)) t)) - (unless (eq (widget-get widget :custom-state) 'standard) - (put symbol 'saved-face value)) - (put symbol 'customized-face nil) + (face-spec-set symbol value (if standard 'reset 'saved-face)) (put symbol 'face-comment comment) (put symbol 'customized-face-comment nil) (put symbol 'saved-face-comment comment))) @@ -3770,13 +3728,12 @@ uncustomized (themed or standard) face." (saved-face (get face 'saved-face)) (comment (get face 'saved-face-comment)) (comment-widget (widget-get widget :comment-widget))) - (put face 'customized-face nil) - (put face 'customized-face-comment nil) (custom-push-theme 'theme-face face 'user (if saved-face 'set 'reset) saved-face) - (face-spec-set face saved-face t) + (face-spec-set face saved-face 'saved-face) (put face 'face-comment comment) + (put face 'customized-face-comment nil) (widget-value-set child saved-face) ;; This call manages the comment visibility (widget-value-set comment-widget (or comment "")) @@ -3796,11 +3753,10 @@ redraw the widget immediately." (comment-widget (widget-get widget :comment-widget))) (unless value (user-error "No standard setting for this face")) - (put symbol 'customized-face nil) - (put symbol 'customized-face-comment nil) (custom-push-theme 'theme-face symbol 'user 'reset) - (face-spec-set symbol value t) - (custom-theme-recalc-face symbol) + (face-spec-set symbol value 'reset) + (put symbol 'face-comment nil) + (put symbol 'customized-face-comment nil) (if (and custom-reset-standard-faces-list (or (get symbol 'saved-face) (get symbol 'saved-face-comment))) ;; Do this later. @@ -3816,7 +3772,6 @@ redraw the widget immediately." (put symbol 'saved-face nil) (put symbol 'saved-face-comment nil) (custom-save-all)) - (put symbol 'face-comment nil) (widget-value-set child (custom-pre-filter-face-spec (list (list t (custom-face-attributes-get @@ -3932,37 +3887,24 @@ and so forth. The remaining group tags are shown with `custom-group-tag'." :group 'custom-faces) (defface custom-group-tag-1 - `((((class color) - (background dark)) - (:foreground "pink" :weight bold :height 1.2 :inherit variable-pitch)) - (((min-colors 88) (class color) - (background light)) - (:foreground "red1" :weight bold :height 1.2 :inherit variable-pitch)) - (((class color) - (background light)) - (:foreground "red" :weight bold :height 1.2 :inherit variable-pitch)) - (t (:weight bold))) - "Face used for group tags." + '((default :weight bold :height 1.2 :inherit variable-pitch) + (((class color) (background dark)) :foreground "pink") + (((min-colors 88) (class color) (background light)) :foreground "red1") + (((class color) (background light)) :foreground "red")) + "Face for group tags." :group 'custom-faces) -(define-obsolete-face-alias 'custom-group-tag-face-1 'custom-group-tag-1 "22.1") (defface custom-group-tag - `((((class color) - (background dark)) - (:foreground "light blue" :weight bold :height 1.2 :inherit variable-pitch)) - (((min-colors 88) (class color) - (background light)) - (:foreground "blue1" :weight bold :height 1.2 :inherit variable-pitch)) - (((class color) - (background light)) - (:foreground "blue" :weight bold :height 1.2 :inherit variable-pitch)) - (t (:weight bold))) - "Face used for low level group tags." + '((default :weight bold :height 1.2 :inherit variable-pitch) + (((class color) (background dark)) :foreground "light blue") + (((min-colors 88) (class color) (background light)) :foreground "blue1") + (((class color) (background light)) :foreground "blue") + (t :weight bold)) + "Face for low level group tags." :group 'custom-faces) -(define-obsolete-face-alias 'custom-group-tag-face 'custom-group-tag "22.1") (defface custom-group-subtitle - `((t (:weight bold))) + '((t :weight bold)) "Face for the \"Subgroups:\" subtitle in Custom buffers." :group 'custom-faces) @@ -4825,6 +4767,7 @@ If several parents are listed, go to the first of them." (set (make-local-variable 'widget-link-suffix) "")) (setq show-trailing-whitespace nil)) +(define-obsolete-variable-alias 'custom-mode-hook 'Custom-mode-hook "23.1") (define-derived-mode Custom-mode nil "Custom" "Major mode for editing customization buffers. @@ -4867,13 +4810,7 @@ if that value is non-nil." (put 'Custom-mode 'mode-class 'special) -;; backward-compatibility -(defun custom-mode () - "Non-interactive variant of `Custom-mode'." - (Custom-mode)) -(make-obsolete 'custom-mode 'Custom-mode "23.1") -(put 'custom-mode 'mode-class 'special) -(define-obsolete-variable-alias 'custom-mode-hook 'Custom-mode-hook "23.1") +(define-obsolete-function-alias 'custom-mode 'Custom-mode "23.1") (add-to-list 'debug-ignored-errors "^Invalid face:? ")