Обычно Emacs пытается обновить экран всякий раз, когда ожидает ввода. С помощью следующей функции вы можете запросить немедленную попытку обновления дисплея, находясь в середине кода Lisp, без фактического ожидания ввода.
Эта функция пытается немедленно выполнить обновление дисплея. Необязательный аргумент
force, если он не равен nil, заставляет выполнить обновление дисплея,
вместо того чтобы быть прерванным, если ожидается ввод.
Функция возвращает t, если она действительно попыталась выполнить обновление дисплея, и
nil в противном случае. Значение t не означает, что
обновление дисплея было завершено; оно могло быть прервано
поступлением нового ввода.
Хотя redisplay пытается немедленно выполнить обновление дисплея, это
не изменяет того, как Emacs определяет, какие части его фреймов следует обновлять.
В отличие от этого, следующая функция добавляет определенные окна в
список ожидающих обновления дисплея (как если бы их содержимое полностью изменилось),
но не пытается немедленно выполнить обновление дисплея.
Эта функция заставляет некоторые или все окна быть обновленными при следующем
обновлении дисплея Emacs. Если object является окном, это окно
должно быть обновлено. Если object является буфером или именем буфера, все
окна, отображающие этот буфер, должны быть обновлены. Если object равен
nil (или опущен), должны быть обновлены все окна.
Эта функция не выполняет обновление дисплея немедленно; Emacs делает это, когда
ожидает ввода или когда вызывается функция redisplay.
Функция, выполняемая непосредственно перед обновлением дисплея. Она вызывается с одним аргументом,
набором окон, которые должны быть обновлены. Набор может быть nil,
что означает только выбранное окно, или t, что означает все
окна.
Этот хук выполняется непосредственно перед обновлением дисплея. Он вызывается один раз в каждом
окне, которое должно быть обновлено, с current-buffer, установленным
в буфер, отображаемый в этом окне.