[devel] Страшно старая бага в emacs'е

Michael Pozhidaev =?iso-8859-1?q?msp_=CE=C1_altlinux=2Eru?=
Пн Авг 27 00:35:29 MSD 2007


Alexey Voinov <voins на altlinux.ru> writes:

> 1. Можно задействовать customize.
> 2. Можно добавить нужный пункт в меню (и задействовать customize).
> 3. Можно в самой это функции, заменяющей внешний скрипт, создать
> нужный файлик в ~/.emacs.d/site-start.d/
>
> Всё можно организовать без ручного редактирования конфигов. Кстати,
> тут даже лучше было бы дёргать эту штуку _после_ загрузки
> пользовательского ~/.emacs, в котором выставляется переменная грузить
> или не грузить всю эту кухню. :)
Мне больше нравиться третий вариант, если я его правильно усёк. Ближе к делу попробую сделать 
пробную реализацию и напишу об этом. Просьба кому-нибудь провернуть при возможности почистку /etc/emacs.d/site-start.d, которую вчера обсуждали,
чтобы можно было работать уже поверх прибранных скриптов. :)
>
> помогло. По-моему такая штука - это совершенно не то, что мы хотим
> получить при загрузке emacs. :)
Это не бага. Ведёт он себя в этом месте действительно страшновато, но это лечится. Дело в том, что emacspeak-это только 
первая половина системы, а второй должен быть речевой сервер. Самый примитивный из них -- eflite (есть в Сизифе),
но я использую собственную поделку -- voiceman. Ошибка, которая у вас появлялась, говорит о том, что
есть какие-то проблемы общения с таким сервером. Для чего было нужно сделать voiceman -- это отдельная 
история, о которой нужно будет мне написать подробное описание со всеми пояснениями. В целом, я планирую на его основе сделать 
механику централизованного вывода речи, чтобы избавить пользователя от битв с различными синтезаторами.
Чтобы пустить это в дело:
# apt-get install voiceman espeak 
# service voiceman start -- тут он уже должен сказать приветствие.
Если при сборке emacspeak выполнялся make в директории servers/linux-outloud, то всё должно будет 
исправиться установкой переменной DTK_PROGRAM в /usr/bin/voiceman-emacspeak.
В сизифном emacspeak'е используется устаревшая переменная DTK_TCL, и она сейчас уже  может не работать.
Я эту переменную инициализирую в ~/.bash_profile.
Если в процессе пробы будет тишина, то нужно будет проверить, что работает сам espeak. 
Запустите просто 'espeak' и попишите просто в него что-нибудь.
Он должен будет это проговаривать, если будет тишина, то значит он где-то не подружился с выводом звуков. Для его работы в системе должне 
быть обязательно /dev/dsp. 
voiceman-emacspeak так сделан, что он никогда не отвечает отказом самому emacspeak'у, поскольку когда у меня начинается эта проблема,
которая была у Вас, то это просто катастрофа. :)

-- 
The best wishes. Michael Pozhidaev. E-mail: msp на altlinux.ru.



Подробная информация о списке рассылки Devel