Commit graph

595 commits

Author SHA1 Message Date
Ted Zlatanov
3e24a7363b Revert "use-package-core.el: use the Emacs set-default function to avoid saving :custom vars twice"
This reverts commit 8c31c57106.
2020-11-29 12:09:48 +00:00
Ted Zlatanov
8ef7978028 set saved-variable-comment from :custom
GitHub-reference: https://github.com/jwiegley/use-package/issues/861
2020-11-29 12:09:48 +00:00
John Wiegley
99643f8873 Update version to 2.4.1 2020-11-10 13:33:45 -08:00
Kaleb Elwert
4938167bff Remove use-package-font-lock-keywords
Copyright-paperwork-exempt: yes
2020-08-11 01:44:31 -07:00
Philipp Stephani
5bd7e0ca7d Migrate remaining files to lexical binding 2020-08-03 21:37:34 +02:00
Jimmy Yuen Ho Wong
1f54de9210 Merge branch 'master' into patch-1 2020-07-22 02:05:31 +01:00
Ted Zlatanov
13b1e202bf Update the documentation for :custom as per
GitHub-reference: https://github.com/jwiegley/use-package/issues/850
2020-07-12 16:09:10 -04:00
Jimmy Yuen Ho Wong
d3f847eaee Fix broken test due to
GitHub-reference: https://github.com/jwiegley/use-package/issues/850
2020-07-12 15:57:49 -04:00
Jimmy Yuen Ho Wong
950068809b Support keymap symbol in bind-key
GitHub-reference: fix https://github.com/jwiegley/use-package/issues/845
2020-07-08 04:46:56 +01:00
Ted Zlatanov
8c31c57106 use-package-core.el: use the Emacs set-default function to avoid saving :custom vars twice 2020-06-22 14:24:09 -04:00
John Wiegley
203d15e34e Merge branch 'master' into call-hooks-even-if-no-config 2020-06-18 11:03:35 -07:00
Nahuel Greco
44c837879e typo, should be a vector, not a bytecode object
Solves https://github.com/jwiegley/use-package/issues/842
2020-05-20 13:44:47 -03:00
John Lee
0ec4660f74 Add special value back again, in case needed for backwards compat
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
2020-05-09 23:46:53 +01:00
John Lee
f30d5761af Even when there's no :config, run any pre/post config hooks
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
2020-05-09 23:46:53 +01:00
John Wiegley
8b8522650e Clarify the documentation for :after 2020-03-04 16:29:16 -08:00
Jonas Bernoulli
8c7fa11a3f Fix typos 2019-11-06 13:49:46 +01:00
Radon Rosborough
4c8d5f0b21 Switch from require' to load' + `featurep' 2019-07-15 22:11:13 -07:00
Radon Rosborough
27fd32c47b Use require', not load', when byte-compiling 2019-07-12 08:25:21 -07:00
Justin Talbott
0d720a0f61 update bind-chords to use of eval-after-load when maps declared
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
2019-06-20 11:48:55 -04:00
Justin Talbott
8f1a345b5b rename function 2019-06-14 20:00:16 -04:00
Justin Talbott
8ec41be418 extract use-package-hook-handler-flatten-mode-symbols function 2019-06-14 19:48:25 -04:00
Justin Talbott
4149ec6cfa use use-package-as-one for normalizing :ensure-system-package
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"))
```
2019-06-14 18:50:38 -04:00
Vincent Zhang
c297dfdd20 Make custom-face evaluate elisp
Fix https://github.com/jwiegley/use-package/issues/696.

Copyright-paperwork-exempt: yes
2019-05-29 17:42:19 +08:00
Naoya Yamashita
8fe0ac2983 * use-package-core.el (use-package): fix declare style
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.
2019-04-14 19:44:54 +09:00
Andrew Stribblehill
95f24f9628 Add a line of documentation for (use-pacakage ... :hook)
Copyright-paperwork-exempt: yes
2019-04-04 11:19:52 +02:00
John Wiegley
7e40a9c424 Merge pull request from conao3/fix_default_value
fix gethash default value for use-package-statistics-time
GitHub-reference: https://github.com/jwiegley/use-package/issues/681
2018-11-19 15:50:27 -08:00
Jonas Bernoulli
fc6fef6869 Silence byte-compiler on Emacs 25
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.
2018-11-10 18:52:37 +01:00
John Wiegley
3f96971feb Merge pull request from jwiegley/use-package-chords-suppress-compiler-message
prefix argument with _ to suppress Unused lexical argument warning
GitHub-reference: https://github.com/jwiegley/use-package/issues/713
2018-10-24 16:22:41 -07:00
Laurence Rochfort
ca39ed155f [] Install system packages using system-packages-install
: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
2018-09-12 19:12:49 +01:00
Justin Talbott
607879e647 prefix argument with _ to suppress Unused lexical argument warning
per @tarsius’s comment
5d9c854a6c (commitcomment-29996666)
2018-08-13 15:15:42 -04:00
John Wiegley
4a34b41f96 Merge pull request from justbur/autoload-keymap
Correct prefix keys after use-package-autoload-keymap
GitHub-reference: https://github.com/jwiegley/use-package/issues/686
2018-07-15 11:01:24 -07:00
Justin Talbott
2a8c2ffea2 allow :ensure-system-package to check the presence of files at path
closes https://github.com/jwiegley/use-package/issues/660
2018-07-09 17:48:40 -04:00
Russell Black
38dcba6872 Place :chords at beginning of use-package-keywords
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.
2018-06-28 20:40:58 -06:00
John Wiegley
5fb369c968 Merge branch 'master' into patch-1 2018-06-25 12:09:44 -07:00
Alex Branham
bdd7fd3565 Fix use-package-normalize-function 2018-06-13 20:24:09 -05:00
Alex Branham
e2e6f9a44b Enable lexical binding
This supersedes https://github.com/jwiegley/use-package/issues/617 and closes https://github.com/jwiegley/use-package/issues/648
2018-06-13 20:24:09 -05:00
Justin Burkett
c980371f6f Correct prefix keys after use-package-autoload-keymap
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
2018-06-03 21:38:20 -04:00
Artyom Khramov
f38a100917 Ensure system package cleanup
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
2018-05-20 00:53:08 +06:00
Naoya Yamashita
db35639457 fix gethash default value for use-package-statistics-time
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
2018-05-19 14:21:26 +09:00
Andrew Schwartzmeyer
d2fec5e5e3 Document that remapping commands is supported with bind-key
Copyright-paperwork-exempt: yes
2018-04-30 09:55:27 -07:00
Artyom Khramov
9f034a0bcf [] ensure-system-package: honor system-packages customizations
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
2018-04-26 03:01:19 +06:00
Russell Black
dc83e2f035 Update use-package-chords.el 2018-03-23 22:04:48 -06:00
Russell Black
c9f6cae603 Update use-package-chords.el
new style of auto-deferral for chords
2018-03-23 21:46:36 -06:00
Justin Talbott
e5d3826b62 :ensure-system-package allow cdr of cons to be a package name symbol
closes https://github.com/jwiegley/use-package/issues/652
2018-03-16 12:29:20 -04:00
Damien Cassou
69a561b86b Fix compile-time warnings due to the statistics-reporting code
The code worked because the file is using dynamic binding.
2018-03-12 08:42:16 +01:00
Damien Cassou
2a47998844 Add missing require
This is used for `hash-table-keys`.

Fix https://github.com/jwiegley/use-package/issues/644.
2018-03-12 08:42:16 +01:00
John Wiegley
cba5a11368 Revert "Fix report" 2018-03-11 21:37:02 -07:00
Damien Cassou
b28efb4847 Fix compile-time warnings due to the statistics-reporting code
The code worked because the file is using dynamic binding.
2018-03-11 13:24:08 +01:00
Damien Cassou
bce655f616 Add missing require
This is used for `hash-table-keys`.

Fix https://github.com/jwiegley/use-package/issues/644.
2018-03-11 13:23:49 +01:00
Damien Cassou
ae22d74a16 Use a tabulated-list to display package configuration statistics
Fix https://github.com/jwiegley/use-package/issues/641
2018-03-08 21:00:31 +01:00