Function: nxml-balanced-close-start-tag
nxml-balanced-close-start-tag is a byte-compiled function defined in
nxml-mode.el.gz.
Signature
(nxml-balanced-close-start-tag BLOCK-OR-INLINE)
Source Code
;; Defined in /usr/src/emacs/lisp/nxml/nxml-mode.el.gz
(defun nxml-balanced-close-start-tag (block-or-inline)
(let ((token-end (nxml-token-before))
(pos (1+ (point)))
(token-start xmltok-start))
(unless (or (eq xmltok-type 'partial-start-tag)
(and (memq xmltok-type '(start-tag
empty-element
partial-empty-element))
(>= token-end pos)))
(error "Not in a start-tag"))
;; Note that this insertion changes xmltok-start.
(insert "></"
(buffer-substring-no-properties (+ xmltok-start 1)
(min xmltok-name-end (point)))
">")
(if (eq block-or-inline 'inline)
(goto-char pos)
(goto-char token-start)
(back-to-indentation)
(if (= (point) token-start)
(let ((indent (current-column)))
(goto-char pos)
(insert "\n")
(indent-line-to indent)
(goto-char pos)
(insert "\n")
(indent-line-to (+ nxml-child-indent indent)))
(goto-char pos)))))