Function: semantic-edits-incremental-parser

semantic-edits-incremental-parser is an autoloaded and byte-compiled function defined in edit.el.gz.

Signature

(semantic-edits-incremental-parser)

Documentation

Incrementally reparse the current buffer.

Incremental parser allows semantic to only reparse those sections of the buffer that have changed. This function depends on semantic-edits-change-function-handle-changes setting up change overlays in the current buffer. Those overlays are analyzed against the semantic cache to see what needs to be changed.

Aliases

semantic-parse-changes-default

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/semantic/edit.el.gz
;;;###autoload
(defun semantic-edits-incremental-parser ()
  "Incrementally reparse the current buffer.
Incremental parser allows semantic to only reparse those sections of
the buffer that have changed.  This function depends on
`semantic-edits-change-function-handle-changes' setting up change
overlays in the current buffer.  Those overlays are analyzed against
the semantic cache to see what needs to be changed."
  (let ((changed-tags
         ;; Don't use `semantic-safe' here to explicitly catch errors
         ;; and reset the parse tree.
         (catch 'semantic-parse-changes-failed
           (if debug-on-error
               (semantic-edits-incremental-parser-1)
             (condition-case err
                 (semantic-edits-incremental-parser-1)
               (error
                (message "incremental parser error: %S"
			 (error-message-string err))
                t))))))
    (when (eq changed-tags t)
      ;; Force a full reparse.
      (semantic-edits-incremental-fail)
      (setq changed-tags nil))
    changed-tags))