Commit graph

465 commits

Author SHA1 Message Date
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
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
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
Matthew Justin Bauer
2250f89ac0 Support ":package" in use-package
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.
2018-02-25 15:03:43 -06:00
Justin Burkett
46503b194c Fix usage of plist argument in use-package-normalize-plist
Previously the argument was never used.
2018-02-06 12:48:51 -05:00
Justin Burkett
09266283b9 Add use-package-ignore-unknown-keywords option
This option allows use-package to skip over keywords it doesn't recognize.
2018-02-06 11:42:06 -05:00
John Wiegley
ab918196fa Revert "Merge pull request from jabranham/lexical-bindings"
This reverts commit d21787f1d6, reversing
changes made to fd8a3510fd.
GitHub-reference: https://github.com/jwiegley/use-package/issues/617
2018-01-27 14:13:48 -08:00
John Wiegley
566a2ea3a1 Revert "Move variable bindings to the bottom of each file"
This reverts commit c29193bf07.
2018-01-27 14:09:10 -08:00
John Wiegley
c29193bf07 Move variable bindings to the bottom of each file 2018-01-27 14:07:11 -08:00
Alex Branham
109167e8f5 Don't remove sharp quotes 2018-01-27 15:17:26 -06:00
Alex Branham
4c3abcf4eb Fix byte compiler warnings 2018-01-27 10:19:42 -06:00
Alex Branham
88bcb8b96d Use lexical bindings and remove cl package 2018-01-27 10:01:10 -06:00
Alex Branham
b7252f8e63 lexical binding 2018-01-26 22:37:47 -06:00
Alex Branham
46ee100327 Prefer non-obsolete var names 2018-01-26 22:37:31 -06:00
Alex Branham
8a6430835f Prefer org-table-align to orgtbl-ctrl-c-ctrl-c
org-table-align is an autoloaded function so the byte compiler can
find it. orgtbl-ctrl-c-ctrl-c isn't so we get a warning about
undefined functions.
2018-01-08 19:21:46 -06:00
John Wiegley
13a9e339f2 Merge pull request from justbur/elisp-cap
Handle automatic macro expansion by elisp-completion-at-point
GitHub-reference: https://github.com/jwiegley/use-package/issues/599
2017-12-26 11:04:41 -08:00
John Wiegley
44cb99fcc7 Merge pull request from nickmccurdy/render-report-table
Render the use-package-report table using Org
GitHub-reference: https://github.com/jwiegley/use-package/issues/592
2017-12-26 11:04:13 -08:00
wouter bolsterlee
1fdfd46fb2 Fix sanity check for correct :custom-face format
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
2017-12-20 08:31:56 +01:00
Justin Burkett
9638870f53 Handle automatic macro expansion by elisp-completion-at-point
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.
2017-12-19 22:30:59 -05:00
John Wiegley
13fb5f4f2e Guard a call to display-warning with ignore
Fixes https://github.com/jwiegley/use-package/issues/589
2017-12-17 00:35:01 -08:00
Nick McCurdy
cb15dffbd7 Render the use-package-report table using Org
I noticed that the "Gathering Statistics" instructions for rendering the Org
table could be automated for convenience. Now the table is reformatted
automatically, and you can still manually sort it. I'm not sorting it by default
to maintain the same order of use-package forms for easier troubleshooting.
2017-12-16 14:54:08 -05:00
John Wiegley
2d226310f1 All the second argument in use-package-defaults lists to be a function
Address the question raised in https://github.com/jwiegley/use-package/issues/591
2017-12-15 22:48:42 -08:00
John Wiegley
4aa9b0cd6a Minor simplification of a function 2017-12-10 21:36:41 -08:00
John Wiegley
a4d2e77961 bind-keys fixes related to
GitHub-reference: https://github.com/jwiegley/use-package/issues/482
2017-12-10 21:25:37 -08:00
John Wiegley
ec84ed0dfb Fix a scoping issues with multiple occurrences of :bind
Fixes https://github.com/jwiegley/use-package/issues/585
2017-12-09 16:29:11 -08:00
John Wiegley
5a02d61ac6 Start building a use-package linter in use-package-lint.el 2017-12-08 00:44:29 -08:00
John Wiegley
7e458c640c use-package-normalize/:disabled has the wrong number of arguments 2017-12-08 00:28:14 -08:00
John Wiegley
0068501aa0 Remove several unnecessary calls to `ignore' 2017-12-07 22:40:48 -08:00
John Wiegley
8fefa49d39 Changes to the way auto-deferral is indicated
This change adds a new extension hook `use-package-autoloads/<KEYWORD>` for
specifying exactly which autoloads a keyword should imply. This is the proper
way to indicate autoloads, rather than adding to the `:commands` entry as was
done before.

Further, autoloading now must occur in order to cause implied deferred
loading; if :bind is used with only lambda forms, for example, this will not
cause deferred loading without `:defer t`.
2017-12-07 13:14:32 -08:00
John Wiegley
80e8a599b4 Introduce new customization variable `use-package-merge-key-alist' 2017-12-07 13:13:49 -08:00
John Wiegley
96ecfab9e4 Use cl-gentemp in another place
This avoids "Variable unknown" errors if a byte-compiled init.elc happening to
encounter an error while evaluating an :init or :config block.
2017-12-06 22:52:34 -08:00
John Wiegley
7803571280 Correctly fix the problem of unreferenced symbols after compilation
Fixes https://github.com/jwiegley/use-package/issues/571
2017-12-06 20:59:10 -08:00
John Wiegley
20694696b2 Revert "Pre-expand lexical-let, since otherwise it requires cl to be loaded"
This reverts commit 7cc17cee8f.
2017-12-07 04:53:10 +00:00