mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-25 07:28:20 +00:00
Add use-package-vc-prefer-newest user option
* lisp/use-package/use-package-core.el (use-package-vc-prefer-newest): User option to prefer the latest commit (as opposed to the latest release) of a package. (use-package-normalize--vc-arg): Check for use-package-vc-prefer-newest. * doc/misc/use-package.texi (Install package): Document use-package-vc-prefer-newest. * etc/NEWS: Document use-package-vc-prefer-newest.
This commit is contained in:
parent
87be53846b
commit
77115be256
@ -1639,8 +1639,12 @@ For example,
|
||||
would try -- by invoking @code{package-vc-install} -- to install the
|
||||
latest commit of the package @code{foo} from the specified remote.
|
||||
|
||||
This can also be used for local packages, by combining it with the
|
||||
@code{:load-path} (@pxref{Load path}) keyword:
|
||||
@vindex use-package-vc-prefer-newest
|
||||
Alternatively, the @code{use-package-vc-prefer-newest} user option
|
||||
exists to always prefer the latest commit.
|
||||
|
||||
The @code{:vc} keyword can also be used for local packages, by
|
||||
combining it with @code{:load-path} (@pxref{Load path}):
|
||||
|
||||
@example
|
||||
@group
|
||||
|
5
etc/NEWS
5
etc/NEWS
@ -1218,6 +1218,11 @@ interactive Python interpreter specified by 'python-interpreter'.
|
||||
*** New ':vc' keyword.
|
||||
This keyword enables the user to install packages using 'package-vc'.
|
||||
|
||||
+++
|
||||
*** New user option 'use-package-vc-prefer-newest'.
|
||||
This allows the user to always install the newest commit of a package
|
||||
when using the ':vc' keyword.
|
||||
|
||||
** Gnus
|
||||
|
||||
*** The 'nnweb-type' option 'gmane' has been removed.
|
||||
|
@ -346,6 +346,20 @@ undefined variables."
|
||||
:type 'boolean
|
||||
:group 'use-package)
|
||||
|
||||
(defcustom use-package-vc-prefer-newest nil
|
||||
"Prefer the newest commit over the latest release.
|
||||
By default, much like GNU ELPA and NonGNU ELPA, the `:vc' keyword
|
||||
tracks the latest stable release of a package. If this option is
|
||||
non-nil, the latest commit is preferred instead. This has the
|
||||
same effect as specifying `:rev :newest' in every invocation of
|
||||
`:vc'.
|
||||
|
||||
Note that always tracking a package's latest commit might lead to
|
||||
stability issues."
|
||||
:type 'boolean
|
||||
:version "30.1"
|
||||
:group 'use-package)
|
||||
|
||||
(defvar use-package-statistics (make-hash-table))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -1649,9 +1663,11 @@ indicating the latest commit) revision."
|
||||
(if (and s (stringp s)) (intern s) s))
|
||||
(normalize (k v)
|
||||
(pcase k
|
||||
(:rev (cond ((or (eq v :last-release) (not v)) :last-release)
|
||||
((eq v :newest) nil)
|
||||
(t (ensure-string v))))
|
||||
(:rev (pcase v
|
||||
('nil (if use-package-vc-prefer-newest nil :last-release))
|
||||
(:last-release :last-release)
|
||||
(:newest nil)
|
||||
(_ (ensure-string v))))
|
||||
(:vc-backend (ensure-symbol v))
|
||||
(_ (ensure-string v)))))
|
||||
(pcase-let ((valid-kws '(:url :branch :lisp-dir :main-file :vc-backend :rev))
|
||||
|
Loading…
Reference in New Issue
Block a user