Do not require 'elisp-mode' before using it
Regard byte compilation warnings as errors
Add `append*`, `prepend*`, and `remove*` to doc string of `:local-set`.
Suggested changes to use new repeatability.
Add way to repeat the first N arguments.
Instead of just numbers or `t` for `:repeatable`, one can also use
a dotted pair of numbers or of a number and `t`.
This allows the first arguments to be repeated in the body,
if we only want repeat a few arguments while using the
`:ensure` keyword.
For example,
(setup-define :example-local-hook
(lambda (hook function)
`(add-hook ',(setup-get 'hook)
(lambda ()
(add-hook ',hook ,function nil t))))
:documentation "Add FUNCTION to HOOK only in buffers of the current mode."
:debug '(symbolp sexp)
:ensure '(nil func)
:repeatable '(1 . 1))
lets us write it as `(:example-local-hook hook f1 f2 f3 f4 ...)`
without needing to repeat `hook` in the local macro.
Add `&rest` to `:ensure`.
Move `ensure`-ing to a separate function.
Fix "SourceHut" link in README
Fix :and when last expression is a symbol
Fix typo in the first README paragraph
Partially revert previous commit
We don't want to quit a body just because the last form might evaluate
to nil.
Fix :and implementation
The body was more complicated than is necessary, and the shorthand did
not behave the way one would intuitively have assumed.
Restructure README.md
These changes make the README more consistent with Compat's README.
Drop obsolete code section