Emacs: menu-bar-mode и tool-bar-mode автоматически устанавливаются на t - PullRequest
14 голосов
/ 24 февраля 2012

Я скомпилировал и собрал Emacs24 в моей системе.После этого некоторые из моих настроек .emacs перестали работать.

Самая важная проблема заключается в следующем: я установил menu-bar-mode и tool-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.

Еще хуже: если я установлю его на ноль с помощью мини-буфера, а затем уйду с нуля и наберу menu-bar-mode и оценим выражение, оно всегда изменит его на t.

Любые идеи, почему это может быть проблемой, и как я могу это исправить?

Ответы [ 2 ]

25 голосов
/ 24 февраля 2012

Попробуйте это

 (tool-bar-mode -1)
 (menu-bar-mode -1)
 (scroll-bar-mode -1)

ОБНОВЛЕНИЕ:
Обычно нужно дать отрицательный аргумент для отключения второстепенного режима.Пожалуйста, обратитесь к руководству по emacs page .(с типом в emacs: C-h r m второстепенные режимы RET

11 голосов
/ 25 февраля 2012

Исторически, нулевой аргумент, передаваемый в вспомогательный режим, означал переключение вспомогательного режима (т. Е. Код, который вы использовали, мог включать или отключать каждый из этих режимов mior в зависимости от того, что является их начальным значением перед загрузкой .emacs). В Emacs-24 я изменил это так, что nil означает «включить» безоговорочно.

Это решение было принято, потому что nil обычно возникает, когда arg просто не указан, как в (flyspell-mode) или в (add-hook 'text-mode-hook' flyspell-mode), и в этих случаях пользователь обычно действительно означает «включить», а не «переключать».

...