Для общей шепелявости, вы ищете
Functions FINISH-OUTPUT, FORCE-OUTPUT, CLEAR-OUTPUT
:
finish-output
, force-output
и clear-output
осуществлять контроль над внутренней обработкой буферизованного выходного потока.
finish-output
попытки гарантировать, что любой буферизованный вывод отправлен в выходной поток-достиг своего пункта назначения, а затем возвращается.
force-output
инициирует опорожнение любых внутренних буферов, но не ждет завершения или подтверждения для возврата.
clear-output
пытается прервать любую незавершенную работу вывода, чтобы обеспечить как можно меньше выходных данных для продолжения назначения.
и
Variables *DEBUG-IO*, *ERROR-OUTPUT*, *QUERY-IO*, *STANDARD-INPUT*, *STANDARD-OUTPUT*, *TRACE-OUTPUT*
Значение *debug-io*
, называется отладкой ввод/вывод, представляет собой поток будет использоваться для интерактивных целей отладки.
Значение *error-output*
, называемое выводом ошибок, представляет собой поток, которому должны быть отправлены предупреждения и неинтерактивные сообщения об ошибках.
Значение *query-io*
, называемое запросом ввода-вывода, представляет собой двунаправленный поток, который будет использоваться при задании вопросов пользователю. Вопрос должен быть выведен в этот поток, и ответ будет прочитан из него.
Значение *standard-input*
, называемое стандартным вводом, представляет собой поток, который используется многими операторами в качестве источника ввода по умолчанию, когда конкретный входной поток явно не предоставляется.
Значение *standard-output*
, называемое стандартным выходом, представляет собой поток, который используется многими операторами в качестве назначения по умолчанию для вывода, если явно не указан конкретный выходной поток.
Значение *trace-output*
, называемое выводом трассировки, представляет собой поток, на который отслеживаются функции (см. Трассировку), и макрос времени распечатывают свой вывод.
Emacs Lisp довольно сильно отличается, вы можете захотеть, чтобы начать здесь: https://www.gnu.org/software/emacs/manual/html_node/elisp/Output-Functions.html