I always get error when use flymake-mode. And flymake-mode turn off.
So I want to check whether flymake-mode is on. If it is not on, I will turn it on before call flymake-next-error.
Thanks.
Most minor modes are defined using the define-minor-mode
macro. For buffer-local modes, that macro creates a buffer-local variable of the same name as the mode itself1. The variable is non-nil
when the mode is enabled for the current buffer.
Therefore to check whether flymake-mode
is enabled, you can test the variable flymake-mode
(noting that this variable might not be defined at all if the mode has not been enabled):
(and (boundp 'flymake-mode) flymake-mode)
Which, as Thom point out in the comments, can be expressed using the convenient macro:
(bound-and-true-p flymake-mode)
Which we can use as the condition for an if
or when
or unless
expression:
(if (bound-and-true-p flymake-mode) (message "flymake-mode is on") (message "flymake-mode is off"))
1 For global minor modes, the corresponding variable is global; but flymake-mode is buffer-local.
Another solution is to use M-x describe-mode to show all the active minor modes (and major mode) and a brief description of each.
If the minor mode is on in the current buffer, you can find it's name on the popup buffer.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With