В моем 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" из терминала правильно проверяет документ.
