[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/setup 9a67209 14/25: Always call custom-load-symbol bef
From: |
Stefan Monnier |
Subject: |
[elpa] externals/setup 9a67209 14/25: Always call custom-load-symbol before customizing an option |
Date: |
Wed, 14 Apr 2021 18:49:02 -0400 (EDT) |
branch: externals/setup
commit 9a67209396f36c2bfaf3009c25b27a413d4f4757
Author: Philip K <philipk@posteo.net>
Commit: Philip K <philipk@posteo.net>
Always call custom-load-symbol before customizing an option
---
setup.el | 66 ++++++++++++++++++++++++++++++----------------------------------
1 file changed, 31 insertions(+), 35 deletions(-)
diff --git a/setup.el b/setup.el
index db937a5..175c45c 100644
--- a/setup.el
+++ b/setup.el
@@ -330,41 +330,37 @@ the first FEATURE."
(setup-define :option
(lambda (name val)
- (let (load-p)
- (cond ((symbolp name) t)
- ((eq (car-safe name) 'append)
- (setq name (cadr name)
- val (let ((sym (gensym)))
- `(let ((,sym ,val)
- (list (funcall (or (get ',name 'custom-get)
- #'symbol-value)
- ',name)))
- (if (member ,sym list)
- list
- (append list (list ,sym)))))
- load-p t))
- ((eq (car-safe name) 'prepend)
- (setq name (cadr name)
- val (let ((sym (gensym)))
- `(let ((,sym ,val)
- (list (funcall (or (get ',name 'custom-get)
- #'symbol-value)
- ',name)))
- (if (member ,sym list)
- list
- (cons ,sym list))))
- load-p t))
- ((eq (car-safe name) 'remove)
- (setq name (cadr name)
- val `(remove ,name (funcall (or (get ',name 'custom-get)
- #'symbol-value)
- ',name))
- load-p t))
- ((error "Invalid option %S" name)))
- (macroexp-progn
- (append (and load-p `((custom-load-symbol ',name)))
- `((customize-set-variable ',name ,val "Modified by `setup'")
- (custom-push-theme 'theme-value ',name 'user 'reset))))))
+ (cond ((symbolp name) t)
+ ((eq (car-safe name) 'append)
+ (setq name (cadr name)
+ val (let ((sym (gensym)))
+ `(let ((,sym ,val)
+ (list (funcall (or (get ',name 'custom-get)
+ #'symbol-value)
+ ',name)))
+ (if (member ,sym list)
+ list
+ (append list (list ,sym)))))))
+ ((eq (car-safe name) 'prepend)
+ (setq name (cadr name)
+ val (let ((sym (gensym)))
+ `(let ((,sym ,val)
+ (list (funcall (or (get ',name 'custom-get)
+ #'symbol-value)
+ ',name)))
+ (if (member ,sym list)
+ list
+ (cons ,sym list))))))
+ ((eq (car-safe name) 'remove)
+ (setq name (cadr name)
+ val `(remove ,name (funcall (or (get ',name 'custom-get)
+ #'symbol-value)
+ ',name))))
+ ((error "Invalid option %S" name)))
+ `(progn
+ (custom-load-symbol ',name)
+ (customize-set-variable ',name ,val "Modified by `setup'")
+ (custom-push-theme 'theme-value ',name 'user 'reset)))
:documentation "Set the option NAME to VAL.
NAME may be a symbol, or a cons-cell. If NAME is a cons-cell, it
will use the car value to modify the behaviour. These forms are
- [elpa] externals/setup updated (7a78f66 -> 2503ad0), Stefan Monnier, 2021/04/14
- [elpa] externals/setup 669f0fb 01/25: Drop (remove ...) form for user options, Stefan Monnier, 2021/04/14
- [elpa] externals/setup 5e201d7 06/25: Use custom-load-symbol for modifying :option moderations, Stefan Monnier, 2021/04/14
- [elpa] externals/setup ccf2ebf 09/25: Copy commentary changes to README, Stefan Monnier, 2021/04/14
- [elpa] externals/setup 43092c2 11/25: Mention if no local macros are defined in setup docstring, Stefan Monnier, 2021/04/14
- [elpa] externals/setup 7562f2f 12/25: Prevent :option values from being saved in the user theme, Stefan Monnier, 2021/04/14
- [elpa] externals/setup 9a67209 14/25: Always call custom-load-symbol before customizing an option,
Stefan Monnier <=
- [elpa] externals/setup f764229 15/25: Explain how :with-feature sets an implicit mode, Stefan Monnier, 2021/04/14
- [elpa] externals/setup 439b4a8 02/25: Raise an error if lexical binding is not enabled, Stefan Monnier, 2021/04/14
- [elpa] externals/setup a77d9f2 03/25: Don't apply kbd to symbols in :global, :bind, :unbind and :rebind, Stefan Monnier, 2021/04/14
- [elpa] externals/setup ec23802 04/25: Check for duplicate elements with append/remove, Stefan Monnier, 2021/04/14
- [elpa] externals/setup df6f6eb 13/25: Add note on modifying option names, Stefan Monnier, 2021/04/14
- [elpa] externals/setup 7e3d025 05/25: Update documentation for :option and :local-set, Stefan Monnier, 2021/04/14
- [elpa] externals/setup e1d51a3 07/25: Add (remove VAR) form for :option, Stefan Monnier, 2021/04/14
- [elpa] externals/setup 7699c78 08/25: Reindent commentary examples, Stefan Monnier, 2021/04/14
- [elpa] externals/setup c707965 10/25: Handle symbols in :global, :bind, :unbind and :rebind, Stefan Monnier, 2021/04/14
- [elpa] externals/setup ea52eb1 17/25: Add note that :option does not manipulate user theme., Stefan Monnier, 2021/04/14