Back in Emacs-21.1, `define-minor-mode' grew keyword arguments to
replace its old positional arguments. Starting with Emacs-28.1
a warning will be omitted if positional arguments are still used.
to boost startup performance, it is better to avoid invoking
`read-kbd-macro` at run time which requires 'cl-lib.
it takes ~20ms to load cl-lib
Copyright-paperwork-exempt: yes
Purely syntactic sugar, using :continue is the same as not using any
keyword inside :repeat-map at all.
Amend end of function to pass repeat-map value onto next invocation in
recursive uses. This allows for the same repeat map to be used for
:exit and :continue.
Keys bound inside the scope of :exit are bound inside the repeat map,
but do not have their repeat-map property set (so they run a function,
but 'exit' the map).
use-package-normalize/:bind: allow keyword :repeat-map.
bind-keys-form: Add keyword :repeat-map. Specifying a symbol as the
repeat-map defines a keymap with that name (and with the docstring
`repeat-doc', if specified). Symbols for functions bound to keys under
the scope of :repeat-map have their 'repeat-map property set to this
map. Update docstring (and that of `bind-keys') to reflect changes.
Rename `doc' to `prefix-doc' for clarity and consistency with
'repeat-doc'.
* eval-when-compile for cases where use-package is only required at
compile time
* remove the 'use-package theme from custom-enabled-themes so e.g.
(mapc #'disable-theme custom-enabled-themes)
won't kill user settings.
I don't know why this special value exists, but perhaps old client code uses it.
The additional `t' in the macro expansion is accidental but not harmful I guess.
Copyright-paperwork-exempt: yes
i.e., following the existing docs for use-package-inject-hooks, these hooks are
run:
use-package--foo--pre-config-hook
use-package--foo--post-config-hook
This should make config customisations more predictable (for example, spacemacs
uses these hooks extensively to allow 'layers' to be customised).
I got rid of the "special" default value for :config, because it doesn't seem to
be treated any differently than nil.
Fixes https://github.com/jwiegley/use-package/issues/785
Copyright-paperwork-exempt: yes
also improve :chord keyword syntax processing to more closely mimic bind-keys since the same binding
normalizer is used.
also add tests for use-package-chords to cover these test cases
This makes the preferred syntax consistent with other `use-package`
keywords. All of these are now valid:
```
(use-package format-all
:ensure-system-package
(prettier . "npm i -g prettier")
(rufo . "gem install rufo"))
(use-package format-all
:ensure-system-package
((prettier . "npm i -g prettier")
(rufo . "gem install rufo")))
(use-package format-all
:ensure-system-package
(prettier . "npm i -g prettier"))
```