De par sa conception, les fundamental-mode
os sont nus, car d'autres modes majeurs sont censés dériver de celui-ci.
Depuis la page info (elisp) Major Modes
, nous avons:
Il s'agit de la commande de mode principale pour le mode fondamental. Contrairement aux autres commandes de mode, il ne pas exécuter des crochets en mode (note * Conventions de mode majeur: :), puisque vous n'êtes pas censé personnaliser ce mode.
Pour cette raison,
- Nous n'en avons pas
fundamental-mode-hook
. - N'obtient également
my-minor-mode
pas activé UNIQUEMENT dans ce mode majeur tampons malgré avoir(global-my-minor-mode 1)
dans ma config.
Ci-dessous fonctionnerait mais seulement si je tapais manuellement M-x fundamental-mode
:
(add-hook 'after-change-major-mode-hook #'my-minor-mode)
Cela n'aide pas dans le cas ci-dessous où un fundamental-mode
tampon (* abcd *) est créé par défaut:
(with-current-buffer (get-buffer-create "*abcd*")
(insert "Hello world"))
Pourquoi je veux activer un mode mineur dans fundamental-mode
?
J'aime conserver mes raccourcis clavier personnalisés dans ma carte de mode mineur. J'ai ce mode mineur activé globalement (mais il n'est pas activé uniquement dans les fundamental-mode
tampons).
Voici un cas d'utilisation qui a permis de poser cette question ici. En faisant M-x esup
( esup
package), il crée un *esup-log*
tampon avec fundamental-mode
comme mode principal. Mais à chaque fois, je dois activer mon mode mineur manuellement pour utiliser mes liaisons pratiques.
J'aimerais activer my-minor-mode
d'une manière vraiment mondiale, fundamental-mode
ou non.
Mise à jour 1:
Voici mon mode mineur définition: modi-mode
.
Mise à jour 2:
Sur la base du commentaire de @npostavs , j'ai examiné ce qui diffère entre mon mode mineur modi-mode
et override-global-mode
dans use-package/bind-key.el
. Et il se trouve que la valeur init de mon mode est nil
et celle de override-global-mode
is t
.
Si je change la valeur init de mon mode en t
, elle est également activée dans les tampons en mode fondamental! Mais l'acte de (global-modi-mode 1)
ne se termine pas avec le même résultat. Est-ce étrange? Probablement un bug?
use-package
met en œuvre cela.
nil
; mais je l'active globalement.
buffer.c
, il semble que get-buffer-create
s'exécute le tout buffer-list-update-hook
à la fin de sa fonction, peut-être pourriez-vous attacher votre propre fonction avec des conditions à ce crochet?
fundamental-mode
tampons pour moi, donc peut-être que le problème est dans la définition de votre mode.override-global-mode