John Wiegley [Mon, 16 Mar 2015 07:48:55 +0000 (02:48 -0500)]
Output Compiling message only if verbose is enabled
John Wiegley [Mon, 16 Mar 2015 07:48:13 +0000 (02:48 -0500)]
Allow :pin to accept a symbol
John Wiegley [Mon, 16 Mar 2015 02:23:40 +0000 (21:23 -0500)]
Relax a path normalization check
John Wiegley [Mon, 16 Mar 2015 02:21:11 +0000 (21:21 -0500)]
Correct an erroneous symbol reference
John Wiegley [Mon, 16 Mar 2015 01:39:19 +0000 (20:39 -0500)]
Update docstring for :disabled
John Wiegley [Mon, 16 Mar 2015 00:07:16 +0000 (20:07 -0400)]
Merge pull request from npostavs/eval-after-name
use--package: eval-after-load name
GitHub-reference: https://github.com/jwiegley/use-package/issues/168
John Wiegley [Mon, 16 Mar 2015 00:07:03 +0000 (19:07 -0500)]
Undo an erroneous change
John Wiegley [Sun, 15 Mar 2015 23:49:08 +0000 (18:49 -0500)]
Add -hook to the injected hooks
Fixes https://github.com/jwiegley/use-package/issues/161
John Wiegley [Sun, 15 Mar 2015 23:45:41 +0000 (18:45 -0500)]
Restore an earlier fix to
Fixes https://github.com/jwiegley/use-package/issues/167
GitHub-reference: https://github.com/jwiegley/use-package/issues/53
John Wiegley [Sun, 15 Mar 2015 23:07:37 +0000 (18:07 -0500)]
BREAKING CHANGE: Remove :idle and :idle-priority
I am removing this feature for now because it can result in a nasty
inconsistency. Consider the following definition:
(use-package vkill
:commands vkill
:idle (some-important-configuration-here)
:bind ("C-x L" . vkill-and-helm-occur)
:init
(defun vkill-and-helm-occur ()
(interactive)
(vkill)
(call-interactively #'helm-occur))
:config
(setq vkill-show-all-processes t))
If I load my Emacs and wait until the idle timer fires, then this is the
sequence of events:
:init :idle <load> :config
But if I load Emacs and immediately type C-x L without waiting for the
idle timer to fire, this is the sequence of events:
:init <load> :config :idle
It's possible that the user could use `featurep` in their idle to test
for this case, but that's a subtlety I'd rather avoid.
What I would consider is this: `:idle [N]` is a keyword that simply
implies `:defer`, with an option number of N to specify a second count.
After that many seconds, if the package has not yet been loaded by
autoloading, it will be loaded via the idle timer.
This approach has the benefit of complete consistency for both the idle
and the autoloaded cases. Although, the fact that it implies `:defer`
means we don't have to consider what it means to add `:idle` behavior to
a demand-loaded configuration.
Noam Postavsky [Sun, 15 Mar 2015 19:14:04 +0000 (15:14 -0400)]
use--package: eval-after-load name
instead of name-string. This prevents triggering by config file names
that have the same name as the package.
Reprise of
c6d79d2cb40bd141f62eaca6dca47fb2e8e6943f
John Wiegley [Sun, 15 Mar 2015 08:49:16 +0000 (03:49 -0500)]
Support optional injection of hooks, for Spacemacs
John Wiegley [Sun, 15 Mar 2015 07:22:17 +0000 (02:22 -0500)]
Add :preface, occurring before everything except :disabled
This can be used to establish function and variable definitions that
will 1) make the byte-compiler happy (it won't complain about functions
whose definitions are unknown because you have them within a guard
block), and 2) allow you to define code that can be used in an `:if`
test.
John Wiegley [Sun, 15 Mar 2015 07:21:53 +0000 (02:21 -0500)]
Some minor code reformatting
John Wiegley [Sun, 15 Mar 2015 07:21:40 +0000 (02:21 -0500)]
Fix to :ensure normalization
John Wiegley [Sun, 15 Mar 2015 06:49:09 +0000 (02:49 -0400)]
Merge pull request from thomasf/master
Fix :ensure value interpretation
GitHub-reference: https://github.com/jwiegley/use-package/issues/163
John Wiegley [Sun, 15 Mar 2015 06:47:42 +0000 (02:47 -0400)]
Merge pull request from npostavs/warning
use-package-expand: use display-warning
GitHub-reference: https://github.com/jwiegley/use-package/issues/162
Thomas Frössman [Sat, 14 Mar 2015 16:53:02 +0000 (17:53 +0100)]
Fix :ensure value interpretation
Noam Postavsky [Sat, 14 Mar 2015 15:33:12 +0000 (11:33 -0400)]
use-package-expand: use display-warning
instead of with-demoted-errors. This prevents errors from getting lost
in the *Messages* buffer.
John Wiegley [Sat, 14 Mar 2015 10:22:43 +0000 (05:22 -0500)]
Begin refactoring for 2.0; NOTE: BREAKING CHANGES
The major change is that :init is now always performed before loading a
file, whether loading is deferred or not. This is a change from before,
where the semantics of :init varied between demand and defer. The new
usage is now entirely consistent.
Also, because :init and :config now mean "before" and "after", the
:pre-* and :post-* keywords are gone, as they should no longer be
necessary.
Lastly, an effort has been made to make your Emacs start even in the
presence of use-package configuration failures. So after this change,
be sure to check your *Messages* buffer. Most likely, you will have
several instances where you are using :init, but should be using :config
(this was the case for me in a number of places).
John Wiegley [Fri, 13 Mar 2015 09:47:07 +0000 (04:47 -0500)]
Many stylistics cleanups and simplifications
John Wiegley [Fri, 13 Mar 2015 08:26:09 +0000 (03:26 -0500)]
Revert "Don't add autoload for existing commands"
This reverts commit
a2b23f8326d06690c8092ecc5e83ba2e4dd3c336.
John Wiegley [Fri, 13 Mar 2015 08:25:32 +0000 (03:25 -0500)]
Stylistic changes
John Wiegley [Fri, 13 Mar 2015 08:13:31 +0000 (03:13 -0500)]
Minor style edits
John Wiegley [Fri, 13 Mar 2015 08:02:47 +0000 (03:02 -0500)]
Minor changes
John Wiegley [Fri, 13 Mar 2015 07:58:37 +0000 (02:58 -0500)]
Show more informative errors when they occur
John Wiegley [Sun, 18 Jan 2015 15:22:03 +0000 (09:22 -0600)]
Merge pull request from tarsius/master
Allow using expanded macro without loading feature
GitHub-reference: https://github.com/jwiegley/use-package/issues/151
Jonas Bernoulli [Sun, 18 Jan 2015 10:41:13 +0000 (11:41 +0100)]
Allow using expanded macro without loading feature
In the macro `use-package-with-elapased-timer' use `bound-and-true-p'
go get the values of the customizable options `use-package-verbose'
and `use-package-minimum-reported-time'. This way the library only
has to be required at compile time, provided these options are not
actually customized. If the user has changed the values, then she
also has to load the library at runtime or the macros fall back to
the default of doing their job silently. See https://github.com/jwiegley/use-package/issues/149.
John Wiegley [Sun, 4 Jan 2015 06:23:22 +0000 (00:23 -0600)]
Merge pull request from killdash9/keymap
Passing t into keymap function
GitHub-reference: https://github.com/jwiegley/use-package/issues/145
Russell Black [Sat, 3 Jan 2015 20:53:38 +0000 (13:53 -0700)]
Passing t into keymap function
John Wiegley [Sat, 3 Jan 2015 02:09:31 +0000 (20:09 -0600)]
Merge pull request from killdash9/keymap
:bind-keymap - bind a key prefix to an autoloaded package keymap
GitHub-reference: https://github.com/jwiegley/use-package/issues/142
John Wiegley [Fri, 2 Jan 2015 23:32:19 +0000 (17:32 -0600)]
Merge pull request from thiagowfx/patch-1
fix small typo (key > keymap)
GitHub-reference: https://github.com/jwiegley/use-package/issues/144
Thiago Barroso Perrotta [Fri, 2 Jan 2015 15:58:49 +0000 (13:58 -0200)]
fix small typo (key > keymap)
Russell Black [Thu, 1 Jan 2015 00:02:25 +0000 (17:02 -0700)]
:bind-keymap - bind a key prefix to an autoloaded package keymap
John Wiegley [Sun, 21 Dec 2014 00:45:21 +0000 (18:45 -0600)]
Merge pull request from vermiculus/master
Do not quote lambda expressions
GitHub-reference: https://github.com/jwiegley/use-package/issues/140
Sean Allred [Sat, 20 Dec 2014 04:12:47 +0000 (23:12 -0500)]
Do not quote lambda expressions
http://emacs.stackexchange.com/a/3596
Quoting lambda expressions is at best redundant and at worst
detrimental; this commit removes all use of the sharp-quote to reduce
confusion.
John Wiegley [Wed, 17 Dec 2014 21:53:42 +0000 (15:53 -0600)]
Merge pull request from YoungFrog/fixautoloads
Don't add autoload for existing commands
GitHub-reference: https://github.com/jwiegley/use-package/issues/138
John Wiegley [Wed, 17 Dec 2014 20:52:39 +0000 (14:52 -0600)]
Merge pull request from peterhoeg/master
Check if an archive is valid when pinning
GitHub-reference: https://github.com/jwiegley/use-package/issues/137
Peter Hoeg [Wed, 17 Dec 2014 20:34:49 +0000 (04:34 +0800)]
Check if package-archives are valid when pinning
Nicolas Richard [Thu, 11 Dec 2014 07:42:53 +0000 (08:42 +0100)]
Don't add autoload for existing commands
Peter Hoeg [Tue, 16 Dec 2014 21:45:53 +0000 (05:45 +0800)]
pure cleanup
John Wiegley [Tue, 16 Dec 2014 19:29:02 +0000 (13:29 -0600)]
Merge pull request from peterhoeg/master
Support for pinning package to archive
GitHub-reference: https://github.com/jwiegley/use-package/issues/136
Peter Hoeg [Thu, 11 Dec 2014 06:44:27 +0000 (14:44 +0800)]
support for pinning package to archive
John Wiegley [Thu, 18 Sep 2014 20:33:08 +0000 (21:33 +0100)]
Merge pull request from Silex/master
Fix "compiling" typo
GitHub-reference: https://github.com/jwiegley/use-package/issues/125
John Wiegley [Thu, 18 Sep 2014 20:32:55 +0000 (21:32 +0100)]
Merge pull request from waymondo/master
Add :bind* keyword for `bind-key*`
GitHub-reference: https://github.com/jwiegley/use-package/issues/126
Justin Talbott [Tue, 16 Sep 2014 20:38:58 +0000 (16:38 -0400)]
add :bind* keyword for `bind-key*`
Philippe Vaucher [Tue, 16 Sep 2014 16:34:42 +0000 (18:34 +0200)]
Fix "compiling" typo
John Wiegley [Sun, 14 Sep 2014 13:26:57 +0000 (14:26 +0100)]
Merge pull request from thomasf/master
Display which package that has compile errors
GitHub-reference: https://github.com/jwiegley/use-package/issues/124
Thomas Frössman [Sun, 14 Sep 2014 10:57:44 +0000 (12:57 +0200)]
Display which package that has compile errors
John Wiegley [Mon, 8 Sep 2014 15:06:16 +0000 (16:06 +0100)]
Merge pull request from tarsius/master
assume the declare-function macro exists
GitHub-reference: https://github.com/jwiegley/use-package/issues/123
Jonas Bernoulli [Sun, 7 Sep 2014 12:43:56 +0000 (14:43 +0200)]
assume the declare-function macro exists
Since `declare-function' was added in Emacs 23.1 (five years ago), we
don't need to assert that it is defined. If the assertion was without
any problems there would be no harm in keeping it, but unfortunately it
causes a compile warning. Because `declare-function' is a macro with
always expands to `nil' the value of (fboundp 'declare-function) ends
up being unused.
John Wiegley [Fri, 20 Jun 2014 20:43:18 +0000 (13:43 -0700)]
Merge pull request from BernardHurley/master
bind-keys macro changed to allow prefix map to have a menu string.
GitHub-reference: https://github.com/jwiegley/use-package/issues/112
Bernard Hurley [Fri, 20 Jun 2014 04:45:51 +0000 (05:45 +0100)]
bind-keys macro changed to allow prefix map to have a menu string
John Wiegley [Sat, 31 May 2014 19:42:14 +0000 (14:42 -0500)]
Merge pull request from npostavs/desc-vector
Avoid putting vector key sequences in personal-keybindings
GitHub-reference: https://github.com/jwiegley/use-package/issues/110
Noam Postavsky [Sat, 31 May 2014 19:21:44 +0000 (15:21 -0400)]
bind-key: cleanup
Noam Postavsky [Sat, 31 May 2014 18:58:07 +0000 (14:58 -0400)]
bind-key: no vector keys in personal-keybindings
describe-personal-keybindings requires the key sequences to be stored as
strings.
Noam Postavsky [Sat, 31 May 2014 19:03:17 +0000 (15:03 -0400)]
personal-keybindings: add docstring
fix typo in bind-key docstring
John Wiegley [Sun, 25 May 2014 17:09:09 +0000 (12:09 -0500)]
Merge pull request from alezost/bind-keys
Add bind-keys*
GitHub-reference: https://github.com/jwiegley/use-package/issues/107
Alex Kost [Sun, 25 May 2014 09:04:00 +0000 (13:04 +0400)]
Add bind-keys* macro
John Wiegley [Sat, 17 May 2014 11:45:36 +0000 (06:45 -0500)]
Merge pull request from thomasf/master
Don't abort compiling package loading fails
GitHub-reference: https://github.com/jwiegley/use-package/issues/106
Thomas Frössman [Sat, 17 May 2014 08:28:41 +0000 (10:28 +0200)]
Don't abort compiling if package loading fails
John Wiegley [Thu, 8 May 2014 18:25:39 +0000 (13:25 -0500)]
Revert "Merge pull request from alexko/master"
This reverts commit
8c04377608bd9b27d6fc6c37990984185563a907, reversing
changes made to
a9ba368fa79e4c15b624de73e30c87c98475d466.
GitHub-reference: https://github.com/jwiegley/use-package/issues/104
John Wiegley [Wed, 7 May 2014 17:24:10 +0000 (12:24 -0500)]
Merge pull request from alexko/master
if package can't be located, treat it the same way as disabled
GitHub-reference: https://github.com/jwiegley/use-package/issues/104
John Wiegley [Wed, 7 May 2014 07:42:27 +0000 (02:42 -0500)]
Merge pull request from YoungFrog/fix-mult-mode
Eval backquote earlier and support non-`progn' lists.
GitHub-reference: https://github.com/jwiegley/use-package/issues/95
Alex Kosorukoff [Wed, 7 May 2014 02:29:48 +0000 (19:29 -0700)]
if package can't be located, treat it the same way as disabled
There will be a message "Unable to locate <package-name>" in the log.
Nicolas Richard [Thu, 6 Mar 2014 09:46:33 +0000 (10:46 +0100)]
Eval backquote earlier and support non-`progn' lists
* use-package.el (use-package-plist-get): add optional args: `eval-backquote'
and `no-progn' to control how arguments are retrieved.
(use-package-plist-get-value): remove this function
(use-package): replace calls to old function to modified function.
Fixes issue https://github.com/jwiegley/use-package/issues/94.
Rationale :
- use-package-plist-get-value was just another layer for no good reason,
and IMO its name was totally unclear.
- we now eval-as-backquote earlier, allowing constructs like:
(let ((my-list-of-commands-in-foo '(foo1 foo2)))
(use-package foo :commands ,@my-list-of-commands-in-foo))
John Wiegley [Tue, 15 Apr 2014 00:44:04 +0000 (19:44 -0500)]
Merge pull request from YoungFrog/keynameeval
* bind-key.el (bind-key): don't eval key-name at macro expansion time.
GitHub-reference: https://github.com/jwiegley/use-package/issues/102
Nicolas Richard [Mon, 14 Apr 2014 17:56:54 +0000 (19:56 +0200)]
* bind-key.el (bind-key): don't eval key-name at macro expansion time
John Wiegley [Mon, 14 Apr 2014 13:35:39 +0000 (08:35 -0500)]
Merge pull request from npostavs/bind-vectors
bind-keys: bind directly to prefix-map
GitHub-reference: https://github.com/jwiegley/use-package/issues/101
Noam Postavsky [Mon, 14 Apr 2014 03:55:06 +0000 (23:55 -0400)]
bind-keys: bind directly to prefix-map
instead of constructing equivalent key sequence by string concatenation.
This allows specifying vector key sequences, as in bind-key (since
f0776c2aeb3f7f0af66597e10a3e4469ca26629d).
Noam Postavsky [Mon, 14 Apr 2014 04:01:28 +0000 (00:01 -0400)]
bind-keys: ,@(when map (list map)) => map
Omitting map is same as passing nil.
Noam Postavsky [Mon, 14 Apr 2014 03:59:36 +0000 (23:59 -0400)]
fix typo
Actually the reader accepts (list 'a'b) = (list 'a 'b); it still looks
wrong.
John Wiegley [Mon, 17 Mar 2014 19:13:20 +0000 (14:13 -0500)]
Merge pull request from YoungFrog/idle-interval
Add new option use-package-idle-interval.
GitHub-reference: https://github.com/jwiegley/use-package/issues/99
Nicolas Richard [Sun, 16 Feb 2014 10:59:59 +0000 (11:59 +0100)]
Add new option use-package-idle-interval
* use-package.el (use-package-idle-interval): new defcustom
(use-package-start-idle-timer): use it
(use-package-idle-eval): use it
* README.md: document it
This addresses bug https://github.com/jwiegley/use-package/issues/77
John Wiegley [Mon, 17 Mar 2014 09:11:36 +0000 (04:11 -0500)]
Merge pull request from ffevotte/idle-priority
Add a :idle-priority keyword to change the running order of idle functions
GitHub-reference: https://github.com/jwiegley/use-package/issues/98
François Févotte [Mon, 17 Mar 2014 08:56:10 +0000 (09:56 +0100)]
:idle-priority keyword to change the running order of idle functions
Lower-priority idle functions are run first. Idle functions with no
specified priority default to 5 and all functions with the same priority
are run in the order in which they are evaluated, meaning the behaviour
is backwards compatible.
Updated documentation as well.
John Wiegley [Mon, 10 Mar 2014 10:04:59 +0000 (05:04 -0500)]
Merge pull request from tarsius/master
use-package-with-elapsed-timer: respect option at runtime
GitHub-reference: https://github.com/jwiegley/use-package/issues/96
Jonas Bernoulli [Sun, 9 Mar 2014 17:59:06 +0000 (18:59 +0100)]
use-package-font-lock-keywords: add use-package-with-elapsed-timer
Jonas Bernoulli [Sun, 9 Mar 2014 17:55:54 +0000 (18:55 +0100)]
use-package-with-elapsed-timer: add declare indent rule
Jonas Bernoulli [Sun, 9 Mar 2014 17:50:01 +0000 (18:50 +0100)]
use-package-with-elapsed-timer: respect option at runtime
Previously the option `use-package-verbose' was consulted at macro
expansion time, and as a result customizing the option did nothing,
without also recompiling `use-package.el'.
John Wiegley [Sun, 2 Mar 2014 19:51:12 +0000 (13:51 -0600)]
Merge pull request from npostavs/bind-vector
let bind-key accept vectors, add docstring
GitHub-reference: https://github.com/jwiegley/use-package/issues/92
Noam Postavsky [Sun, 2 Mar 2014 01:16:59 +0000 (20:16 -0500)]
let bind-key accept vectors, add docstring
John Wiegley [Tue, 18 Feb 2014 22:36:18 +0000 (16:36 -0600)]
Merge pull request from Fuco1/variable-col-width
Add variable column width
GitHub-reference: https://github.com/jwiegley/use-package/issues/90
John Wiegley [Tue, 18 Feb 2014 22:36:01 +0000 (16:36 -0600)]
Merge pull request from Fuco1/special-form-desc
Add better descriptions for lambdas, closures, keymaps
GitHub-reference: https://github.com/jwiegley/use-package/issues/89
Matus Goljer [Tue, 18 Feb 2014 12:52:25 +0000 (13:52 +0100)]
Add variable column width
Matus Goljer [Tue, 18 Feb 2014 12:40:25 +0000 (13:40 +0100)]
Add better descriptions for lambdas, closures, keymaps
John Wiegley [Mon, 17 Feb 2014 05:04:18 +0000 (23:04 -0600)]
Merge pull request from Fuco1/bind-keys
Add `bind-keys` macro
GitHub-reference: https://github.com/jwiegley/use-package/issues/87
Matus Goljer [Thu, 13 Feb 2014 11:55:17 +0000 (12:55 +0100)]
Add `bind-keys` macro
Nicolas Richard [Wed, 12 Feb 2014 21:30:12 +0000 (22:30 +0100)]
Move tests to separate file
Nicolas Richard [Mon, 10 Feb 2014 17:02:59 +0000 (18:02 +0100)]
Allow multiple forms after keywords
* use-package.el (use-package-mplist-get):
(use-package-plist-get):
(use-package-mplist-keys): new functions
(plist-get-value):
(use-package): use new functions
(plist-keys): remove function
The idea is to allow a modified kind of plist where keys are all
keywords that appear in the list, and values are the intermediary
elements. If a keyword is present but it's another keyword just after it
(like (use-package :defer :config (setq foo 'bar))), its associated
value will be t. If a keyword is not present, its value associated value
will be nil. Otherwise the value will be the list of elements between
the keyword and the next keyword.
Adam Spiers [Wed, 5 Feb 2014 16:19:56 +0000 (16:19 +0000)]
stop describe-personal-keybindings adding trailing space
When emacs is configured to highlight trailing whitespace,
the *Personal Keybindings* buffer looked pretty ugly.
This fixes that.
John Wiegley [Mon, 6 Jan 2014 20:53:52 +0000 (12:53 -0800)]
Merge pull request from aspiers/best-practices
Start addressing some of @jaalto's submitted issues.
GitHub-reference: https://github.com/jwiegley/use-package/issues/79
Adam Spiers [Wed, 18 Dec 2013 11:45:26 +0000 (11:45 +0000)]
fix bind-key URL (fixes)
Also makes a start on https://github.com/jwiegley/use-package/issues/32.
GitHub-reference: https://github.com/jwiegley/use-package/issues/58
Adam Spiers [Wed, 18 Dec 2013 11:33:51 +0000 (11:33 +0000)]
add 'use-package-' prefix to 'with-elapsed-timer'
Fixes https://github.com/jwiegley/use-package/issues/35.
John Wiegley [Mon, 6 Jan 2014 16:49:52 +0000 (08:49 -0800)]
Merge pull request from aspiers/hyperlink-all-bindings
hyperlink functions in Comments column
GitHub-reference: https://github.com/jwiegley/use-package/issues/76
John Wiegley [Mon, 6 Jan 2014 16:20:13 +0000 (08:20 -0800)]
Merge pull request from aspiers/docs
Synchronise docs and then remove one copy to prevent future issues.
GitHub-reference: https://github.com/jwiegley/use-package/issues/78
Adam Spiers [Mon, 6 Jan 2014 12:38:00 +0000 (12:38 +0000)]
fix DRY violation by only having documentation in one place
The documentation in README.md was previously identical to that
in the Commentary section of use-package.el, modulo the following
differences:
- No elisp comment ";; " prefix
- Code blocks indented 4 columns not 2, as required by Markdown
- Elisp symbols marked in backtick delimiters for monospace, not
emacs backtick/forward tick pairs.
Unfortunately due to this duplication, sometimes only one of the
two files got updated, so they got out of sync. With us all being
human, this is likely to continue to happen as long as the
duplication exists ;-) Therefore since most users are likely to
encounter README.md before the elisp, and bearing in mind that
Markdown is a much more flexible format for documentation than
elisp comments (richer formatting, can be exported to numerous
other formats etc.), it is better to replace the docs in
use-package.el with a pointer to the README.md.
Adam Spiers [Sat, 4 Jan 2014 12:06:41 +0000 (12:06 +0000)]
hyperlink functions in Comments column
Previously, only the functions in the Command column were hyper-linked.
Also clarify the meaning of the "was" entries in the Comments column.
John Wiegley [Mon, 16 Dec 2013 17:54:33 +0000 (09:54 -0800)]
Merge pull request from aspiers/short-mode
allow :mode and :interpreter to accept a string
GitHub-reference: https://github.com/jwiegley/use-package/issues/73
Adam Spiers [Mon, 16 Dec 2013 12:16:56 +0000 (12:16 +0000)]
allow :mode and :interpreter to accept a string
Fixes https://github.com/jwiegley/use-package/issues/72.