Tags: patch As discussed in https://lists.gnu.org/archive/html/emacs-devel/2025-07/msg00354.html This patch add new optional keywords to use-package, most of them are inspired by suggestions from use-package bug-tracker on github This includes following keywords: * :advice Add or remove function advices. * :custom-face* Like :custom-face but override the face specs. This closes bug#77928 dilemma. * :defvar-keymap Define a new keymap or override an existent one. * :doc Document the use-package declaration instead using comments. * :tag Like :doc, but for categorizing. (This and :doc does nothing) * :emacs<, :emacs<=, :emacs=, :emacs>, :emacs>=, shorthand for `:if (version...)` * :hook-suffix Changes `use-package-hook-name-suffix' value only in the current use-package declaration. * :hook+ Like default :hook, but allows to set the hook depth and set multiple functions in the hook (or for each hook). Although I tried to make it compatible with :hook, there may be some things I missed, so I decided to put it separately instead of merging it with :hook. In addition, its syntax is more complex compared to :hook. * :local-set Bind variables locally when entering to a mode or to a hook(s). An alternative to `:hook (hook . (lambda () (setq-local ...)))` * :setopt Like :custom, but can also bind plain variables. This uses the `setopt` function for bind the variables. * :which-key-replacement A simple way to set which-key replacements.