142 |
(let* ((mode-name (symbol-name mode)) |
(let* ((mode-name (symbol-name mode)) |
143 |
(pretty-name (easy-mmode-pretty-mode-name mode lighter)) |
(pretty-name (easy-mmode-pretty-mode-name mode lighter)) |
144 |
(globalp nil) |
(globalp nil) |
145 |
|
(initialize nil) |
146 |
(group nil) |
(group nil) |
147 |
(extra-args nil) |
(extra-args nil) |
148 |
(extra-keywords nil) |
(extra-keywords nil) |
160 |
(:lighter (setq lighter (pop body))) |
(:lighter (setq lighter (pop body))) |
161 |
(:global (setq globalp (pop body))) |
(:global (setq globalp (pop body))) |
162 |
(:extra-args (setq extra-args (pop body))) |
(:extra-args (setq extra-args (pop body))) |
163 |
|
(:initialize (setq initialize (list :initialize (pop body)))) |
164 |
(:group (setq group (nconc group (list :group (pop body))))) |
(:group (setq group (nconc group (list :group (pop body))))) |
165 |
(:require (setq require (pop body))) |
(:require (setq require (pop body))) |
166 |
(:keymap (setq keymap (pop body))) |
(:keymap (setq keymap (pop body))) |
169 |
(setq keymap-sym (if (and keymap (symbolp keymap)) keymap |
(setq keymap-sym (if (and keymap (symbolp keymap)) keymap |
170 |
(intern (concat mode-name "-map")))) |
(intern (concat mode-name "-map")))) |
171 |
|
|
172 |
|
(unless initialize |
173 |
|
(setq initialize |
174 |
|
'(:initialize 'custom-initialize-default))) |
175 |
|
|
176 |
(unless group |
(unless group |
177 |
;; We might as well provide a best-guess default group. |
;; We might as well provide a best-guess default group. |
178 |
(setq group |
(setq group |
202 |
`(defcustom ,mode ,init-value |
`(defcustom ,mode ,init-value |
203 |
,(format base-doc-string pretty-name mode mode) |
,(format base-doc-string pretty-name mode mode) |
204 |
:set 'custom-set-minor-mode |
:set 'custom-set-minor-mode |
205 |
:initialize 'custom-initialize-default |
,@initialize |
206 |
,@group |
,@group |
207 |
:type 'boolean |
:type 'boolean |
208 |
,@(cond |
,@(cond |