Function: rng-find-previous-error-overlay

rng-find-previous-error-overlay is a byte-compiled function defined in rng-valid.el.gz.

Signature

(rng-find-previous-error-overlay POS)

Documentation

Return the overlay for the last error starting before POS.

Return nil if there is no such overlay or it is out of date. Do not do any additional validation.

Source Code

;; Defined in /usr/src/emacs/lisp/nxml/rng-valid.el.gz
(defun rng-find-previous-error-overlay (pos)
  "Return the overlay for the last error starting before POS.
Return nil if there is no such overlay or it is out of date.
Do not do any additional validation."
  (when (and rng-error-count
	     (<= pos rng-validate-up-to-date-end))
    (let (done found overlays)
      (while (not done)
	(cond (overlays
	       (let ((overlay (car overlays)))
		 (setq overlays (cdr overlays))
		 (when (and (eq (overlay-get overlay 'category) 'rng-error)
			    ;; Is it the first?
			    (= (overlay-start overlay) pos))
		   (setq done t)
		   (setq found overlay))))
	      ((= pos (point-min))
	       (setq done t))
	      (t
	       (setq pos (previous-overlay-change pos))
	       (setq overlays (overlays-in pos (1+ pos))))))
      found)))