Как я могу заставить emacs думать, что он использует терминал? - PullRequest
1 голос
/ 06 июля 2010

Я хочу автоматизировать работу в режиме блокировки шрифтов с помощью Emacs. Я хочу отформатировать файл, а затем преобразовать его в HTML, используя раскраску режима блокировки шрифта. Проблема в том, что Emacs отказывается распознавать файл, если не считает, что он работает в терминале. Другими словами, он не будет отображаться при работе под -batch. Есть ли способ заставить Emacs думать, что он работает внутри терминала, даже если он запускается программно?

Ответы [ 3 ]

2 голосов
/ 06 июля 2010

Расширенное программирование в среде Unix предоставляет файл src.tar.gz для всего исходного кода в книге;каталог 'pty' содержит пример кода для создания программы pty master / slave, которая может имитировать существование tty.Я проверил это, используя cron:

* * * * * /tmp/apue.2e/pty/pty /usr/bin/tty > /tmp/pty.out 2> /tmp/pty.err
* * * * * /usr/bin/tty > /tmp/tty.out 2> /tmp/tty.err

И вывод приятен:

==> /tmp/pty.out <==
/dev/pts/5

==> /tmp/tty.out <==
not a tty

По крайней мере, этого достаточно, чтобы обмануть tty.:)

1 голос
/ 06 июля 2010

А как насчет использования параметра -batch ?

0 голосов
/ 06 июля 2010

Вы можете попробовать использовать , ожидайте , чтобы обернуть его и посмотреть, достаточно ли это дурачит emacs.Другой альтернативой является копание кода elisp и его удаление, чтобы удалить все проверки для isatty или препятствовать выполнению задания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...