Function: nxml-extend-region
nxml-extend-region is a byte-compiled function defined in
nxml-mode.el.gz.
Signature
(nxml-extend-region)
Documentation
Extend the region to hold the minimum area we can fontify with nXML.
Called with font-lock-beg and font-lock-end dynamically bound.
Source Code
;; Defined in /usr/src/emacs/lisp/nxml/nxml-mode.el.gz
(defun nxml-extend-region ()
"Extend the region to hold the minimum area we can fontify with nXML.
Called with `font-lock-beg' and `font-lock-end' dynamically bound."
(let ((start font-lock-beg)
(end font-lock-end))
(nxml-debug-change "nxml-extend-region(input)" start end)
(when (< start nxml-prolog-end)
(setq start (point-min)))
(cond ((<= end nxml-prolog-end)
(setq end nxml-prolog-end))
(t
(goto-char start)
;; some font-lock backends (like Emacs 22 jit-lock) snap
;; the region to the beginning of the line no matter what
;; we say here. To mitigate the resulting excess
;; fontification, ignore leading whitespace.
(skip-syntax-forward " ")
;; find the beginning of the previous tag
(when (and (not (equal (char-after) ?\<))
(< nxml-prolog-end (point)))
(search-backward "<" nxml-prolog-end t))
(nxml-ensure-scan-up-to-date)
(nxml-move-outside-backwards)
(setq start (point))
(while (< (point) end)
(nxml-tokenize-forward))
(setq end (point))))
(when (or (< start font-lock-beg)
(> end font-lock-end))
(setq font-lock-beg start
font-lock-end end)
(nxml-debug-change "nxml-extend-region" start end)
t)))