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
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.
:ensure-system-package was installing packages by running
system-packages-get-command via async-shell-command. This meant that
system-packages-use-sudo wasn't being honoured.
This patch makes :ensure-system-package use system-packages-install
for all cases, except where a custom install command is supplied, in
which case async-shell-command is used.
This issue was introduced in 9f034a0bcf [https://github.com/jwiegley/use-package/issues/673], as a fix for
[https://github.com/jwiegley/use-package/issues/661]. Prior to that commit, system-packages-use-sudo was being
honoured.
This patch also fixes a bug where a cons containing a lone symbol in a
list of conses causes nil to used as the package to install.
GitHub-reference: fix https://github.com/jwiegley/use-package/issues/720
Copyright-paperwork-exempt: yes
When it is at the end, the keys don't get bound until after the package has been loaded, which is bad. Placing it at the beginning allows the key bindings to be mapped to auto-loaded functions before the package is loaded, so that a key chord press triggers the package load.
By adding events of the form (cons t event) to unread-command-events, Emacs
correctly updates this-command-keys for the subsequent use of the prefix.
Before this change, packages like my which-key were not getting the correct
prefix after use-package-autoload-keymap loaded the relevant package.
See https://github.com/justbur/emacs-which-key/issues/192
The function introduced in https://github.com/jwiegley/use-package/issues/673 wasn't declared at compile time, and
it made byte compiler unhappy. Moreover, it was forgotten to remove
redundant compile time variables. Thanks @tarsius for pointing that
out.
This change
* Removes redundant variable declarations
* Adds `system-packages-get-command` function declaration.
Copyright-paperwork-exempt: yes
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
ensure-system-package doesn't honor system-packages
customizations (https://github.com/jwiegley/use-package/issues/661), because system-packages didn't provide an API
to retrieve shell command to be executed.
This change makes use of the new system-packages'
`system-package-get-command` function and therefore fixes the issue.
GitHub-reference: fix https://github.com/jwiegley/use-package/issues/661
Copyright-paperwork-exempt: yes
bind-key supports the keyword ":package" but use-package does not know that. Adding this should be helpful. In the future, maybe we could automatically fill in with the use-package package, but that could be a breaking change.
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