Function: defun-markdown-ref-checker
defun-markdown-ref-checker is a macro defined in markdown-mode.el.
Signature
(defun-markdown-ref-checker NAME DOCSTRING CHECKER-FUNCTION BUFFER-FUNCTION NONE-MESSAGE BUFFER-HEADER INSERT-REFERENCE)
Documentation
Define a function NAME acting on result of CHECKER-FUNCTION.
DOCSTRING is used as a docstring for the defined function.
BUFFER-FUNCTION should name and return an auxiliary buffer to put results in.
NONE-MESSAGE is used when CHECKER-FUNCTION returns no results.
BUFFER-HEADER is put into the auxiliary buffer first, followed by calling INSERT-REFERENCE for each element in the list returned by CHECKER-FUNCTION.
Source Code
;; Defined in ~/.emacs.d/elpa/markdown-mode-20260321.143/markdown-mode.el
(defmacro defun-markdown-ref-checker
(name docstring checker-function buffer-function none-message buffer-header insert-reference)
"Define a function NAME acting on result of CHECKER-FUNCTION.
DOCSTRING is used as a docstring for the defined function.
BUFFER-FUNCTION should name and return an auxiliary buffer to put
results in.
NONE-MESSAGE is used when CHECKER-FUNCTION returns no results.
BUFFER-HEADER is put into the auxiliary buffer first, followed by
calling INSERT-REFERENCE for each element in the list returned by
CHECKER-FUNCTION."
`(defun ,name (&optional silent)
,(concat
docstring
"\n\nIf SILENT is non-nil, do not message anything when no
such references found.")
(interactive "P")
(unless (derived-mode-p 'markdown-mode)
(user-error "Not available in current mode"))
(let ((oldbuf (current-buffer))
(refs (,checker-function))
(refbuf (,buffer-function)))
(if (null refs)
(progn
(when (not silent)
(message ,none-message))
(kill-buffer refbuf))
(with-current-buffer refbuf
(insert ,buffer-header)
(dolist (ref refs)
(,insert-reference ref oldbuf))
(view-buffer-other-window refbuf)
(goto-char (point-min))
(forward-line 2))))))