Por diseño, fundamental-modees básico, ya que se supone que otros modos principales derivan de este.
Desde la página de información (elisp) Major Modes, tenemos:
Este es el comando de modo principal para el modo Fundamental. A diferencia de otros comandos de modo, no ejecuta ningún enlace de modo (* nota Convenciones de modo mayor: :), ya que se supone que no debe personalizar este modo.
Por esta razón,
- No tenemos a
fundamental-mode-hook. - Además
my-minor-mode, no se habilita SOLO en este modo principal, los búferes a pesar de tener(global-my-minor-mode 1)en mi configuración.
A continuación funcionaría, pero solo si escribí manualmente M-x fundamental-mode:
(add-hook 'after-change-major-mode-hook #'my-minor-mode)
No ayuda en el siguiente caso donde fundamental-modese crea un búfer (* abcd *) por defecto:
(with-current-buffer (get-buffer-create "*abcd*")
(insert "Hello world"))
¿Por qué quiero habilitar un modo menor en fundamental-mode?
Me gusta mantener mis combinaciones de teclas personalizadas en mi mapa de modo menor. Tengo este modo menor habilitado globalmente (pero no se habilita solo en fundamental-modebuffers).
Aquí hay un caso de uso que hizo que haga esta pregunta aquí. Al hacer M-x esup( esuppaquete), crea un *esup-log*búfer con fundamental-modesu modo principal. Pero cada vez que necesito habilitar mi modo menor manualmente para usar mis enlaces convenientes.
Me gustaría habilitarlo my-minor-modede una manera verdaderamente global, fundamental-modeo no.
Actualización 1:
Aquí está mi definición de menor importancia modo: modi-mode.
Actualización 2:
Basado en el comentario de @npostavs , revisé las diferencias entre mi modo menor modi-modey override-global-modeen use-package/bind-key.el. Y resulta que el valor de inicio de mi modo es nily el de override-global-modees t.
Si cambio el valor de inicio de mi modo a t, ¡también se habilita en los búferes de modo fundamental! Pero el acto de (global-modi-mode 1)no termina con el mismo resultado. ¿Eso es extraño? ¿Probablemente un error?
use-packageimplementa eso.
nil; pero lo habilito globalmente.
buffer.c, parece que se get-buffer-createejecuta buffer-list-update-hookal final de su función, ¿tal vez podría adjuntar su propia función con condiciones a ese gancho?
fundamental-modebúferes para mí, por lo que tal vez el problema esté en la definición de su modo.override-global-mode