Function: reftex-access-scan-info
reftex-access-scan-info is a byte-compiled function defined in
reftex.el.gz.
Signature
(reftex-access-scan-info &optional RESCAN FILE)
Documentation
Ensure access to the scanning info for the current file.
Source Code
;; Defined in /usr/src/emacs/lisp/textmodes/reftex.el.gz
;;; =========================================================================
;;;
;;; Accessing the parse information
(defun reftex-access-scan-info (&optional rescan file)
"Ensure access to the scanning info for the current file."
;; When the multifile symbols are not yet tied,
;; tie them. When they are empty or RESCAN is non-nil, scan the document.
;; But, when RESCAN is -1, don't rescan even if docstruct is empty.
;; When FILE is non-nil, parse only from that file.
;; Error out in a buffer without a file.
(if (and reftex-mode
(not (buffer-file-name)))
(error "RefTeX works only in buffers visiting a file"))
;; Make sure we have the symbols tied
(if (eq reftex-docstruct-symbol nil)
;; Symbols are not yet tied: Tie them.
(reftex-tie-multifile-symbols))
(reftex-ensure-compiled-variables)
(when (or (null (symbol-value reftex-docstruct-symbol))
(member rescan '(t 1 (4) (16))))
;; The docstruct will change: Remove selection buffers.
(save-excursion
(reftex-erase-buffer "*toc*")
(reftex-erase-all-selection-and-index-buffers)))
(if (and (null (symbol-value reftex-docstruct-symbol))
(not (member rescan '(t 1 (4) (16))))
reftex-save-parse-info)
;; Try to read the stuff from a file
(reftex-access-parse-file 'read))
(cond
((equal rescan -1)) ;; We are not allowed to scan.
((not (symbol-value reftex-docstruct-symbol))
;; Scan the whole document
(reftex-do-parse 1 file))
((member rescan '(t 1 (4) (16)))
;; Scan whatever was required by the caller.
(reftex-do-parse rescan file))))