Yo solía use-package
organizar mi init.el
. Me di cuenta de que todas mis declaraciones usan :ensure t
. Un ejemplo de declaración es:
(use-package auto-complete
:ensure t
:diminish auto-complete-mode
:init (global-auto-complete-mode t))
Dado que todas mis use-package
declaraciones usan :ensure t
, ¿hay alguna forma de modificar use-package
para incluir implícitamente :ensure t
sin modificar use-package.el directamente? Idealmente, me gustaría no usar una función con un nombre diferente.
Estoy un poco familiarizado advice-add
, pero mi impresión es que esto se usa para agregar un enlace o entorno a una función, no para modificar la función o la macro en sí.
elisp-macros
bsamek
fuente
fuente
use-package
realidad es una macro Lisp. Probablemente pueda crear su propiamy-use-package
macro que se expandause-package
con la configuración predeterminada que prefiera.:filter-args
consejos para agregar palabras clave como:ensure t
?Respuestas:
Basado en el comentario de @ politza de que (¡por supuesto!) El consejo funciona con macros, encontré algo que parece funcionar.
Tenga en cuenta que este ejemplo está utilizando las funciones de asesoramiento de Emacs 24.4. No he descubierto cuál sería el equivalente para versiones anteriores de Emacs.
fuente
require
una función que proporcione el asesoramiento o coneval-when-compile
.La versión más reciente de
use-package
tiene lo siguiente para habilitar este comportamiento para todos los paquetes:Por si alguien más tenía la misma pregunta.
fuente