Function: org-export-resolve-coderef
org-export-resolve-coderef is a byte-compiled function defined in
ox.el.gz.
Signature
(org-export-resolve-coderef REF INFO)
Documentation
Resolve a code reference REF.
INFO is a plist used as a communication channel.
Return associated line number in source code, or REF itself, depending on src-block or example element's switches. Throw an error if no block contains REF.
Source Code
;; Defined in /usr/src/emacs/lisp/org/ox.el.gz
(defun org-export-resolve-coderef (ref info)
"Resolve a code reference REF.
INFO is a plist used as a communication channel.
Return associated line number in source code, or REF itself,
depending on src-block or example element's switches. Throw an
error if no block contains REF."
(or (org-element-map (plist-get info :parse-tree) '(example-block src-block)
(lambda (el)
(with-temp-buffer
(insert (org-trim (org-element-property :value el)))
(let* ((label-fmt (or (org-element-property :label-fmt el)
org-coderef-label-format))
(ref-re (org-src-coderef-regexp label-fmt ref)))
;; Element containing REF is found. Resolve it to
;; either a label or a line number, as needed.
(when (re-search-backward ref-re nil t)
(if (org-element-property :use-labels el) ref
(+ (or (org-export-get-loc el info) 0)
(line-number-at-pos)))))))
info 'first-match)
(signal 'org-link-broken (list ref))))