Function: byte-compile--docstring

byte-compile--docstring is a byte-compiled function defined in bytecomp.el.gz.

Signature

(byte-compile--docstring DOC KIND NAME &optional IS-A-VALUE)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/bytecomp.el.gz
(defun byte-compile--docstring (doc kind name &optional is-a-value)
  (byte-compile--docstring-style-warn doc kind name)
  ;; Make docstrings dynamic, when applicable.
  (cond
   ((and byte-compile-dynamic-docstrings
         ;; The native compiler doesn't use those dynamic docstrings.
         (not byte-native-compiling)
         ;; Docstrings can only be dynamic when compiling a file.
         byte-compile--\#$)
    (let* ((byte-pos (with-memoization
                         ;; Reuse a previously written identical docstring.
                         ;; This is not done out of thriftiness but to try and
                         ;; make sure that "equal" functions remain `equal'.
                         ;; (Often those identical docstrings come from
                         ;; `help-add-fundoc-usage').
                         ;; Needed e.g. for `advice-tests-nadvice'.
                         (gethash doc byte-compile--docstrings)
                       (byte-compile-output-as-comment doc nil)))
           (newdoc (cons byte-compile--\#$ byte-pos)))
      (if is-a-value newdoc (macroexp-quote newdoc))))
   (t doc)))