From ec0ddb5c7a27dd600a68940db762fc5c92550b08 Mon Sep 17 00:00:00 2001 From: Ivan Andrus Date: Tue, 8 Sep 2015 16:38:13 -0600 Subject: [PATCH] Properly quote nested xml comments (Bug#6267) (Bug#20001) * nxml-mode.el (nxml-comment-quote-nested): New function (nxml-mode): Set comment-quote-nested-function --- lisp/nxml/nxml-mode.el | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lisp/nxml/nxml-mode.el b/lisp/nxml/nxml-mode.el index 6c5c85b2fcc..dc151a3c650 100644 --- a/lisp/nxml/nxml-mode.el +++ b/lisp/nxml/nxml-mode.el @@ -546,6 +546,8 @@ Many aspects this mode can be customized using (setq comment-end-skip "[ \t\r\n]*-->") (make-local-variable 'comment-line-break-function) (setq comment-line-break-function 'nxml-newline-and-indent) + (make-local-variable 'comment-quote-nested-function) + (setq comment-quote-nested-function 'nxml-comment-quote-nested) (use-local-map nxml-mode-map) (save-excursion (save-restriction @@ -1350,6 +1352,18 @@ of the inserted start-tag or nil if none was inserted." start-tag-indent))))) inserted-start-tag-pos)) +(defun nxml-comment-quote-nested (cs ce unp) + "Quote nested comments in buffer. +See `comment-quote-nested-function' for more information.") + (goto-char (point-min)) + (save-match-data + (while (re-search-forward "-[\\]*-" nil t) + (goto-char (match-beginning 0)) + (forward-char 1) + (if unp + (delete-char 1) + (insert "\\"))))) + ;;; Indentation (defun nxml-indent-line () -- 2.11.4.GIT