1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-05 11:45:45 +00:00

* nxml/nxml-mode.el (nxml-balanced-close-start-tag): Use the value

of xmltok-start before the end tag was inserted (Bug#2840).
This commit is contained in:
Chong Yidong 2009-10-24 21:32:19 +00:00
parent 3cf95e3eb6
commit ba07c9ad6c
2 changed files with 14 additions and 9 deletions

View File

@ -1,5 +1,8 @@
2009-10-24 Chong Yidong <cyd@stupidchicken.com>
* nxml/nxml-mode.el (nxml-balanced-close-start-tag): Use the value
of xmltok-start before the end tag was inserted (Bug#2840).
* progmodes/sh-script.el (sh-font-lock-paren): Handle case
patterns that are preceded by an open-paren (Bug#1320).

View File

@ -1254,29 +1254,31 @@ No extra whitespace is inserted."
(defun nxml-balanced-close-start-tag (block-or-inline)
(let ((token-end (nxml-token-before))
(pos (1+ (point))))
(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 xmltok-start)
(goto-char token-start)
(back-to-indentation)
(if (= (point) xmltok-start)
(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)
(insert "\n")
(indent-line-to indent)
(goto-char pos)
(insert "\n")
(indent-line-to (+ nxml-child-indent indent)))
(goto-char pos)))))
(defun nxml-finish-element ()