9
votes

Vérifiez si le mode majeur est égal à l'un des nombreux EMACS

J'ai trouvé un extrait pour fermer tous les tampons réducteurs, que je veux utiliser dans le Sunrise Commander:

(when (or (equal major-mode 'dired-mode) (equal major-mode 'sr-mode))


4 commentaires

Oui, c'est ce que j'avais manqué.


C'est parfaitement intuitif. Votre code d'origine est comme écrire si (foo) {|| bar; Baz (); } dans C.


Ce n'est pas intuitif non plus. Pas convaincu. Intuitif serait si (foo || bar) {baz (); }.


Les opérateurs de préfixes bien préfixaux sont complètement intuitifs dans une langue qui utilise systématiquement des opérateurs de préfixes :) Stefan a fourni la meilleure solution, mais également à noter que si vous n'êtes pas intéressé par des modes dérivés potentiels, vous pouvez utiliser (quand (MEMQ MAJOR -Mode '(mode dirigeé en mode SR)) ...)


3 Réponses :


16
votes

La voie canonique serait (lorsque (mode dérivé-mode-P 'SR-MODE' TRIDED-MODE) ...) .


0 commentaires

2
votes

J'ai essayé certaines choses et j'ai trouvé cela pour travailler sur mon emacs-ielm - peut-être peut-être aussi utile:

(if (member major-mode '(fsharp-mode c-mode java-mode inferior-emacs-lisp-mode))
(message "yeah right"))


0 commentaires

0
votes

Peut-être que la fonction de contrôle correcte est la suivante: xxx

voir 'SUBR.EL'.


1 commentaires

Vous avez dupliqué la réponse acceptée (environ 5 ans plus tard). Je suggère de supprimer cela.