Function: help-fns--compiler-macro
help-fns--compiler-macro is a byte-compiled function defined in
help-fns.el.gz.
Signature
(help-fns--compiler-macro FUNCTION)
Source Code
;; Defined in /usr/src/emacs/lisp/help-fns.el.gz
(defun help-fns--compiler-macro (function)
(pcase-dolist (`(,type . ,handler)
(list (cons "compiler macro"
(function-get function 'compiler-macro))
(cons (substitute-command-keys "`byte-compile' property")
(function-get function 'byte-compile))
(cons "byte-code optimizer"
(function-get function 'byte-optimizer))))
(when handler
(if (bolp)
(insert " This function has a ")
(insert " and a "))
(insert type)
(if (symbolp handler)
(progn
(insert (format-message " `%s'" handler))
(save-excursion
(re-search-backward (substitute-command-keys "`\\([^`']+\\)'")
nil t)
(help-xref-button 1 'help-function handler)))
;; FIXME: Obsolete since 24.4.
(let ((lib (get function 'compiler-macro-file)))
(when (stringp lib)
(insert (format-message " in `%s'" lib))
(save-excursion
(re-search-backward (substitute-command-keys "`\\([^`']+\\)'")
nil t)
(help-xref-button 1 'help-function-cmacro function lib)))))))
(unless (bolp)
(insert ". See "
(buttonize "the manual"
(lambda (_) (info "(elisp)Advice and Byte Code")))
" for details.\n")
(save-restriction
(let ((fill-prefix " "))
(narrow-to-region (line-beginning-position -1) (point))
(fill-region (point-min) (point-max)))
(goto-char (point-max)))))