Function: rng-complete-end-tag
rng-complete-end-tag is a byte-compiled function defined in
rng-nxml.el.gz.
Signature
(rng-complete-end-tag LT-POS)
Source Code
;; Defined in /usr/src/emacs/lisp/nxml/rng-nxml.el.gz
(defun rng-complete-end-tag (lt-pos)
(when (save-excursion
(re-search-backward rng-in-end-tag-name-regex
lt-pos
t))
(cond ((or (not rng-open-elements)
(eq (car rng-open-elements) t))
(message "No matching start-tag")
(ding))
(t
(let ((start-tag-name
(if (caar rng-open-elements)
(concat (caar rng-open-elements)
":"
(cdar rng-open-elements))
(cdar rng-open-elements))))
`(,(+ (match-beginning 0) 2)
,(save-excursion (skip-chars-forward "-[:alnum:]_.:") (point))
,(list start-tag-name) ;Sole completion candidate.
:exit-function
,(lambda (_completion status)
(when (eq status 'finished)
(unless (eq (char-after) ?>) (insert ">"))
(when (not (or rng-collecting-text
(rng-match-end-tag)))
(message "Element \"%s\" is incomplete"
start-tag-name))))))))))