[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/setup 5e201d7 06/25: Use custom-load-symbol for modifyi
From: |
Stefan Monnier |
Subject: |
[elpa] externals/setup 5e201d7 06/25: Use custom-load-symbol for modifying :option moderations |
Date: |
Wed, 14 Apr 2021 18:49:00 -0400 (EDT) |
branch: externals/setup
commit 5e201d750e4c9346958357427a9626a4bd668ac4
Author: Philip K <philipk@posteo.net>
Commit: Philip K <philipk@posteo.net>
Use custom-load-symbol for modifying :option moderations
---
setup.el | 51 ++++++++++++++++++++++++++++-----------------------
1 file changed, 28 insertions(+), 23 deletions(-)
diff --git a/setup.el b/setup.el
index 1bcc501..c42943d 100644
--- a/setup.el
+++ b/setup.el
@@ -321,29 +321,34 @@ the first FEATURE."
(setup-define :option
(lambda (name val)
- (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))))))
- ((error "Invalid option %S" name)))
- `(customize-set-variable ',name ,val "Modified by `setup'"))
+ (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))
+ ((error "Invalid option %S" name)))
+ (macroexp-progn
+ (append (and load-p `((custom-load-symbol ',name)))
+ `((customize-set-variable ',name ,val "Modified by
`setup'"))))))
: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 <=
- [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, 2021/04/14
- [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