我使用flymake模式时总是出错。 Flymake模式关闭。如何检查次要模式(.e.g flymake-mode)是否打开?
所以我要检查flymake模式是否开启。如果没有打开,我会在打电话给flymake-next-error之前打开它。
谢谢。
我使用flymake模式时总是出错。 Flymake模式关闭。如何检查次要模式(.e.g flymake-mode)是否打开?
所以我要检查flymake模式是否开启。如果没有打开,我会在打电话给flymake-next-error之前打开它。
谢谢。
大多数小模式是使用宏定义的define-minor-mode
。对于缓冲区本地模式,该宏会创建一个与模式本身同名的缓冲区局部变量。当为当前缓冲区启用模式时,该变量为非nil
。
因此,以检查是否flymake-mode
已启用,您可以测试变量flymake-mode
(注意,这个变量可能不会在所有如果尚未启用的模式来定义):
(and (boundp 'flymake-mode) flymake-mode)
其中,作为托姆点
(bound-and-true-p flymake-mode)
,我们可以作为一个if
或when
或unless
表达的条件使用方法:出的意见,可以通过方便的宏来表示:
(if (bound-and-true-p flymake-mode)
(message "flymake-mode is on")
(message "flymake-mode is off"))
对于全局次要模式,对应的变量是全局的;但flymake模式是缓冲区本地。
谢谢。这是我的错误。 Flymake不是主要模式,而是一种小模式。 – coordinate 2012-04-11 00:50:58
这里的测试可以缩短为'(bound-and-true-p flymake-mode)'。 – Thom 2014-10-05 20:26:07
如果打开时出现错误,您打算从检查中获得什么? – 2012-04-10 11:53:02
根据其主页(http://flymake.sourceforge.net/),flymake是次要模式,而不是主要模式。 – 2012-04-10 12:25:27
谢谢。错误不会一直发生。它发生时,我的js文件有很多失败。 flymake是一个小模式。 – coordinate 2012-04-11 01:03:35