Emacs на Win32 с hunspell - личный словарь не сохраняется

Итак, у меня есть рабочая установка для Emacs (v23.3.1) в Windows 7 с использованием hunspell после следования инструкциям в вики.

http://www.emacswiki.org/emacs/InteractiveSpell

Когда я проверяю правописание документа (M-x ispell), emacs дает мне возможность вставлять помеченное слово в личный словарь нажатием клавиши 'i' или же 'u', В конце он спрашивает меня, хочу ли я сохранить измененный личный словарь, и я выбираю да.

Проблема в том, что личный словарь не сохраняется на диск, а выделенные ранее слова снова помечаются в новом сеансе.

Попробовал следующие вещи, рекомендованные в другом месте, но безрезультатно:

(setq ispell-personal-dictionary (развернуть имя-файла "~/personal-dictionary.txt"))

У кого-нибудь есть решение или обходной путь для этого? Если вы можете сохранить в личном словаре, пожалуйста, напишите соответствующие биты из вашего .emacs

2 ответа

Решение

Я думаю, что проблема может заключаться в том, что, хотя вы указали ispell, где хранится ваш личный словарь, вы не предоставили эту информацию в hunspell.

Со страницы руководства:

-p dict

Установите путь личного словаря. По умолчанию это $HOME/.hunspell_default. При установке -d или переменной окружения DICTIONARY личный словарь будет иметь значение $HOME/.hunspell_dicname

Я использую Hunspell, скомпилированный с Cygwin, и использую словарь en-GB. Если я установлю значение ispell-personal-dictionary в "c:/cygwin/home/luke.girvin/.hunspell_en_GB" Все слова, которые я добавляю в свой личный словарь с помощью ispell, сохраняются правильно.

Таким образом, простой способ решить вашу проблему - изменить имя вашего личного файла словаря на то, что Hunspell ожидает по умолчанию.

В качестве альтернативы, вы можете использовать -p возможность сообщить Hunspell, какой файл словаря вы хотите использовать, возможно, путем настройки ispell-cmd-args,

Кроме того, существует ли файл словаря на самом деле? Я обнаружил, что Emacs не будет создавать этот файл для меня, но он обновит существующий пустой файл.

Попробуйте использовать личную папку для "специальных" программ Windows. Проблема в том, что только пользователи с правами администратора могут писать в C:\Program Files и если вы сохранили в нем emacs и вызвали его с обычными шансами пользователя, вы не сможете писать туда.

Решение: просто создайте новую папку, как C:\Programs\ и положил туда emacs. Таким образом, ваш пользователь будет иметь права на запись в папку.

Это скорее обходной путь, но для некоторых приложений это проще.

Другие вопросы по тегам