Emacs: режим меню и режим панели инструментов автоматически устанавливаются на t
Я собрал и создал Emacs24 в своей системе. После этого некоторые из моих настроек .emacs перестали работать.
Самая важная проблема заключается в следующем: я установил режим меню-bar и mode-bar-mode в nil.
;;; No Menu Bar
(menu-bar-mode nil)
;;; No tool bar
(tool-bar-mode nil)
;;; No Scrollbar
(scroll-bar-mode nil)
Но если я запустил Emacs, они всегда будут установлены в t.
Еще хуже: если я установил его в nil, используя мини-буфер, а затем перейдите к починке и введите режим меню-bar и оцените выражение, оно всегда меняет его на t.
Любые идеи, почему это может быть проблемой, и как я могу ее исправить?
Ответы
Ответ 1
Попробуйте эти
(tool-bar-mode -1)
(menu-bar-mode -1)
(scroll-bar-mode -1)
UPDATE:
Обычно нужно дать отрицательный аргумент, чтобы отключить второстепенный режим. Пожалуйста, обратитесь к руководству emacs страница. (с типом emacs: C-h r m
второстепенные режимы RET
Ответ 2
Исторически, аргумент nil, переданный второму режиму, предназначен для переключения второстепенного режима (т.е. используемый вами код мог включать или отключать каждый из этих режимов mior в зависимости от того, каково их начальное значение перед загрузкой .emacs).
В Emacs-24 я изменил это так, что nil означает "включить" безоговорочно.
Это решение было принято, потому что nil обычно возникает, когда arg просто не предоставляется, как в режиме (flyspell-mode) или в режиме flyspell-режима "add-hook" в режиме "text-mode-hook", и в этих случаях пользователь обычно действительно означает "включить", а не "переключать".