Don't throw errors while propertizing in sgml-mode
authorLars Ingebrigtsen <larsi@gnus.org>
Mon, 28 Feb 2022 09:30:31 +0000 (10:30 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 28 Feb 2022 09:30:31 +0000 (10:30 +0100)
* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize): Don't
throw an error when propertizing (bug#54195).

lisp/textmodes/sgml-mode.el

index 83631e64752dbeb80023b654ceb14ae54e594ab7..b49541f47d44793e7d41f14241be57d39a7b6621 100644 (file)
@@ -419,11 +419,11 @@ These have to be run via `sgml-syntax-propertize'"))
 (defun sgml-syntax-propertize (start end &optional rules-function)
   "Syntactic keywords for `sgml-mode'."
   (setq sgml--syntax-propertize-ppss (cons start (syntax-ppss start)))
-  (cl-assert (>= (cadr sgml--syntax-propertize-ppss) 0))
-  (sgml-syntax-propertize-inside end)
-  (funcall (or rules-function sgml--syntax-propertize) (point) end)
-  ;; Catch any '>' after the last quote.
-  (sgml--syntax-propertize-ppss end))
+  (when (>= (cadr sgml--syntax-propertize-ppss) 0)
+    (sgml-syntax-propertize-inside end)
+    (funcall (or rules-function sgml--syntax-propertize) (point) end)
+    ;; Catch any '>' after the last quote.
+    (sgml--syntax-propertize-ppss end)))
 
 (defun sgml-syntax-propertize-inside (end)
   (let ((ppss (syntax-ppss)))