From bbb3655e04e06db396ed42f5d3f8b23bfb372e94 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Pavel=20Jan=C3=ADk?= Date: Wed, 6 Feb 2002 14:24:26 +0000 Subject: [PATCH] (sgml-start-tag-regex) (sgml-font-lock-keywords-1, sgml-mode-common): Allow underscore, colon, non-ASCII letters. (sgml-name-char): Don't assume anything about charsets handled by encode-char. (sgml-name-8bit-mode): Doc fix. (sgml-font-lock-keywords-1): Remove comment pattern. (sgml-mode-common): Set font-lock-syntactic-keywords. From Dave Love . --- lisp/ChangeLog | 12 ++++++++++++ lisp/textmodes/sgml-mode.el | 33 +++++++++++++++++++-------------- 2 files changed, 31 insertions(+), 14 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2024116411e..45572c4bf52 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,15 @@ +2002-02-06 Pavel Jan,Bm(Bk + + * textmodes/sgml-mode.el (sgml-start-tag-regex) + (sgml-font-lock-keywords-1, sgml-mode-common): Allow underscore, + colon, non-ASCII letters. + (sgml-name-char): Don't assume anything about charsets handled by + encode-char. + (sgml-name-8bit-mode): Doc fix. + (sgml-font-lock-keywords-1): Remove comment pattern. + (sgml-mode-common): Set font-lock-syntactic-keywords. + From Dave Love . + 2002-02-06 Eli Zaretskii * play/pong.el (pong-height): Don't use height that exceeds the diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el index acbbfcf7bde..ab1eab60e7d 100644 --- a/lisp/textmodes/sgml-mode.el +++ b/lisp/textmodes/sgml-mode.el @@ -226,17 +226,16 @@ separated by a space." :group 'sgml) (defconst sgml-start-tag-regex - "<[A-Za-z]\\([-.A-Za-z0-9= \n\t]\\|\"[^\"]*\"\\|'[^']*'\\)*" + "<[[:alnum:]]\\([-_.:[:alnum:]= \n\t]\\|\"[^\"]*\"\\|'[^']*'\\)*" "Regular expression that matches a non-empty start tag. Any terminating `>' or `/' is not matched.") ;; internal (defconst sgml-font-lock-keywords-1 - '(("<\\([!?][a-z][-.a-z0-9]*\\)" 1 font-lock-keyword-face) - ("<\\(/?[a-z][-.a-z0-9]*\\)" 1 font-lock-function-name-face) - ("[&%][a-z][-.a-z0-9]*;?" . font-lock-variable-name-face) - ("" . font-lock-comment-face))) + '(("<\\([!?][[:alnum:]][-_.:[:alnum:]]*\\)" 1 font-lock-keyword-face) + ("<\\(/?[[:alnum:]][-_.:[:alnum:]]*\\)" 1 font-lock-function-name-face) + ("[&%][[:alpha:]][-_.:[:alnum:]]*;?" . font-lock-variable-name-face))) (defconst sgml-font-lock-keywords-2 ()) @@ -343,9 +342,9 @@ varables of same name)." ;; This is desirable because SGML discards a newline that appears ;; immediately after a start tag or immediately before an end tag. paragraph-separate "[ \t]*$\\|\ -\[ \t]*$" +\[ \t]*$" paragraph-start "[ \t]*$\\|\ -\[ \t]*" +\[ \t]*" adaptive-fill-regexp "[ \t]*" comment-start "" @@ -366,6 +365,8 @@ varables of same name)." nil t) facemenu-add-face-function 'sgml-mode-facemenu-add-face-function) + (set (make-local-variable 'font-lock-syntactic-keywords) + '(("\\(<\\)! *--.*-- *\\(>\\)" (1 "!") (2 "!")))) ;; This will allow existing comments within declarations to be ;; recognized. (set (make-local-variable 'comment-start-skip) "\\(?: