Allow def-modeline-var! to overwrite old segments

This commit is contained in:
Henrik Lissner 2020-08-26 16:57:29 -04:00
parent e459842a9b
commit 6352524d32
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -152,13 +152,14 @@ LHS and RHS will accept."
(lambda (&rest _) (set-modeline! name))))
(defmacro def-modeline-var! (name body &optional docstring &rest plist)
"TODO"
"Define a modeline segment variable."
(unless (stringp docstring)
(push docstring plist)
(setq docstring nil))
`(progn
(,(if (plist-get plist :local) 'defvar-local 'defvar)
,name ,body ,docstring)
(defvar ,name nil ,docstring)
,@(if (plist-get plist :local) `((make-variable-buffer-local ',name)))
(setq-default ,name ,body)
(put ',name 'risky-local-variable t)))