* sgml-mode.el (sgml-syntax-propertize-rules): More verbose comments
This commit is contained in:
parent
ea09b9fe34
commit
ffb7bbdf68
1 changed files with 15 additions and 2 deletions
|
@ -368,11 +368,24 @@ Any terminating `>' or `/' is not matched.")
|
|||
;; if it's outside of tags, but there are too many quotes and
|
||||
;; the resulting number of calls to syntax-ppss made it too slow
|
||||
;; (bug#33887), so we're now careful to leave alone any pair
|
||||
;; of quotes that doesn't hold a < or > char, which is the vast majority.
|
||||
;; of quotes that doesn't hold a < or > char, which is the vast majority:
|
||||
;; either they're both within a tag (or a comment), in which case it's
|
||||
;; indeed correct to leave them as is, or they're both outside of tags, in
|
||||
;; which case they arguably should have punctuation syntax, but it is
|
||||
;; harmless to let them have string syntax because they won't "hide" any
|
||||
;; tag or comment from us (and we use the
|
||||
;; font-lock-syntactic-face-function to make sure those spurious "strings
|
||||
;; within text" aren't highlighted as strings).
|
||||
("\\([\"']\\)[^\"'<>]*"
|
||||
(1 (if (eq (char-after) (char-after (match-beginning 0)))
|
||||
;; Fast-track case.
|
||||
(forward-char 1)
|
||||
;; Avoid skipping comment ender.
|
||||
;; Point has moved to the end of the text we matched after the
|
||||
;; quote, but this risks overlooking a match to one of the other
|
||||
;; regexp in the rules. We could just (goto-char (match-end 1))
|
||||
;; to solve this, but that would be too easy, so instead we
|
||||
;; only move back enough to avoid skipping comment ender, which
|
||||
;; happens to be the only one that we could have overlooked.
|
||||
(when (eq (char-after) ?>)
|
||||
(skip-chars-backward "-"))
|
||||
;; Be careful to call `syntax-ppss' on a position before the one
|
||||
|
|
Loading…
Add table
Reference in a new issue