Commit 60128096 authored by Stefan Monnier's avatar Stefan Monnier
Browse files

(sgml-comment-indent-new-line): New fun.

(sgml-mode): Use it for comment-line-break-function.
parent 0d1bf3f7
...@@ -373,6 +373,13 @@ Otherwise, it is set to be buffer-local when the file has ...@@ -373,6 +373,13 @@ Otherwise, it is set to be buffer-local when the file has
(defvar v2) ; free for skeleton (defvar v2) ; free for skeleton
(defun sgml-comment-indent-new-line (&optional soft)
(let ((comment-start "-- ")
(comment-start-skip "\\(<!\\)?--[ \t]*")
(comment-end " --")
(comment-style 'plain))
(comment-indent-new-line soft)))
(defun sgml-mode-facemenu-add-face-function (face end) (defun sgml-mode-facemenu-add-face-function (face end)
(if (setq face (cdr (assq face sgml-face-tag-alist))) (if (setq face (cdr (assq face sgml-face-tag-alist)))
(progn (progn
...@@ -416,6 +423,8 @@ Do \\[describe-key] on the following bindings to discover what they do. ...@@ -416,6 +423,8 @@ Do \\[describe-key] on the following bindings to discover what they do.
(set (make-local-variable 'comment-start) "<!-- ") (set (make-local-variable 'comment-start) "<!-- ")
(set (make-local-variable 'comment-end) " -->") (set (make-local-variable 'comment-end) " -->")
(set (make-local-variable 'comment-indent-function) 'sgml-comment-indent) (set (make-local-variable 'comment-indent-function) 'sgml-comment-indent)
(set (make-local-variable 'comment-line-break-function)
'sgml-comment-indent-new-line)
(set (make-local-variable 'skeleton-further-elements) (set (make-local-variable 'skeleton-further-elements)
'((completion-ignore-case t))) '((completion-ignore-case t)))
(set (make-local-variable 'skeleton-end-hook) (set (make-local-variable 'skeleton-end-hook)
...@@ -885,7 +894,7 @@ If non-nil LIMIT is a nearby position before point outside of any tag." ...@@ -885,7 +894,7 @@ If non-nil LIMIT is a nearby position before point outside of any tag."
(skip-chars-forward "^<" pos) (skip-chars-forward "^<" pos)
(setq state (setq state
(cond (cond
((= (point) pos) ((= (point) pos)
;; We got to the end without seeing a tag. ;; We got to the end without seeing a tag.
nil) nil)
((looking-at "<!\\[[A-Z]+\\[") ((looking-at "<!\\[[A-Z]+\\[")
...@@ -988,7 +997,7 @@ Leave point at the beginning of the tag." ...@@ -988,7 +997,7 @@ Leave point at the beginning of the tag."
(setq tag-type 'comment (setq tag-type 'comment
tag-start (search-backward "<!--" nil t))) tag-start (search-backward "<!--" nil t)))
((sgml-looking-back-at "]]") ; cdata ((sgml-looking-back-at "]]") ; cdata
(setq tag-type 'cdata (setq tag-type 'cdata
tag-start (re-search-backward "<!\\[[A-Z]+\\[" nil t))) tag-start (re-search-backward "<!\\[[A-Z]+\\[" nil t)))
(t (t
(setq tag-start (setq tag-start
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment