43.14 Вывод в терминал

Функции вывода в терминал отправляют вывод в текстовый терминал или отслеживают вывод, отправленный в терминал. Переменная baud-rate сообщает, какой, по мнению Emacs, скорость вывода терминала.

Пользовательская опция: baud-rate

Значение этой переменной — это скорость вывода терминала, насколько это известно Emacs. Установка этой переменной не меняет скорость фактической передачи данных, но значение используется для расчетов, таких как дополнение (padding).

Она также влияет на решения о том, прокручивать ли часть экрана или перерисовывать в текстовых терминалах. См. Принудительное повторное отображение для соответствующей функциональности в графических терминалах.

Значение измеряется в бодах.

Если вы работаете через сеть, и разные части сети работают на разных скоростях бод, значение, возвращаемое Emacs, может отличаться от значения, используемого вашим локальным терминалом. Некоторые сетевые протоколы передают скорость локального терминала удаленной машине, чтобы Emacs и другие программы могли получить правильное значение, но другие этого не делают. Если у Emacs неверное значение, он принимает субоптимальные решения. Чтобы исправить проблему, установите baud-rate.

Функция: send-string-to-terminal string &optional terminal

Эта функция отправляет string в terminal без изменений. Управляющие символы в string имеют эффекты, зависящие от терминала. (Если вам необходимо отобразить не-ASCII текст в терминале, закодируйте его с помощью одной из функций, описанных в Явное кодирование и декодирование.) Эта функция работает только с текстовыми терминалами. terminal может быть объектом терминала, фреймом или nil для терминала выбранного фрейма. В пакетном режиме string отправляется в stdout, когда terminal равен nil.

Одно из применений этой функции — определение клавиш функций в терминалах, имеющих загружаемые определения клавиш функций. Например, так (в некоторых терминалах) определяется клавиша функции 4 для перемещения вперед на четыре символа (передавая компьютеру символы C-u C-f):

(send-string-to-terminal "\eF4\^U\^F")
     ⇒ nil
Команда: open-termscript filename

Эта функция используется для открытия файла termscript, который будет записывать все символы, отправленные Emacs в терминал. Она возвращает nil. Файлы termscript полезны для расследования проблем, когда Emacs искажает экран, проблемы, вызванные неверными записями Termcap или нежелательными настройками опций терминала, чаще, чем фактическими ошибками Emacs. Как только вы убедитесь, какие символы были фактически выведены, вы можете надежно определить, соответствуют ли они спецификациям Termcap в использовании.

(open-termscript "../junk/termscript")
     ⇒ nil

Вы закрываете файл termscript, вызвав эту функцию с аргументом nil.

Смотрите также open-dribble-file в Запись ввода.