branch: externals/setup
commit 4137cd074ac84312e777141353dbc3701472e954
Author: Philip K <[email protected]>
Commit: Philip K <[email protected]>
Give an example of setup-based macros
---
README.md | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/README.md b/README.md
index 458f6b2..93ae38d 100644
--- a/README.md
+++ b/README.md
@@ -63,6 +63,21 @@ The `setup` macro is autoloaded, and can be used directly.
The code
generated by `setup` does not depend on `setup.el`, meaning that your
initialization file can be byte-compiled more efficiently.
+Tip
+---
+
+The first element of a `setup` body can but does not have to be a
+name. That can be exploited to use `setup` in your own macros. I have
+this macro in my personal configuration, when I'm only interested in
+modifying user options:
+
+~~~elisp
+(defmacro setc (&rest args)
+ "Customize user options using ARGS like `setq'."
+ (declare (debug setq))
+ `(setup (:option ,@args)))
+~~~
+
Bugs
----