[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#59941: use-package-defaults type not updated for added keywords :pin
From: |
Mattias Engdegård |
Subject: |
bug#59941: use-package-defaults type not updated for added keywords :pin, :ensure etc |
Date: |
Sat, 10 Dec 2022 11:41:42 +0100 |
The type of `use-package-defaults` does not include the keywords :pin and
:ensure, since these are added to `use-package-keywords` after the declaration
of the former.
As a consequence these keywords cannot occur in `use-package-defaults` when
using the interactive customisation interface, and since they are present in
the default value, the `test-custom-opts` test fails with a type mismatch:
variable: use-package-defaults
value: ((:config '(t) t) (:init nil t) (:catch t (lambda (name args) (not
use-package-expand-minimally))) (:defer use-package-always-defer (lambda (name
args) (and use-package-always-defer (not (plist-member args :defer)) (not
(plist-member args :demand))))) (:demand use-package-always-demand (lambda
(name args) (and use-package-always-demand (not (plist-member args :defer))
(not (plist-member args :demand))))) (:ensure (list use-package-always-ensure)
(lambda (name args) (and use-package-always-ensure (not (plist-member args
:load-path))))) (:pin use-package-always-pin use-package-always-pin))
type: (repeat (list (choice :tag "Keyword" (const :disabled) (const
:load-path) (const :requires) (const :defines) (const :functions) (const
:preface) (const :if) (const :when) (const :unless) (const :no-require) (const
:catch) (const :after) (const :custom) (const :custom-face) (const :bind)
(const :bind*) (const :bind-keymap) (const :bind-keymap*) (const :interpreter)
(const :mode) (const :magic) (const :magic-fallback) (const :hook) (const
:commands) (const :autoload) (const :init) (const :defer) (const :demand)
(const :load) (const :config)) (choice :tag "Default value" sexp function)
(choice :tag "Enable if non-nil" sexp function)))
There are various ways to fix this. Easiest is probably to cease pretending
that :pin and :ensure are somehow special and just include them in
`use-package-keywords` from the start instead of adding them afterwards.
Alternatives include making the defcustom type less specific and allow any
keyword, or modifying that type after adding keywords (a bit messy).
- bug#59941: use-package-defaults type not updated for added keywords :pin, :ensure etc,
Mattias Engdegård <=