Allow using define-short-documentation-group without loading shortdoc

* lisp/emacs-lisp/shortdoc.el (define-short-documentation-group):
Allow using without loading shortdoc.el (bug#56260).
This commit is contained in:
Lars Ingebrigtsen 2022-06-28 14:41:32 +02:00
parent 1dfd8a10af
commit 98c9105f05

View file

@ -41,10 +41,12 @@
'((t :inherit variable-pitch))
"Face used for a section.")
(defvar shortdoc--groups nil)
;;;###autoload
(progn
(defvar shortdoc--groups nil)
(defmacro define-short-documentation-group (group &rest functions)
"Add GROUP to the list of defined documentation groups.
(defmacro define-short-documentation-group (group &rest functions)
"Add GROUP to the list of defined documentation groups.
FUNCTIONS is a list of elements on the form:
(FUNC
@ -88,8 +90,7 @@ string will be `read' and evaluated.
(FUNC
:no-eval EXAMPLE-FORM
:result RESULT-FORM ;Use `:result-string' if value is in string form
)
:result RESULT-FORM) ;Use `:result-string' if value is in string form
Using `:no-value' is the same as using `:no-eval'.
@ -102,17 +103,16 @@ execution of the documented form depends on some conditions.
(FUNC
:no-eval EXAMPLE-FORM
:eg-result RESULT-FORM ;Use `:eg-result-string' if value is in string form
)
:eg-result RESULT-FORM) ;Use `:eg-result-string' if value is in string form
A FUNC form can have any number of `:no-eval' (or `:no-value'),
`:no-eval*', `:result', `:result-string', `:eg-result' and
`:eg-result-string' properties."
(declare (indent defun))
`(progn
(setq shortdoc--groups (delq (assq ',group shortdoc--groups)
shortdoc--groups))
(push (cons ',group ',functions) shortdoc--groups)))
(declare (indent defun))
`(progn
(setq shortdoc--groups (delq (assq ',group shortdoc--groups)
shortdoc--groups))
(push (cons ',group ',functions) shortdoc--groups))))
(define-short-documentation-group alist
"Alist Basics"