24.7.9 Конструкции многострочной блокировки шрифта

Обычно элементы font-lock-keywords не должны соответствовать нескольким строкам; это работает ненадежно, потому что блокировка шрифта обычно сканирует только часть буфера, и она может пропустить многострочную конструкцию, которая пересекает границу строки, с которой начинается сканирование. (Сканирование обычно начинается в начале строки.)

Чтобы элементы, соответствующие многострочным конструкциям, работали должным образом, необходимо учесть два аспекта: правильное определение и правильное повторное выделение. Первое означает, что блокировка шрифта находит все многострочные конструкции. Второе означает, что блокировка шрифта правильно повторно выделяет весь соответствующий текст, когда изменяется многострочная конструкция — например, если часть текста, которая ранее была частью многострочной конструкции, перестает ею быть. Эти два аспекта тесно связаны, и часто заставить один из них работать кажется, что заставляет работать и другой. Однако для надежных результатов вы должны явно уделять внимание обоим аспектам.

Существует три способа обеспечения правильного определения многострочных конструкций:

Существует несколько способов выполнения повторного выделения многострочных конструкций: