Эти функции преобразуют события, последовательности клавиш или символы в текстовые описания. Эти описания полезны для включения произвольных текстовых символов или последовательностей клавиш в сообщения, поскольку они преобразуют непечатаемые символы и символы пробела в последовательности печатаемых символов. Описание непечатаемого символа, не являющегося пробелом, — это сам этот символ.
Эта функция возвращает строку, содержащую стандартную нотацию Emacs для входных событий в sequence. Если prefix не равен nil, это последовательность входных событий, предшествующих sequence, и она включается в возвращаемое значение. Оба аргумента могут быть строками, векторами или списками. См. Входные события для получения дополнительной информации о допустимых событиях.
(key-description [?\M-3 delete])
⇒ "M-3 <delete>"
(key-description [delete] "\M-3")
⇒ "M-3 <delete>"
См. также примеры для single-key-description ниже.
Эта функция возвращает строку, описывающую event в стандартной нотации Emacs для ввода с клавиатуры. Обычный печатаемый символ отображается сам по себе, но управляющий символ преобразуется в строку, начинающуюся с ‘C-’, мета-символ преобразуется в строку, начинающуюся с ‘M-’, а пробел, таб и т. д. отображаются как ‘SPC’, ‘TAB’, и т. д. Символ функциональной клавиши отображается внутри угловых скобок ‘<…>’. Событие, которое является списком, отображается как имя символа в CAR списка, внутри угловых скобок.
Если необязательный аргумент no-angles не равен nil, угловые скобки вокруг функциональных клавиш и символов событий опускаются; это для совместимости со старыми версиями Emacs, которые не использовали скобки.
(single-key-description ?\C-x)
⇒ "C-x"
(key-description "\C-x \M-y \n \t \r \f123")
⇒ "C-x SPC M-y SPC C-j SPC TAB SPC RET SPC C-l 1 2 3"
(single-key-description 'delete)
⇒ "<delete>"
(single-key-description 'C-mouse-1)
⇒ "C-<mouse-1>"
(single-key-description 'C-mouse-1 t)
⇒ "C-mouse-1"
Эта функция возвращает строку, описывающую character в стандартной нотации Emacs для символов, которые могут встречаться в тексте — подобно single-key-description, за исключением того, что аргумент должен быть допустимым кодом символа, который проходит проверку characterp (см. Коды символов). Функция производит описания управляющих символов с ведущим каретом (поскольку Emacs обычно отображает управляющие символы в буферах именно так). Символы с битами модификатора вызовут ошибку в этой функции (ASCII символы с модификатором Control являются исключением, они представляются как управляющие символы).
(text-char-description ?\C-c)
⇒ "^C"
(text-char-description ?\M-m)
error→ Wrong type argument: characterp, 134217837
Эта функция в основном используется для работы с клавиатурными макросами, но ее также можно использовать как грубый обратный вызов для key-description. Вы вызываете ее со строкой, содержащей описания клавиш, разделенные пробелами; она возвращает строку или вектор, содержащий соответствующие события. (Это может быть одной допустимой последовательностью клавиш или нет, в зависимости от используемых событий; см. Последовательности клавиш.) Если need-vector не равен nil, возвращаемое значение всегда является вектором.