В моем init.el у меня есть
(setenv "DICPATH" (concat "$HOME" ".hunspell-dics"))
(setq ispell-program-name "/usr/bin/hunspell")
(setq ispell-really-aspell nil)
(setq ispell-really-hunspell t)
(setq ispell-local-dictionary-alist
'(("russian"
"[АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя]"
"^[АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя]"
"[-]" nil ("-d" "ru_RU") nil utf-8)
("english"
"[A-Za-z]"
"[^A-Za-z]"
"[']" nil ("-d" "en_US") nil utf-8))
)
Этот конфиг выглядит нормально, но ispell-buffer и flyspell-buffer работают очень странным образом. Например, в файле .tex (режим латекса) у меня есть преамбула и основной текст в среде документа. Если я запускаю команду ispell для проверки буфера или даже для проверки области, ispell оставляет текст в среде документа неконтролируемым. Все остальные части документа проверяются без вопросов. Я дважды проверил язык ispell, и он был установлен правильно (русский). Итак, вопрос в том, как заставить ispell-buffer/flyspell-buffer проверять весь документ от первой до последней строки?
Например
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\begin{document}
some text
\end{document}
Область с «каким-то текстом» всегда оставалась непроверенной. Неважно, какой язык я использую или какие латексные команды внутри него. Все остается нетронутым.
PS hunspell -d "ru_RU"
из терминала правильно проверяет документ.