Ранее уже обсуждался этот вопрос
http://www.linux.org.ru/view-message.jsp?msgid=2446507
однако, я так и не смог понять как настроить одновременную работу словарей.
Версии ПО:
- GNU Emacs 23.1.50.1 (i386-mingw-nt5.1.2600)
- International Ispell Version 3.1.20 (but really Aspell 0.50.3)
Фрагмент .emacs:
(setq-default ispell-program-name "aspell")
(setq ispell-dictionary "english")
(setq ispell-local-dictionary "russian")
(setq flyspell-default-dictionary "russian")
При таких настройках
M-x ispell-buffer проверяет правильно только русский текст английский текст распознается как ошибка, варианты замены не предлагаются.
flyspell-mode проверяет русский текст, английский игнорирует.
В упомянутой выше ветке предлагают использовать ispell-multi
http://www.dur.ac.uk/p.j.heslin/Software/Emacs/Download/ispell-multi.el
Располагаем файл ispell-multi.el в load-path
Фрагмент комментариев из ispell-multi.el:
;; If all you want to do is to change the behavior of ispell so that
;; it uses multiple ispell processes for different buffers, then
;; (require 'ispell-multi) is all you need to do.
Добавление этой (require 'ispell-multi) строчку в конце фрагмента .emacs:
(setq-default ispell-program-name "aspell")
(setq ispell-dictionary "english")
(setq ispell-local-dictionary "russian")
(setq flyspell-default-dictionary "russian")
(require 'ispell-multi)
не изменяет поведение, добавление (require 'ispell-multi) в начале фрагмента .emacs приводит к следующим ошибкам:
M-x ispell-buffer
Starting new Ispell process [english] ...
apply: Creating process pipe: no error
M-x flyspell-mode
Starting new Ispell process [english] ...
Enabling Flyspell mode gave an error
Подскажите решение.