defvar
(defvar mona-build-mona-dir-path "~/mona" "*mona directory path")
説明文が * から始まる場合の挙動は知らなかったな。
defvar is a special form in `C source code'. (defvar SYMBOL &optional INITVALUE DOCSTRING) Define SYMBOL as a variable, and return SYMBOL. You are not required to define a variable in order to use it, but the definition can supply documentation and an initial value in a way that tags can recognize. INITVALUE is evaluated, and used to set SYMBOL, only if SYMBOL's value is void. If SYMBOL is buffer-local, its default value is what is set; buffer-local values are not affected. INITVALUE and DOCSTRING are optional. If DOCSTRING starts with *, this variable is identified as a user option. This means that M-x set-variable recognizes it. See also `user-variable-p'. If INITVALUE is missing, SYMBOL's value is not set. If SYMBOL has a local binding, then this form affects the local binding. This is usually not what you want. Thus, if you need to load a file defining variables, with this form or with `defconst' or `defcustom', you should always load that file _outside_ any bindings for these variables. (`defconst' and `defcustom' behave similarly in this respect.)