我已经在我的系统上编译和构建了Emacs24。之后,我的一些.emacs自定义设置已停止工作。
最重要的问题是:我将菜单栏模式和工具栏模式设置为零。
;;; No Menu Bar
(menu-bar-mode nil)
;;; No tool bar
(tool-bar-mode nil)
;;; No Scrollbar
(scroll-bar-mode nil)
但是如果我启动Emacs,它们总是设置为t。
更糟糕的是:如果我使用迷你缓冲区将其设置为nil,然后转到临时并键入menu-bar-mode并评估表达式,它总是将其更改为t。
为什么这可能是问题的任何想法,我该如何解决?
答案 0 :(得分:25)
试试这些
(tool-bar-mode -1)
(menu-bar-mode -1)
(scroll-bar-mode -1)
更新:
通常,应该给出禁用次要模式的否定参数。请参阅emacs手册page。 (使用emacs类型:C-h r m
次要模式RET
答案 1 :(得分:11)
历史上,传递给次模式的nil参数意味着切换次模式(即,您使用的代码可能会启用或禁用每个mior模式,具体取决于加载.emacs之前的初始值)。 在Emacs-24中,我改变了这个,所以nil意味着无条件地“启用”。
这个决定是因为nil通常在没有提供arg时发生,如(flyspell-mode)或(add-hook'text-mode-hook'flyspell-mode),在这些情况下,用户通常的意思是“启用”而不是“切换”。