我正在开发Emacs的一种模式,每次切换到它的缓冲区时,都会打开viper。我已经将毒蛇模式修改为跟踪,在这里调用毒蛇模式,而令人惊讶的是,设置毒蛇状态的主要模式是通过运行设置为零的毒蛇哨所命令钩来调用的。知道这是怎么回事吗?
谢谢!
编辑:为了所有人的利益,我发现:按照Trey的指示,我用-Q启动了emacs,并手动加载了毒蛇和包。由于我可以复制这个bug,问题就出现在其中一个包上。在逐行过滤之后,我发现看似无害的(杀灭所有局部变量)是造成问题的原因。
发布于 2011-04-15 05:56:40
函数kill-all-local-variables
将运行添加到change-major-mode-hook
中的所有函数,这是全局次要模式初始化自身的常见方法。例如,全局字体锁定和全局cwarn模式使用此模式。
我自己也没有用过毒蛇,但很有可能它使用了这个机制。当然,您仍然需要在init文件中启用它,所以如果您停止这样做,它也会解决您的问题。
发布于 2011-04-15 07:33:20
尝试删除您的~/.viper
配置文件,并检查您的.custom.el
是否有可能在您的主要模式(或全局)中启动viper的设置。
https://stackoverflow.com/questions/5671743
复制相似问题