* 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
use-package specified lisp-indent-function to indent like defun.
Currently, use-package main macro specify indent as (declare (indent 1)),
then change indent mode like defun.
(declare (indent defun)) is same effect.
And it is useful when redefining use-package.
Emacs 25 defined a global variable `features', which triggers a
warning "Lexical argument shadows the dynamic variable features".
That's not `use-package's fault, but we should suppress the warning
anyway, so that there is no additional noise that would cause us to
potentially overlook warnings that absolutely have to be addressed.
float-time expect list like (HIGH LOW USEC PSEC)
> HIGH has the most significant bits of the seconds, while LOW has the
> least significant 16 bits. USEC and PSEC are the microsecond and
> picosecond counts.
by `current-time` in editfns.c
Instead of testing the length of each form passed to :custom-face,
the sanity check would test the number of forms passed to :custom-face,
causing it to fail when more than 2 face customisations are used.
Fixes https://github.com/jwiegley/use-package/issues/600.
Copyright-paperwork-exempt: yes
The function `elisp--local-variables' inserts an unbound variable,
`elisp--witness--lisp', into macro forms to determine the locally bound
variables for `elisp-completion-at-point'. It ends up throwing a lot of errors
since it can occupy the position of a keyword (or look like a second argument to
a keyword that takes one). Deleting it when it's at the top level should be
harmless since there should be no locally bound variables to discover here
anyway.