Emacs:菜单栏模式和工具栏模式自动设置为t
我已经在我的系统上编译并构建了Emacs24。在那之后,我的一些.emacs定制已经停止工作 最重要的问题是:我已经将菜单栏模式和工具栏模式设置为零Emacs:菜单栏模式和工具栏模式自动设置为t,emacs,elisp,emacs24,Emacs,Elisp,Emacs24,我已经在我的系统上编译并构建了Emacs24。在那之后,我的一些.emacs定制已经停止工作 最重要的问题是:我已经将菜单栏模式和工具栏模式设置为零 ;;;没有菜单栏 (菜单栏模式无) ;;; 无工具栏 (工具栏模式无) ;;; 没有滚动条 (滚动条模式无) 但是如果我启动Emacs,它们总是设置为t 更糟糕的是:如果我使用mini buffer将其设置为nil,然后转到scratch并键入菜单栏模式并计算表达式,它总是将其更改为t 你知道为什么会出现这个问题吗?我该如何解决它?试试这些 (工
;;;没有菜单栏
(菜单栏模式无)
;;; 无工具栏
(工具栏模式无)
;;; 没有滚动条
(滚动条模式无)
但是如果我启动Emacs,它们总是设置为t
更糟糕的是:如果我使用mini buffer将其设置为nil,然后转到scratch并键入菜单栏模式并计算表达式,它总是将其更改为t
你知道为什么会出现这个问题吗?我该如何解决它?试试这些
(工具栏模式-1)
(菜单栏模式-1)
(滚动条模式-1)
更新:按照惯例,应该给出否定的参数来禁用次要模式。请参阅emacs手册。(在emacs类型中:
C-h r m
minor modesRET
历史上,传递给minor mode的nil参数意味着切换minor mode(即,您使用的代码可能启用或禁用这些mior模式,具体取决于加载.emacs之前的初始值)。
在Emacs-24中,我对其进行了更改,使nil表示无条件地“启用”
之所以做出这一决定,是因为在(flyspell模式)或(add hook‘text mode hook’flyspell模式)中,如果根本不提供arg,则通常会出现nil,在这些情况下,用户的真正意思是“启用”而不是“切换”.我没有调用函数,而是将全局变量工具栏模式设置为nil,这似乎有效。否则,正如@kindahero所说,使用负数调用函数。您可以在使用M-x的工具栏模式文档中看到这一点。谢谢!nil没有被识别的原因是什么?