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.

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.

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."

  ;; 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))))