Как проверить значения `font-lock-Keywords` для кода Emacs Lisp

Я задаю вопрос, потому что думаю, что и вопрос, и возможные ответы могут помочь пользователям Emacs, которые пишут код на Лиспе, который определяетfont-lock-keywords, Я даю один ответ, который, я думаю, помогает. Я также заинтересован в других ответах.

Значением этой переменной является список выражений, каждое из которых может указывать один или несколько шаблонов для сопоставления или функции для сопоставления, а также один или несколько граней для выделения совпадающего текста. Возможности дляfont-lock-keywords ценности многочисленны и сложны. (Документ, описывающий это - руководство Elisp, узелSearch-based Fontification.)

В большинстве случаев список содержит более одного элемента, что означает более одного шаблона регулярного выражения. Они могут взаимодействовать по-разному. Некоторые могут препятствовать тому, чтобы другие вступили в силу, или они могут изменить эффект других. Моя библиотекаDired +например, определяетfont-lock-keywords в режиме Dired с 31 записью (регулярные выражения), многие из которых взаимодействуют.

Как сохранить все это прямо? Каквы отлаживать такой список, когда вы его определяете или модифицируете? Вы можете закомментировать все элементы списка, кроме одного, чтобы увидеть его влияние в одиночку. А потом повторите для другого. А потом, возможно, добавить несколько вместе, и, возможно, в разных порядках. Полагаю, есть разные возможности, но что вы делаете?

(Хорошо, я знаю, что большинство кодировщиков Elisp не пишут супер сложныеfont-lock-keywords определения. Но даже для простых определений это может стать сложным. И, возможно, если бы этот процесс был проще, тогда пользователи не стали бы без необходимости ограничивать себя только одной или двумя записями.)

Ответы на вопрос(2)

Ваш ответ на вопрос