Mercurial > hg > xemacs-beta
changeset 4434:7f3d065a56a1
Ease customization of faces under point...
... by providing an optional prefix argument to customize-face[-other-window].
author | Didier Verna <didier@xemacs.org> |
---|---|
date | Wed, 05 Mar 2008 10:41:54 +0100 |
parents | 1bf48c59700e |
children | 1e2fc51563a5 |
files | lisp/ChangeLog lisp/cus-edit.el |
diffstat | 2 files changed, 192 insertions(+), 132 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Wed Mar 05 01:12:53 2008 -0800 +++ b/lisp/ChangeLog Wed Mar 05 10:41:54 2008 +0100 @@ -1,3 +1,16 @@ +2008-03-05 Didier Verna <didier@xemacs.org> + + Ease customization of face(s) under point. + Suggested by Andreas Rohler. + + * cus-edit.el (custom-face-prompt): New (interactive call). Offer + a prefix for choosing a face amongst those at point instead of all + of them. + * cus-edit.el (customize-face-1): New. Factor out from the + functions below. + * cus-edit.el (customize-face): Use it. + * cus-edit.el (customize-face-other-window): Ditto. + 2008-02-16 Michael Sperber <mike@xemacs.org> * autoload.el (autoload-make-autoload-operators, @@ -7,8 +20,8 @@ 2008-02-03 Aidan Kehoe <kehoea@parhasard.net> - * iso8859-1.el (ascii-case-table): - Correct the order of the arguments to #'put-case-table-pair. + * iso8859-1.el (ascii-case-table): + Correct the order of the arguments to #'put-case-table-pair. 2008-01-25 Michael Sperber <mike@xemacs.org> @@ -17,8 +30,8 @@ 2008-01-21 Aidan Kehoe <kehoea@parhasard.net> - * info.el (Info-suffix-list): - Support LZMA compression, as used--oddly--by Mandriva Linux. + * info.el (Info-suffix-list): + Support LZMA compression, as used--oddly--by Mandriva Linux. 2008-01-17 Mike Sperber <mike@xemacs.org> @@ -29,10 +42,10 @@ 2008-01-16 Aidan Kehoe <kehoea@parhasard.net> - * keydefs.el (global-map): + * keydefs.el (global-map): Bind '(shift delete) to #'kill-primary-selection, as described by Glynn Clements in - 16434.49191.47038.991206@cerise.nosuchdomain.co.uk of 2004-02-08. + 16434.49191.47038.991206@cerise.nosuchdomain.co.uk of 2004-02-08. 2008-01-14 Jerry James <james@xemacs.org> @@ -44,29 +57,29 @@ 2008-01-14 Aidan Kehoe <kehoea@parhasard.net> - * bytecomp.el (byte-compile-output-file-form): + * bytecomp.el (byte-compile-output-file-form): Bind print-gensym-alist to nil, as we do within byte-compile-output-docform. 2008-01-04 Michael Sperber <mike@xemacs.org> - * code-files.el (insert-file-contents): - (load): Don't call `substitute-in-file-name' on the file name. + * code-files.el (insert-file-contents): + (load): Don't call `substitute-in-file-name' on the file name. 2008-01-03 Aidan Kehoe <kehoea@parhasard.net> - * cus-edit.el (custom-save-all): + * cus-edit.el (custom-save-all): If the directory containing the custom file doesn't exist, try to - create it. Fixes Nick's Crabtree's bug of + create it. Fixes Nick's Crabtree's bug of 5fb265820712140145w512fa3bbh355cf76f7e2cf792@mail.gmail.com ; thank you Nick. * menubar-items.el (default-menubar): In the code to edit the user's init file, try to create the - containing directory if it doesn't exist. + containing directory if it doesn't exist. 2008-01-02 Aidan Kehoe <kehoea@parhasard.net> - * gtk-init.el (init-post-gtk-win): + * gtk-init.el (init-post-gtk-win): Trust the X11 code to give us decent default fonts. 2008-01-02 Aidan Kehoe <kehoea@parhasard.net> @@ -74,7 +87,7 @@ * x-iso8859-1.el: Removed. * gtk-iso8859-1.el: Removed. These haven't been used in a year and a half. No need to keep them - around. + around. 2008-01-02 Mike Sperber <mike@xemacs.org> @@ -92,7 +105,7 @@ 2007-12-31 Aidan Kehoe <kehoea@parhasard.net> - * menubar-items.el (default-menubar): + * menubar-items.el (default-menubar): Byte compile the specified lambdas. Correct some compile time warnings uncovered by this. * menubar-items.el (tutorials-menu-filter): @@ -100,7 +113,7 @@ specified--which indicates we don't want it used except by those who know what they're doing--don't show its tutorial in the menu. * behavior.el (behavior-menu-filter): - Byte compile the lambdas in the generated menu. + Byte compile the lambdas in the generated menu. 2007-12-30 Aidan Kehoe <kehoea@parhasard.net> @@ -111,15 +124,15 @@ * subr.el (with-case-table): New. Idea and implementation taken from GNU's code of April 2007, - before GPL V3 was implied. Thank you GNU. - * iso8859-1.el (ascii-case-table): New. + before GPL V3 was implied. Thank you GNU. + * iso8859-1.el (ascii-case-table): New. Idea taken from GNU. * iso8859-1.el : Change Jamie's implicit compile-time call to a macro literal into something comprehensible to and maintainable by mortals, using to cl.el's #'loop. * iso8859-1.el (ctl-arrow): - Initialise it to something more comprehensible. + Initialise it to something more comprehensible. 2007-12-30 Aidan Kehoe <kehoea@parhasard.net> @@ -127,10 +140,10 @@ Accept a new TYPE argument, compatible with GNU, saying whether function or variable definitions should be searched for. Implement the functionality for autoloads, handling TYPE - correctly. + correctly. Pass the TYPE argument to built-in-symbol-file correctly. Document that TYPE is not implemented for non-autoloaded Lisp - definitions. Our load-history doesn't have the relevant metadata. + definitions. Our load-history doesn't have the relevant metadata. 2007-12-25 Aidan Kehoe <kehoea@parhasard.net> @@ -138,7 +151,7 @@ Revert part of Didier's 2007-10-15 commit, which broke #'make-image-specifier with string arguments, and more noticeably truncation-glyph, continuation-glyph, octal-escape-glyph, - control-arrow-glyph. + control-arrow-glyph. 2007-12-23 Mike Sperber <mike@xemacs.org> @@ -184,19 +197,19 @@ * help.el (describe-function-1): Give details of bindings for commands, taking into account global-window-system-map and global-tty-map when bindings differ - compared to the global map. + compared to the global map. 2007-12-17 Aidan Kehoe <kehoea@parhasard.net> * subr.el (integer-to-bit-vector): New. * subr.el (bit-vector-to-integer): New. - Provide naive implementations using the Lisp reader for these. + Provide naive implementations using the Lisp reader for these. 2007-12-14 Aidan Kehoe <kehoea@parhasard.net> * process.el (substitute-env-vars): - Merge an example from GNU's docstring. - * process.el (setenv): + Merge an example from GNU's docstring. + * process.el (setenv): Pass nil as the default abbrev table to the #'read-from-minibuffer call, instead of passing the current value of the variable. Bug introduced by an incorrect sync from GNU by Ben; reported by @@ -205,7 +218,7 @@ Document the #'set-time-zone-rule call when TZ is set. Push the old value on to the beginning of setenv-history. (Both merged from GNU.) Document that we don't do the coding-system frobbing at this - level that GNU does. + level that GNU does. Provide a commented-out, sample implementation of GNU's #'environment; document why I think we shouldn't include it. @@ -233,10 +246,10 @@ * unicode.el (load-unicode-mapping-tables): Call #'set-default-unicode-precedence wrapped with - #'declare-fboundp, to avoid warnings on non-Mule builds. + #'declare-fboundp, to avoid warnings on non-Mule builds. * unicode.el (ccl-encode-to-ucs-2): - * unicode.el (unicode-error-sequence-regexp-range): + * unicode.el (unicode-error-sequence-regexp-range): * unicode.el (frob-unicode-errors-region): * unicode.el (unicode-error-translate-region): Unconditionally provide these functions and variables at top @@ -247,11 +260,11 @@ Unintern the function and variable symbols if (featurep 'mule) is not true, so their function definitions and so on get garbage - collected at dump time in non-Mule builds. - - * obsolete.el (add-menu-item): - * obsolete.el (add-menu): - * obsolete.el (add-menu): + collected at dump time in non-Mule builds. + + * obsolete.el (add-menu-item): + * obsolete.el (add-menu): + * obsolete.el (add-menu): * obsolete.el (package-get-download-menu): Provide these functions at top level, in order to make them available to make-docfile.c, which has trouble interpreting byte @@ -261,17 +274,17 @@ 2007-12-09 Aidan Kehoe <kehoea@parhasard.net> - * mule/latin.el: + * mule/latin.el: Create clones of the English language environment with UTF-8 and Windows-1252 as the associated coding system, for Joachim Schrod's - use case of f8q022$3o3$1@sea.gmane.org. + use case of f8q022$3o3$1@sea.gmane.org. 2007-12-04 Aidan Kehoe <kehoea@parhasard.net> * keydefs.el: Bind mouse wheel movements by default, to a lambda that calls the autoloaded #'mwheel-install and then #'mwheel-scroll with the - appropriate event. + appropriate event. 2007-12-07 Vin Shelton <acs@xemacs.org> @@ -281,20 +294,20 @@ * code-files.el (write-region): Use a more concise and probably less confusing docstring from - Stephen. See - 87ve84323s.fsf@uwakimon.sk.tsukuba.ac.jp. + Stephen. See + 87ve84323s.fsf@uwakimon.sk.tsukuba.ac.jp. Not following his suggestion of keeping the CODING-SYSTEM name for the last argument, given that that would make reworking the body of the necessary, and that I introduced a short-lived bug the - last time I did that. + last time I did that. 2007-12-03 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-file-form-custom-declare-variable): Instead of using a keyword argument that's incompatible with 21.4, modify the byte compiled init code to change the variable's - standard-value property itself. + standard-value property itself. 2007-12-04 Aidan Kehoe <kehoea@parhasard.net> @@ -302,12 +315,12 @@ * mule/iso-with-esc.el ('iso-latin-1-with-esc): New. Provide the variable-length rarely-used ISO 2022 compatible coding systems for Latin (that is, iso-8859-[1-16]) again, to address - Stephen's veto. + Stephen's veto. 2007-12-04 Aidan Kehoe <kehoea@parhasard.net> * autoload.el (make-autoload): - Support auto-autoloads for coding systems. + Support auto-autoloads for coding systems. 2007-12-01 Aidan Kehoe <kehoea@parhasard.net> @@ -327,7 +340,7 @@ unification problems the old implementation had. Add aliases for GNU compatibility. - + Still no warning on the imminent corruption of data, though. I'm working on it. * mule/greek.el (windows-1253): @@ -340,7 +353,7 @@ print-gensym-alist on exit from #'print. This is appropriate because #'byte-compile-output-file-form may be called multiple times for a given output file, and re-using the - #1=#:... placeholders in that context is inappropriate. + #1=#:... placeholders in that context is inappropriate. 2007-11-29 Aidan Kehoe <kehoea@parhasard.net> @@ -351,7 +364,7 @@ and run-time code didn't share this value. * mule/mule-coding.el (make-8-bit-coding-system): Mark the coding systems created by this code as such, for the sake - of automated testing of their round-trip compatibility. + of automated testing of their round-trip compatibility. 2007-11-28 Aidan Kehoe <kehoea@parhasard.net> @@ -365,7 +378,7 @@ * mule/mule-cmds.el (create-variant-language-environment): Set tutorial-coding-system to correspond to the original coding - system when creating the variant language environment. + system when creating the variant language environment. 2007-11-27 Aidan Kehoe <kehoea@parhasard.net> @@ -380,9 +393,9 @@ a) the byte compilation warnings and b) since our interpreter is proportionately so much slower than theirs, we are penalised more strongly when we interpret code, especially when - #'custom-declare-variable calls cluster, as they tend to do. + #'custom-declare-variable calls cluster, as they tend to do. * cus-edit.el (customize-changed-options): - Wrap the #'interactive call to be less than 80 columns. + Wrap the #'interactive call to be less than 80 columns. Wrap the code to less than 80 columns. * cus-edit.el (custom-variable-menu): * cus-edit.el (custom-face-menu): @@ -392,16 +405,16 @@ * custom.el (custom-initialize-changed): Correct the docstring; change the defun to defsubst, since calls to this are only done from one function, and calls to that - function cluster. + function cluster. * custom.el (custom-declare-variable): Document the :default argument to #'custom-declare-variable; - implement it. + implement it. 2007-11-27 Aidan Kehoe <kehoea@parhasard.net> * byte-optimize.el (byte-optimize-featurep): Remove a useless let binding that was a hangover from an earlier - version of the code. Eliminates a byte-compile time warning. + version of the code. Eliminates a byte-compile time warning. 2007-11-22 Vin Shelton <acs@xemacs.org> @@ -412,19 +425,19 @@ * code-files.el (write-region): Call #'find-coding-system on the (possible) coding system argument before checking it with #'coding-system-p; the latter function - gives false results when passed coding system names as symbols. + gives false results when passed coding system names as symbols. Preserve the old order of determination of the coding system better. 2007-11-14 Aidan Kehoe <kehoea@parhasard.net> - * unicode.el (unicode-error-default-translation-table): + * unicode.el (unicode-error-default-translation-table): * unicode.el (unicode-error-sequence-regexp-range): * unicode.el (frob-unicode-errors-region): Make these variables and the single function available to make-docfile, by moving them to the start of the line. This - conflicts with normal indentation of Lisp, unfortunately. + conflicts with normal indentation of Lisp, unfortunately. 2007-11-14 Aidan Kehoe <kehoea@parhasard.net> @@ -433,32 +446,32 @@ * subr.el (string-to-vector): (append STRING nil) is faster than (mapcar #'identity STRING), (vconcat STRING) is faster than (mapcar #'identity STRING). Change - from GNU. + from GNU. 2007-11-14 Aidan Kehoe <kehoea@parhasard.net> * code-files.el (write-region): Provide a new arg, CODING-SYSTEM-OR-MUSTBENEW, for compatibility both with GNU (where it has the MUSTBENEW meaning) and earlier - XEmacs code (where it has the CODING-SYSTEM meaning). + XEmacs code (where it has the CODING-SYSTEM meaning). * files.el: * files.el (normal-backup-enable-predicate): * files.el (auto-save-file-name-transforms): Correct the docstrings of #'normal-backup-enable-predicate, #'auto-save-file-name-transforms. * files.el (make-temp-file): New. - Merge from GNU. + Merge from GNU. * subr.el: - Document that #'make-temp-name is now in files.el. + Document that #'make-temp-name is now in files.el. 2007-11-08 Aidan Kehoe <kehoea@parhasard.net> * cus-edit.el (custom-save-all): - Merge Jason Spiro's fix of + Merge Jason Spiro's fix of c241693f0710021645g642f145n5925c7a35e7b2c58@mail.gmail.com , to avoid corruption of the custom-set-variables and custom-set-fonts calls in ~/.emacs if XEmacs doesn't understand any part of the - syntax of ~/.emacs . + syntax of ~/.emacs . 2007-10-31 Mike Sperber <mike@xemacs.org> @@ -471,15 +484,15 @@ * mule/general-late.el: Now that all the dumped coding systems are available, decode Installation-string using the value for - Installation-file-coding-system at dump time. + Installation-file-coding-system at dump time. 2007-10-26 Aidan Kehoe <kehoea@parhasard.net> * dumped-lisp.el (preloaded-file-list): - Allow version.el to be compiled. + Allow version.el to be compiled. * help.el (describe-installation): Use and-boundp instead of (and (boundp ...); don't decode - Installation-string. Call #'error with a DATUM arg. + Installation-string. Call #'error with a DATUM arg. * loadup.el: * loadup.el (Installation-string): Removed. Moved to version.el. @@ -489,13 +502,13 @@ * update-elc-2.el (batch-update-elc-2): Remove version.el from the ignored files; if Mule is available, always recompile it, since Installation-file-coding-system depends - on relatively complex Mule code. + on relatively complex Mule code. * update-elc.el (unbytecompiled-lisp-files): Remove version.el. * version.el: * version.el (Installation-file-coding-system): New. Variable reflecting the native coding system at build time, to - better work out Installation-string. + better work out Installation-string. * version.el (Installation-string): New. Moved from loadup.el; documented in more detail. @@ -516,14 +529,14 @@ refuses to run on GNU Emacs. Also optimises away checks for cl, cl-extra, cl-19 and backquote, a conservative list of those features that have been available in every XEmacs build since the - last time our opcodes changed. + last time our opcodes changed. 2007-10-14 Aidan Kehoe <kehoea@parhasard.net> * coding.el: Use raw-text, not no-conversion for iso-8859-1 on non-Mule; preserves the line ending autodetection, but doesn't do coding - system autodetection. Thank you Stephen. + system autodetection. Thank you Stephen. 2007-10-15 Didier Verna <didier@xemacs.org>
--- a/lisp/cus-edit.el Wed Mar 05 01:12:53 2008 -0800 +++ b/lisp/cus-edit.el Wed Mar 05 10:41:54 2008 +0100 @@ -1,6 +1,6 @@ ;;; cus-edit.el --- Tools for customizating Emacs and Lisp packages. ;; -;; Copyright (C) 2007 Didier Verna +;; Copyright (C) 2007, 2008 Didier Verna ;; Copyright (C) 2003 Ben Wing ;; Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc. ;; @@ -836,7 +836,7 @@ (and version (or (null since-version) (customize-version-lessp since-version - version)))) + version)))) (push (list symbol 'custom-variable) found)))) (unless found (error "No user options have changed defaults %s" @@ -870,39 +870,86 @@ (list (list symbol 'custom-variable)) (format "*Customize Option: %s*" (custom-unlispify-tag-name symbol)))) -;;;###autoload -(defun customize-face (&optional symbol) - "Customize SYMBOL, which should be a face name or nil. -If SYMBOL is nil, customize all faces." - (interactive (list (completing-read "Customize face: (default all) " - obarray 'find-face))) - (if (or (null symbol) (and (stringp symbol) (zerop (length symbol)))) - (custom-buffer-create (custom-sort-items - (mapcar (lambda (symbol) - (list symbol 'custom-face)) - (face-list)) - t nil) - "*Customize Faces*") - (when (stringp symbol) - (setq symbol (intern symbol))) - (check-argument-type 'symbolp symbol) - (custom-buffer-create (list (list symbol 'custom-face)) - (format "*Customize Face: %s*" - (custom-unlispify-tag-name symbol))))) + +(defun custom-face-prompt () + ;; Interactive call for `customize-face' and `customize-face-other-window'. + ;; See their docstrings for more information. Note that this call returns a + ;; list of only one element. This is because the callers'second arg AT-POINT + ;; is only used in interactive calls. + (let ((faces (get-char-property (point) 'face))) + (if (or (null faces) (not current-prefix-arg)) + ;; The default behavior, which is to prompt for all faces, is also + ;; used as a fall back when a prefix is given but there's no face + ;; under point: + (let ((choice (completing-read "Customize face: (default all) " + obarray 'find-face))) + (if (zerop (length choice)) + nil + (list (intern choice)))) + (cond ((symbolp faces) + ;; Customize only this one: + (list (list faces))) + ((listp faces) + ;; Make a choice only amongst the faces under point: + (let ((choice (completing-read + "Customize face: (default all faces at point) " + (mapcar (lambda (face) + (list (symbol-name face) face)) + faces) + nil t))) + (if (zerop (length choice)) + (list faces) + (list (intern choice))))))))) + +(defun customize-face-1 (face custom-buffer-create-fn) + ;; Customize FACE in a buffer created with BUFFER-CREATE-FN. + ;; See the docstring of `customize-face' and `customize-face-other-window' + ;; for more information. + (cond ((null face) + (funcall custom-buffer-create-fn + (custom-sort-items + (mapcar (lambda (symbol) + (list symbol 'custom-face)) + (face-list)) + t nil) + "*Customize All Faces*")) + ((listp face) + (funcall custom-buffer-create-fn + (custom-sort-items + (mapcar (lambda (symbol) + (list symbol 'custom-face)) + face) + t nil) + "*Customize Some Faces*")) + ((symbolp face) + (funcall custom-buffer-create-fn + (list (list face 'custom-face)) + (format "*Customize Face: %s*" + (custom-unlispify-tag-name face)))) + (t + (signal-error 'wrong-type-argument + '((or null listp symbolp) face))))) + ;;;###autoload -(defun customize-face-other-window (&optional symbol) - "Show customization buffer for FACE in other window." - (interactive (list (completing-read "Customize face: " - obarray 'find-face))) - (if (or (null symbol) (and (stringp symbol) (zerop (length symbol)))) - () - (if (stringp symbol) - (setq symbol (intern symbol))) - (check-argument-type 'symbolp symbol) - (custom-buffer-create-other-window - (list (list symbol 'custom-face)) - (format "*Customize Face: %s*" (custom-unlispify-tag-name symbol))))) +(defun customize-face (&optional face at-point) + "Open a customization buffer for FACE. +FACE should be either: +- nil, meaning to customize all faces, +- a list of symbols naming faces, meaning to customize only those, +- a symbol naming a face, meaning to customize this face only. + +When called interactively, use a prefix (the AT-POINT argument) to +make a choice among the faces found at current position." + (interactive (custom-face-prompt)) + (customize-face-1 face #'custom-buffer-create)) + +;;;###autoload +(defun customize-face-other-window (&optional face at-point) + "Like `customize-face', but use another window." + (interactive (custom-face-prompt)) + (customize-face-1 face #'custom-buffer-create-other-window)) + ;;;###autoload (defun customize-customized () @@ -2207,35 +2254,35 @@ (defvar custom-variable-menu `(("Set for Current Session" custom-variable-set ,#'(lambda (widget) - (eq (widget-get widget :custom-state) 'modified))) + (eq (widget-get widget :custom-state) 'modified))) ("Save for Future Sessions" custom-variable-save ,#'(lambda (widget) - (memq (widget-get widget :custom-state) - '(modified set changed rogue)))) + (memq (widget-get widget :custom-state) + '(modified set changed rogue)))) ("Reset to Current" custom-redraw ,#'(lambda (widget) - (and (default-boundp (widget-value widget)) - (memq (widget-get widget :custom-state) '(modified changed))))) + (and (default-boundp (widget-value widget)) + (memq (widget-get widget :custom-state) '(modified changed))))) ("Reset to Saved" custom-variable-reset-saved ,#'(lambda (widget) - (and (or (get (widget-value widget) 'saved-value) - (get (widget-value widget) 'saved-variable-comment)) - (memq (widget-get widget :custom-state) - '(modified set changed rogue))))) + (and (or (get (widget-value widget) 'saved-value) + (get (widget-value widget) 'saved-variable-comment)) + (memq (widget-get widget :custom-state) + '(modified set changed rogue))))) ("Reset to Standard Settings" custom-variable-reset-standard ,#'(lambda (widget) - (and (get (widget-value widget) 'standard-value) - (memq (widget-get widget :custom-state) - '(modified set changed saved rogue))))) + (and (get (widget-value widget) 'standard-value) + (memq (widget-get widget :custom-state) + '(modified set changed saved rogue))))) ("---" ignore ignore) ("Add Comment" custom-comment-show custom-comment-invisible-p) ("---" ignore ignore) ("Don't show as Lisp expression" custom-variable-edit ,#'(lambda (widget) - (eq (widget-get widget :custom-form) 'lisp))) + (eq (widget-get widget :custom-form) 'lisp))) ("Show as Lisp expression" custom-variable-edit-lisp ,#'(lambda (widget) - (eq (widget-get widget :custom-form) 'edit)))) + (eq (widget-get widget :custom-form) 'edit)))) "Alist of actions for the `custom-variable' widget. Each entry has the form (NAME ACTION FILTER) where NAME is the name of the menu entry, ACTION is the function to call on the widget when the @@ -2701,23 +2748,23 @@ ("Save for Future Sessions" custom-face-save) ("Reset to Saved" custom-face-reset-saved ,#'(lambda (widget) - (or (get (widget-value widget) 'saved-face) - (get (widget-value widget) 'saved-face-comment)))) + (or (get (widget-value widget) 'saved-face) + (get (widget-value widget) 'saved-face-comment)))) ("Reset to Standard Setting" custom-face-reset-standard ,#'(lambda (widget) - (get (widget-value widget) 'face-defface-spec))) + (get (widget-value widget) 'face-defface-spec))) ("---" ignore ignore) ("Add Comment" custom-comment-show custom-comment-invisible-p) ("---" ignore ignore) ("Show all display specs" custom-face-edit-all ,#'(lambda (widget) - (not (eq (widget-get widget :custom-form) 'all)))) + (not (eq (widget-get widget :custom-form) 'all)))) ("Just current attributes" custom-face-edit-selected ,#'(lambda (widget) - (not (eq (widget-get widget :custom-form) 'selected)))) + (not (eq (widget-get widget :custom-form) 'selected)))) ("Show as Lisp expression" custom-face-edit-lisp ,#'(lambda (widget) - (not (eq (widget-get widget :custom-form) 'lisp))))) + (not (eq (widget-get widget :custom-form) 'lisp))))) "Alist of actions for the `custom-face' widget. Each entry has the form (NAME ACTION FILTER) where NAME is the name of the menu entry, ACTION is the function to call on the widget when the @@ -3341,19 +3388,19 @@ (defvar custom-group-menu `(("Set for Current Session" custom-group-set ,#'(lambda (widget) - (eq (widget-get widget :custom-state) 'modified))) + (eq (widget-get widget :custom-state) 'modified))) ("Save for Future Sessions" custom-group-save ,#'(lambda (widget) - (memq (widget-get widget :custom-state) '(modified set)))) + (memq (widget-get widget :custom-state) '(modified set)))) ("Reset to Current" custom-group-reset-current ,#'(lambda (widget) - (memq (widget-get widget :custom-state) '(modified)))) + (memq (widget-get widget :custom-state) '(modified)))) ("Reset to Saved" custom-group-reset-saved ,#'(lambda (widget) - (memq (widget-get widget :custom-state) '(modified set)))) + (memq (widget-get widget :custom-state) '(modified set)))) ("Reset to standard setting" custom-group-reset-standard ,#'(lambda (widget) - (memq (widget-get widget :custom-state) '(modified set saved))))) + (memq (widget-get widget :custom-state) '(modified set saved))))) "Alist of actions for the `custom-group' widget. Each entry has the form (NAME ACTION FILTER) where NAME is the name of the menu entry, ACTION is the function to call on the widget when the @@ -3767,12 +3814,12 @@ (custom-save-faces) (let ((find-file-hooks nil) (auto-mode-alist) - custom-file-directory) - (unless (file-directory-p (setq custom-file-directory - (file-name-directory custom-file))) - (message "Creating %s... " custom-file-directory) - (make-directory custom-file-directory t) - (message "Creating %s... done." custom-file-directory)) + custom-file-directory) + (unless (file-directory-p (setq custom-file-directory + (file-name-directory custom-file))) + (message "Creating %s... " custom-file-directory) + (make-directory custom-file-directory t) + (message "Creating %s... done." custom-file-directory)) (with-current-buffer (find-file-noselect custom-file) (save-buffer)))))