Function: reftex-select-external-document
reftex-select-external-document is a byte-compiled function defined in
reftex.el.gz.
Signature
(reftex-select-external-document XR-ALIST XR-INDEX)
Documentation
Return index of an external document.
Source Code
;; Defined in /usr/src/emacs/lisp/textmodes/reftex.el.gz
(defun reftex-select-external-document (xr-alist xr-index)
"Return index of an external document."
(let* ((len (length xr-alist)) (highest (1- (+ ?0 len)))
(prompt (format "[%c-%c] Select TAB: Read prefix with completion"
?0 highest))
key prefix)
(cond
((= len 1)
(message "No external documents available")
(ding) (sit-for 1) 0)
((= len 2)
(- 1 xr-index))
(t
(save-excursion
(let* ((length (apply #'max (mapcar
(lambda(x) (length (car x))) xr-alist)))
(fmt (format " [%%c] %%-%ds %%s\n" length))
(n (1- ?0)))
(setq key
(reftex-select-with-char
prompt
(concat
"SELECT EXTERNAL DOCUMENT\n------------------------\n"
(mapconcat
(lambda (x)
(format fmt (incf n) (or (car x) "")
(reftex--abbreviate-name (cdr x))))
xr-alist ""))
nil t))
(cond
((and (>= key ?0) (<= key highest)) (- key ?0))
((= key ?\C-i)
(setq prefix (completing-read "Prefix: " xr-alist nil t))
(- len (length (memq (assoc prefix xr-alist) xr-alist))))
(t (error "Invalid document selection [%c]" key)))))))))