У меня есть HTML-страница с включенным html-mode
. Я вызываю функцию sgml-validate
для проверки ошибок разметки. Он основан на compilation-mode
. Я хочу удалить некоторые предупреждения из вывода компиляции, поэтому я написал функцию и подключил ее к compilation-filter-hook
(эта переменная не документирована, но compilation-filter
вызывает ее). Все работает. Моя проблема в том, как я могу гарантировать, что моя функция фильтра вызывается только тогда, когда я начал процесс компиляции на HTML-странице (через sgml-validate
)?
Я вижу два метода, но ни один из них не сработал:
- Во-первых, я могу проверить значение
major-mode
. Но он всегда возвращаетcompilation-mode
, так как это разрешено для буфера*compilation*
. (Я нашел функцию фильтра в исходном кодеgrep+
, и они проверили значениеmajor-mode
. Я не могу понять, как это может работать правильно.) - Другая идея заключалась в том, чтобы подключить мою функцию фильтра только к буферу HTML-файла, но по тем же причинам она не могла работать, поскольку вывод процесса компиляции идет в отдельный буфер.