42.23.3 Таблица активного отображения

Каждое окно может указывать таблицу отображения, как и каждый буфер. Таблица отображения окна, если она есть, имеет приоритет над таблицей отображения буфера. Если ни одна из них не существует, Emacs пытается использовать стандартную таблицу отображения; если она равна nil, Emacs использует обычные соглашения отображения символов (см. Обычные соглашения отображения). (Emacs не «сливает» таблицы отображения: например, если у окна есть таблица отображения, таблица отображения буфера и стандартная таблица отображения полностью игнорируются.)

Обратите внимание, что таблицы отображения влияют на отображение строки режима, поэтому если вы хотите принудительно повторно отобразить строку режима с использованием новой таблицы отображения, вызовите force-mode-line-update (см. Формат строки режима).

Функция: window-display-table &optional window

Эта функция возвращает таблицу отображения окна window, или nil, если такой таблицы нет. По умолчанию для window используется выбранное окно.

Функция: set-window-display-table window table

Эта функция устанавливает таблицу отображения window в table. Аргумент table должен быть либо таблицей отображения, либо nil.

Переменная: buffer-display-table

Эта переменная автоматически локальна для буфера во всех буферах; ее значение указывает на таблицу отображения буфера. Если она равна nil, таблицы отображения буфера нет.

Переменная: standard-display-table

Значение этой переменной — стандартная таблица отображения, которая используется, когда Emacs отображает буфер в окне без определенной таблицы отображения окна или таблицы отображения буфера, или когда Emacs выводит текст в стандартный вывод или поток ошибок. Хотя ее значение по умолчанию обычно nil, в интерактивной сессии, если терминал не может отобразить изогнутые кавычки, ее значение по умолчанию сопоставляет изогнутые кавычки с приближениями ASCII. См. Стиль цитирования текста.

Библиотека disp-table определяет несколько функций для изменения стандартной таблицы отображения.