Function: nxml-section-tag-backward
nxml-section-tag-backward is a byte-compiled function defined in
nxml-outln.el.gz.
Signature
(nxml-section-tag-backward)
Documentation
Move backward to the end of a tag that is a section start- or end-tag.
The position of the end of the tag must be <= point.
Point is at the end of the tag. xmltok-start is the start.
Source Code
;; Defined in /usr/src/emacs/lisp/nxml/nxml-outln.el.gz
(defun nxml-section-tag-backward ()
"Move backward to the end of a tag that is a section start- or end-tag.
The position of the end of the tag must be <= point.
Point is at the end of the tag. `xmltok-start' is the start."
(let ((case-fold-search nil)
(start (point))
(tag-regexp (nxml-make-section-tag-regexp))
match-end)
(if (< (point) nxml-prolog-end)
(progn
(goto-char (point-min))
nil)
(while (cond ((not (re-search-backward tag-regexp
nxml-prolog-end
'move))
(setq xmltok-type nil)
(goto-char (point-min))
nil)
((progn
(goto-char (match-beginning 0))
(setq match-end (match-end 0))
(nxml-ensure-scan-up-to-date)
(let ((pos (nxml-inside-start (point))))
(when pos
(goto-char pos)
t))))
((progn
(xmltok-forward)
(and (<= (point) start)
(memq xmltok-type '(start-tag
partial-start-tag
end-tag
partial-end-tag))
;; just in case wildcard matched non-name chars
(= xmltok-name-end (1- match-end))))
nil)
(t (goto-char xmltok-start)
t)))
xmltok-type)))