La mayoría de los modos menores se definen utilizando la macro define-minor-mode
. Para los modos locales de búfer, esa macro crea una variable local de búfer del mismo nombre que el modo en sí . La variable no es nil
cuando el modo está habilitado para el búfer en uso.
Por lo tanto, para comprobar si flymake-mode
está habilitado, puede probar la variable flymake-mode
(teniendo en cuenta que esta variable no se puede definir en absoluto si el modo no se ha habilitado):
(and (boundp 'flymake-mode) flymake-mode)
cual, como punto de Thom en los comentarios, se puede expresar mediante la macro conveniente:
(bound-and-true-p flymake-mode)
que podemos utilizar como condición para una expresión if
o when
o unless
:
(if (bound-and-true-p flymake-mode)
(message "flymake-mode is on")
(message "flymake-mode is off"))
Para los modos de menor importancia a nivel mundial, la variable correspondiente es global; pero flymake-mode es buffer-local.
Si recibe un mensaje de error al encenderlo, ¿qué planea obtener de la verificación? –
De acuerdo con su página de inicio (http://flymake.sourceforge.net/), flymake es un modo menor, no un modo principal. –
Gracias. El error no ocurre todo el tiempo. Ocurrió cuando mi archivo js falló mucho. Y flymake es un modo menor. – coordinate