LINUX.ORG.RU

знатокам emacs


0

0

есть две системы, на обеих стоит русский словарь для aspell. На одной - FC3 - самосборный, на другой - FC5 - штатный.

Есть emacs, где дефолтный словарь - русский. Emacs "родной" в каждом дистрибутиве. Локаль выставлена в Cyrillic-KOI8

Проблема: в одном emacs'e (на FC3, с самосборным словарем) ispell проверяет русские тексты (в кодировке koi8-r), а другом (FC5 со штатным) - нет.

Подскажите, куда рыть? .emacs одинаков.

а сам ispell то русский в нужной кодировке умеет проверять? всмысле настроен?

anonymous
()

> Подскажите, куда рыть?

Если из консоли проверяет, рой в сторону ispell-dictionary-alist и ispell-local-dictionary-alist, есть там параметр для словаря CHARACTER-SET, может, стоит его покрутить...

uj2 ★★★
()
Ответ на: комментарий от uj2

> Если из консоли проверяет, рой в сторону ispell-dictionary-alist и ispell-local-dictionary-alist, есть там параметр для словаря CHARACTER-SET, может, стоит его покрутить...

Из консоли проверяет нормально, если взять файл в кодировке koi8-r и указать aspell'у явно эту кодировку.

За совет спасибо, посмотрю. О результатх напишу

annoynimous ★★★★★
() автор топика
Ответ на: комментарий от annoynimous

проблему решил :)

Сначала скажу пару общих слов. По всей видимости, в версии 0.60 от Fedore Core 5 ведутся работы по поддержке проверки в utf-8. В результате, проверка файла и ведется в этой кодировке (видимо, используя текущее значение переменных локализации, типа LANG и LC_MESSAGES). Сама программа приобрела новый ключ --encoding=(utf8,koi8-r) (приведены значения, релевантные для русского языка).

Поскольку кириллическое окружение в emacs у меня выставлено в Cyrillic-KOI8, то буфер текста записан тоже в этой кодировке. Переменная ispell-dictionary-alist для словаря русского языка (имеющего метку "russian") также указывает кодировку koi8-r. Однако aspell не определяет кодировку текста автоматически и использует по-умолчанию utf8. К счастью, в информации о словаре есть возможность указывать дополнительные опции для ispell/aspell.

Как я победил проблему: сделал 'customize' для переменной ispell-dictionary-alist и сохранил ее (она появится в Вашем .emacs). Однако, считываемые оттуда значения впоследствии игнорируются, поэтому я переименовал переменную в моем .emacs на ispell-local-dictionary-alist и удалил оттуда всю информацию о словарях, кроме измененного русского, в котором добавил переменную для aspell "--encoding=koi8-r". И проверка орфографии заработала! :)

annoynimous ★★★★★
() автор топика
Ответ на: комментарий от annoynimous

ЗЫ Был немного неправ, для 0.50.5 тоже есть параметр --encoding. Видимо, просто изменилось поведение по-умолчанию и для версии 0.60.сколько-то-там проверка _всегда_ идет в utf8, если другая явно не указана.

annoynimous ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.