Bug#4356: menu-bar-mode flag argument is inconsistent with universe
Mark W. Eichin writes ("Re: Bug#4356: menu-bar-mode flag argument is inconsistent with universe"):
> > In 19.31 this has changed so that `nil' doesn't have the desired
> > effect. Instead, you have to supply a negative number !
> Hmm. The way elisp "optional arguments" work, you can't distinguish
> between (menu-bar-mode nil) and (menu-bar-mode), and both are
> equivalent to "M-x menu-bar-mode" which a user might actually type.
> scroll-bar-mode works the same way -- no arg (or nil) means *toggle*,
> positive arg means turn on, negative arg means turn off.
> (auto-compression-mode is another example)
I've just done some experiments and with the function
(defun spong (&optional x)
(message (prin1-to-string x)))
calling it interactively with no prefix arg gives x=1. With a prefix
arg x is the prefix arg. You can call it non-interactively with `nil'