Function: TeX-command-expand
TeX-command-expand is a byte-compiled function defined in tex.el.
Signature
(TeX-command-expand COMMAND &optional LIST)
Documentation
Expand COMMAND for TeX-active-master as described in LIST.
LIST default to TeX-expand-list(var)/TeX-expand-list(fun). As a special exception,
%% can be used to produce a single % sign in the output
without further expansion.
Source Code
;; Defined in ~/.emacs.d/elpa/auctex-14.1.2/tex.el
(defun TeX-command-expand (command &optional list)
"Expand COMMAND for `TeX-active-master' as described in LIST.
LIST default to `TeX-expand-list'. As a special exception,
`%%' can be used to produce a single `%' sign in the output
without further expansion."
(let ((TeX-expand-command command)
TeX-expand-pos
TeX-command-text
TeX-command-pos
pat entry case-fold-search string expansion arguments)
(setq list (cons
(list "%%" (lambda nil
(setq TeX-expand-pos (1+ TeX-expand-pos))
"%"))
(or list (TeX-expand-list)))
pat (regexp-opt (mapcar #'car list)))
(while (setq TeX-expand-pos (string-match pat TeX-expand-command TeX-expand-pos))
(setq string (match-string 0 TeX-expand-command)
entry (assoc string list)
expansion (car (cdr entry)) ;Second element
arguments (cdr (cdr entry)) ;Remaining elements
string (save-match-data
(cond
((functionp expansion)
(apply expansion arguments))
((boundp expansion)
(apply (symbol-value expansion) arguments))
(t
(error "Nonexpansion %s" expansion)))))
(if (stringp string)
(setq TeX-expand-command
(replace-match string t t TeX-expand-command))))
TeX-expand-command))