uv322:

ДП>> Попробуйте переключать раскладку не системным переключателем, а
ДП>> внутри Emacs по C-\.

Uv> Да, так переключает, Но системным как-то привычней.

Ну, вообще-то, Emacspeak читает восьмеричный код знака (octal xxx) при
вводе, если знак - не ASCII и не имеет синтаксис w (слово). То есть,
Emacs не считает этот знак буквой, и знак не принадлежит ASCII. В
Emacspeak 29 с поддержкой уникода добавилась ещё одна проверка: буква
должна принадлежать одному из charset'ов, перечисленных в списке
dtk-unicode-untouched-charsets. В противном случае Emacspeak 29 пытается
определить короткое имя знака по таблице уникода. Если это не
получается, читает восьмеричный код. Я поэтому предложил добавить
cyrillic-iso8859-5 в dtk-unicode-untouched-charsets. На самом деле
русские буквы в Emacs 22 могут быть не только в этом charset'е. Они
могут быть ещё в mule-unicode-0100-24ff. Так что если у вас Emacspeak
29, то имеет смысл добавить этот charset тоже:

(push 'mule-unicode-0100-24ff dtk-unicode-untouched-charsets)

Вы можете посмотреть, в каком charset'е у вас русские буквы, которые вы
ввели при помощи системной раскладки, если на одной из них нажмёте C-u
C-x =. Появится буфер *Help*, в котором будет показана информация о
знаке в позиции курсора. Там же, кстати, и про синтаксис знака можно
узнать. Соответствующие строчки выглядят примерно так:

charset: cyrillic-iso8859-5
...
syntax: w       which means: word

Я настроил свой Emacs, чтобы он использовал только один charset для
представления русских букв - cyrillic-iso8859-5. Для этого в customize
выключил опцию unify-8859-on-encoding-mode и включил
utf-fragment-on-decoding.

-- 
Дмитрий Падучих
-- 
Blinux-rus mailing list
[email protected]
http://www.a11ywiki.org/cgi-bin/mailman/listinfo/blinux-rus

Ответить