gpt4 book ai didi

emacs - 如何检查次要模式(例如 flymake-mode)是否开启?

转载 作者:行者123 更新时间:2023-12-03 12:09:02 26 4
gpt4 key购买 nike

使用 flymake-mode 时总是出错。和 flymake 模式关闭。

enter image description here

所以我想检查一下 flymake-mode 是否开启。如果它没有打开,我会在调用 flymake-next-error 之前打开它。

谢谢。

最佳答案

大多数次要模式是使用 define-minor-mode 定义的宏。对于缓冲区本地模式,该宏创建一个与模式本身同名的缓冲区本地变量1。变量是非 nil当为当前缓冲区启用模式时。

因此要检查是否flymake-mode已启用,您可以测试变量 flymake-mode (请注意,如果尚未启用该模式,则可能根本不会定义此变量):

(and (boundp 'flymake-mode) flymake-mode)

正如 Thom 在评论中指出的那样,可以使用方便的宏来表达:

(bound-and-true-p flymake-mode)

我们可以将其用作 if 的条件或 whenunless表达:

(if (bound-and-true-p flymake-mode)
(message "flymake-mode is on")
(message "flymake-mode is off"))

1 对于全局次要模式,对应的变量是全局的;但 flymake-mode 是缓冲区本地的。

关于emacs - 如何检查次要模式(例如 flymake-mode)是否开启?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10088168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com