16.4 Загрузка не-ASCII-символов

Когда программы Emacs Lisp содержат строковые константы с не-ASCII-символами, они могут быть представлены в Emacs либо как однобайтовые строки, либо как многобайтовые строки (см. Text Representations). Используемое представление зависит от того, как файл считывается в Emacs. Если он считывается с декодированием в многобайтовое представление, текст Lisp-программы будет многобайтовым текстом, а ее строковые константы — многобайтовыми строками. Если файл, содержащий символы Latin-1 (например), считывается без декодирования, текст программы будет однобайтовым текстом, а ее строковые константы — однобайтовыми строками. См. Coding Systems.

В большинстве программ Emacs Lisp факт того, что не-ASCII-строки являются многобайтовыми строками, не должен быть заметен, поскольку вставка их в однобайтовые буферы автоматически преобразует их в однобайтовые. Однако, если это имеет значение, вы можете принудительно интерпретировать определенный Lisp-файл как однобайтовый, написав в разделе локальных переменных «coding: raw-text». С этим директивом файл будет безусловно интерпретироваться как однобайтовый. Это может иметь значение при создании привязок клавиш к не-ASCII-символам, записанным как ?vliteral.