Reputation: 1037
I have compiled and built Emacs24 on my system. After that, some of my .emacs customizations have stopped working.
The most important problem is this: I have set menu-bar-mode and tool-bar-mode to nil.
;;; No Menu Bar
(menu-bar-mode nil)
;;; No tool bar
(tool-bar-mode nil)
;;; No Scrollbar
(scroll-bar-mode nil)
But if I start Emacs, they are always set to t.
Even worse: if I set it to nil using mini-buffer, and then go to scratch and type menu-bar-mode and evaluate the expression, it always changes it to t.
Any ideas why this might be the problem, and how can I fix it?
Upvotes: 14
Views: 6051
Reputation: 221
Historically, a nil argument passed to a minor-mode has meant to toggle the minor mode (i.e. the code you used might enable or disable each of those mior modes depending on what is their initial value before loading the .emacs). In Emacs-24, I changed this so that nil means "enable" unconditionally.
This decision was taken because nil typically occurs when the arg is simply not provided, as in (flyspell-mode) or in (add-hook 'text-mode-hook 'flyspell-mode), and in those cases, the user typically really means "enable" rather than "toggle".
Upvotes: 12