On Thu, 5 Dec 2002, aneganov(a)end.org.ru wrote:
Вот спасибо, помогло! :) И как я сам не допер...
А вообще странно, что cp866 не работает, не правда ли?
Может бага в cp-таблице в codepage.el?
Возможно да, потому что у меня в настройках она переопределяется.
Я, правда, очень редко ей пользуюсь ;)
(defvar cp866-decode-table
[
255 240 nil nil 242 nil nil 244 nil nil nil nil nil nil 246 nil
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
252 241 nil nil 243 nil nil 245 nil nil nil nil nil nil 247 nil]
"Table for converting ISO-8859-5 characters into codepage 866 glyphs.")
(setplist 'cp866-decode-table
'(charset cyrillic-iso8859-5 language "Cyrillic-ISO" offset 160))
(codepage-setup 866))
Кстати, крайне неудобно переключаться по C-\ (виндовая
переключалка locale работает только для win1251 - видимо,
по причине "встроенности" последней).
Так вот, нельзя ли заставить Emacs включать нужную
перекодировку для клавы при изменении системного locale?
Т.е. два вопроса:
1) Как заставить input-method переключаться при изменении
виндового Locale (переключаться в cyrillic-jcuken, что
сейчас делается по C-\)
2) Как убедить emacs включать НУЖНУЮ перекодировку для
клавы в зависимости от текущей coding-system?
Т.е. koi для koi, alt для alt и т.д..
Я себе делал по-другому чуточку.
У меня для всех рабочих мест (дома, на работе) локаль устанавливается
Cyrillic-KOI8, а потом делаю проверку - если виндовое окружение, то:
(defun so-emacs-russian-mule-win32 ()
(setq locale-coding-system 'cp1251-dos)
(set-keyboard-coding-system locale-coding-system)
(if (fboundp 'set-selection-coding-system)
(set-selection-coding-system locale-coding-system))
(set-terminal-coding-system locale-coding-system)
(if (fboundp 'set-w32-system-coding-system)
(set-w32-system-coding-system locale-coding-system)))
set-keyboard-coding-system - удобная штука, но! при C-\ было прикольно то,
что для каждого буфера своя раскладка ;)
Вот у меня еще такой вопрос - я не знаю, как в xemacs/mule (из cvs все
никак собрать не могу - некогда поставить на свою машину vc++), а вот в
emacs было бы классно, если бы кодировка дочернего процесса (и окна)
наследовалась бы. Конкретно - я редактирую файл в 1251, хотелось бы, чтобы
лог вводился и заносился в cvs в этой же кодировке.
--
ISD Configuration Management Team
solo(a)isd.dp.ua 2:464/227@fidonet ICQ:74383178