summaryrefslogtreecommitdiff
path: root/lisp/use-package
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | First cut at :defer-install keywordRadon Rosborough2017-03-081-4/+81
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new keyword, if provided along with a non-nil value, causes the action of :ensure to be deferred until "necessary". Package installation can be triggered by the user calling the new interactive function `use-package-install-deferred-package', or by the feature declared by the `use-package' form being required. This latter behavior seems to be the simplest way to make sure that package installation actually takes place when it needs to, but it requires that an advice be added to `require', which may be considered overly intrusive. (Also, it's generally considered bad practice for functions in Emacs to put advice on other functions in Emacs.) Thus it may make sense to add an option or function to explicitly enable this behavior, if there does not turn out to be a better way to accomplish deferred installation. Documentation has not been updated to reflect :defer-install yet.
* / / Extend capabilities of use-package-ensure-functionRadon Rosborough2017-03-081-15/+17
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modify the expected API of `use-package-ensure-function' so that it is passed three arguments: the name of the package declared in the `use-package' form; the argument passed to `:ensure'; and the current `state' plist created by previous handlers. (Previously, it was only given a single argument, which was the argument passed to `:ensure', or the name of the package declared in the `use-package' form, if the former was `t'. This allows for more flexibility in the capabilities of the `use-package-ensure-function' implementation. For example, its behavior can change depending on the values of other keywords, if those keywords modify the `state' plist appropriately.
* | Merge pull request from justbur/find-formJohn Wiegley2017-02-131-0/+41
|\ \ | | | | | | | | | Add function use-package-jump-to-package-form GitHub-reference: https://github.com/jwiegley/use-package/issues/359
| * | Add function use-package-jump-to-package-formJustin Burkett2016-06-221-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an attempt at resolving https://github.com/jwiegley/use-package/issues/329. The new interactive function use-package-jump-to-package-form will prompt with a completing read of all known packages. After selecting a package, use-package-find-require searches load-history to see where the package was required and then I attempt to find the correct use-package form using use-package-form-regexp. It will fail if the use-package form you are looking for did not actually load the package. For example it could be something that is a dependency of a library that was already loaded. In some sense this is a feature because it is helpful to know that the library was already loaded when your use-package form was encountered. It will also fail if your use-package declaration doesn't match the regexp used, but this is easily adjusted.
* | | Merge pull request from justbur/imenu3John Wiegley2017-02-131-13/+11
|\ \ \ | | | | | | | | | | | | Improve imenu support GitHub-reference: https://github.com/jwiegley/use-package/issues/356
| * | | Improve imenu supportJustin Burkett2016-06-151-13/+11
| |/ / | | | | | | | | | | | | | | | Instead of using defvar for lisp-mode-symbol-regexp, wait until lisp-mode is loaded and check for its existence to avoid making use-package the place where this variable is declared.
* | | Fix use-package-defaultsRadon Rosborough2017-02-131-9/+5
| | | | | | | | | | | | | | | | | | | | | This patch should address issues https://github.com/jwiegley/use-package/issues/428 and https://github.com/jwiegley/use-package/issues/429. See https://github.com/jwiegley/use-package/issues/426 for discussion. In brief, the issue was that use-package-sort-keywords was not applied when the predicates in use-package-defaults did not return true, when it should have been applied unconditionally.
* | | Unrevert "Add use-package-defaults"Radon Rosborough2017-02-131-20/+32
| | | | | | | | | | | | This reverts commit 013425edeb1829f5d21514f77d41763347538b14.
* | | Revert "Add use-package-defaults"John Wiegley2017-02-131-32/+20
| | | | | | | | | | | | This reverts commit 3dec23c0860ad297436b9b71b221491ae3790cce.
* | | Add use-package-defaultsRadon Rosborough2017-01-161-20/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the :config, :ensure, and :pin keywords had default values (dependent on the values of the use-package-always-ensure and use-package-always-pin). This change allows the user to customize the default values used for those keywords, and add default values for their own keywords in a non-hacky way. This functionality would be useful for (as an example) the quelpa-use-package package, which needs to use an advice to override the functionality of :ensure. The same problem prevents adding a use-package-always-quelpa variable in any reasonable way, without a way to customize the default values of keywords.
* | | Add use-package-ensure-functionRadon Rosborough2017-01-151-3/+13
| | | | | | | | | | | | | | | This allows the user to customize the :ensure keyword by using a different package manager than package.el.
* | | Add new customization option `use-package-always-demand`John Wiegley2016-12-221-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | This is equivalent to adding `:demand t` to all `use-package` declarations, and has the same semantics as doing so (meaning it can be overridden locally using `:defer t` in a declaration). Fixes https://github.com/jwiegley/use-package/issues/423
* | | Merge pull request from basil-conto/prefaceJohn Wiegley2016-12-181-1/+1
|\ \ \ | | | | | | | | | | | | Increase :preface priority GitHub-reference: https://github.com/jwiegley/use-package/issues/418
| * | | Increase :preface priorityBasil L. Contovounesios2016-12-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Reconcile order of `use-package-keywords' with the README description of `:preface' as occurring before everything but `:disabled'.
* | | | Merge pull request from tarsius/outlineJohn Wiegley2016-12-182-25/+30
|\ \ \ \ | | | | | | | | | | | | | | | Support outline-minor-mode GitHub-reference: https://github.com/jwiegley/use-package/issues/420
| * | | | Support outline-minor-modeJonas Bernoulli2016-12-172-25/+30
| |/ / / | | | | | | | | | | | | | | | | | | | | In "use-package.el" prefix headings with ";;;" instead of just ";;". In "bind-key.el" add the missing ";;; Code:" heading. In both libraries set `outline-regexp' to an appropriate value.
* / / / Delay decision whether to use eval-after-load until run-timeJonas Bernoulli2016-12-181-3/+3
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just because a keymap variable is bound at macro-expansion-time doesn't mean that it must be bound at run-time too. Change `bind-keys-form', which is used by `bind-keys' and other macros, to return a form which delays the decision on whether to wrap the binding forms with `eval-after-load' until run-time. Fixes https://github.com/jwiegley/use-package/issues/378.
* | / Declare package-read-all-archive-contentsPhilipp Stephani2016-10-311-0/+1
| |/ |/| | | | | Fixes https://github.com/jwiegley/use-package/issues/398
* | Bump version to 2.3John Wiegley2016-10-171-2/+2
| |
* | Ensure package-pinned-packages is bound before referencing itMike Appleby2016-08-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a bound-and-true-p guard to package-pinned-packages before referencing it in use-package-ensure-elpa. Package pinning was introduced in Emacs 24.4, and hence package-pinned-packages in unbound by default in earlier versions. Relevant commits: 72452b5 Merge pull request https://github.com/jwiegley/use-package/issues/367 from ketbra/master 5053f75 Make pin and ensure compatible Fixes https://github.com/jwiegley/use-package/issues/375 Copyright-paperwork-exempt: yes
* | Remove the use of a tabJohn Wiegley2016-07-221-1/+1
| |
* | Make pin and ensure compatibleMatthew Feinberg2016-07-211-0/+2
| | | | | | | | | | | | `:pin` does not work with `:ensure`, because it doesn't add the package to package-pinned-packages until after reading the package archive contents. This change causes the package archive contents to be reread if the package is pinned and `:ensure` is being used. Copyright-paperwork-exempt: yes
* | Fix declare-function call: FILE must be a stringNoam Postavsky2016-07-171-1/+1
| |
* | use-package-as-string: use noerror parameterNoam Postavsky2016-07-171-2/+2
| |
* | Don't pass a constant as the stateNoam Postavsky2016-07-171-1/+1
| | | | | | | | | | | | | | for use-package-process-keywords, because the function may modify the list object. Modifying a quoted constant can lead to unexpected side effects (e.g. values from previous use-package forms end up in subsequent ones).
* | Version 2.2John Wiegley2016-07-061-2/+2
| |
* | Move :init forms before :after and :demandJustin Burkett2016-06-231-1/+1
|/ | | | | | | | | | | | | | | | | | | | | The docstring of use-package says that :init should run before the package is loaded but using :after moves the require statement ahead of :init when any package specified in :after is already loaded. In the following example, in the first case bar-x might get set before or after bar is loaded depending on if foo is already loaded at the time, while the second case always sets bar-x first. (use-package bar :after (foo) :init (setq bar-x 2) :config (bar-mode)) (use-package bar :init (setq bar-x 2) :config (bar-mode)) This commit fixes the issue and makes sure that bar-x is set before bar is loaded by use-package. Fixes https://github.com/jwiegley/use-package/issues/352.
* Fix imenu support for older versionsJustin Burkett2016-06-131-0/+3
| | | | lisp-mode-symbol-regexp was not defined in Emacs 24.5.
* Merge pull request from justbur/imenuJohn Wiegley2016-06-131-0/+21
|\ | | | | | | Add imenu support for use-package forms GitHub-reference: https://github.com/jwiegley/use-package/issues/354
| * Add imenu support for use-package formsJustin Burkett2016-06-131-0/+21
| | | | | | | | Also add require forms and group both under menu "Package".
* | Fix to ignore load error caused via :afterrobario2016-06-051-1/+1
|/ | | | Copyright-paperwork-exempt: yes
* Mark package as selected with package-installChunyang Xu2016-03-311-3/+1
| | | | Fixes https://github.com/jwiegley/use-package/issues/327
* :map no longer accepts lists; only eval-after-load if necessaryJohn Wiegley2016-02-271-20/+14
| | | | Fixes https://github.com/jwiegley/use-package/issues/324
* Normalize some error textJohn Wiegley2016-02-261-2/+2
|
* Only printing debug messages if use-package-verbose is `debug'John Wiegley2016-02-261-2/+3
| | | | Fixes https://github.com/jwiegley/use-package/issues/271
* Merge pull request from ljos/masterJohn Wiegley2016-02-261-1/+1
|\ | | | | | | Quote variable in bind-keys* GitHub-reference: https://github.com/jwiegley/use-package/issues/325
| * Quote variable in `bind-keys*'Bjarte Johansen2016-02-261-1/+1
| | | | | | | | | | * bind-key.el (bind-keys*): `override-global-map' needs to be quoted so the symbol is passed to `bind-keys-form' and not the value. GitHub-reference: fixes https://github.com/jwiegley/use-package/issues/323
* | Repair :map handling in bind-key.elJohn Wiegley2016-02-261-4/+10
|/ | | GitHub-reference: fixes https://github.com/jwiegley/use-package/issues/324
* Add configuration variable `use-package-check-before-init'John Wiegley2016-02-251-2/+14
| | | | Fixes https://github.com/jwiegley/use-package/issues/306
* Use `add-to-list' defensively instead of `push'John Wiegley2016-02-251-3/+3
| | | GitHub-reference: fixes https://github.com/jwiegley/use-package/issues/293
* Add variable `use-package-always-defer'John Wiegley2016-02-251-1/+7
| | | GitHub-reference: fixes https://github.com/jwiegley/use-package/issues/202
* Restore :bind-keymap, it does something special stillJohn Wiegley2016-02-251-0/+62
|
* Remove :bind-keymaps, and only apply :map bindings after loadJohn Wiegley2016-02-252-88/+43
|
* Support multiples uses of :map with :bindJohn Wiegley2016-02-252-25/+57
| | | GitHub-reference: fixes https://github.com/jwiegley/use-package/issues/121
* Merge pull request from alezost/keymap-doc-fixJohn Wiegley2016-02-251-1/+2
|\ | | | | | | Handle the case when keymap has a broken documentation GitHub-reference: https://github.com/jwiegley/use-package/issues/223
| * Handle the case when keymap has a broken documentationAlex Kost2015-06-221-1/+2
| |
* | Add another `declare'John Wiegley2016-02-251-0/+1
| |
* | Handle :unless correctlyJohn Wiegley2016-02-251-4/+1
| | | | | | GitHub-reference: fixes https://github.com/jwiegley/use-package/issues/197
* | Add a comment about a recent changeJohn Wiegley2016-02-091-1/+6
| |
* | Merge pull request from waymondo/masterJohn Wiegley2016-02-091-9/+18
|\ \ | | | | | | | | | Allow string values in cons for :bind keywords GitHub-reference: https://github.com/jwiegley/use-package/issues/303