Синтаксис управления символами
Символы управления могут быть представлены с использованием еще одного синтаксиса чтения. Он состоит из вопросительного знака, за которым следуют обратная косая черта, символ «^» и соответствующий символ без управления, в верхнем или нижнем регистре. Например, как ‘?\^I’, так и ‘?\^i’ являются допустимым синтаксисом чтения для символа C-i, символа, значение которого равно 9.
Вместо ‘^’ можно использовать ‘C-’; таким образом, ‘?\C-i’ эквивалентно ‘?\^I’ и ‘?\^i’:
?\^I ⇒ 9 ?\C-I ⇒ 9
В строках и буферах разрешены только те символы управления, которые существуют в ASCII; но для целей ввода с клавиатуры можно преобразовать любой символ в символ управления с помощью ‘C-’. Коды символов этих не-ASCII символов управления включают 2**26 бит, а также код соответствующего символа без управления. Не все текстовые терминалы могут генерировать не-ASCII символы управления, но их просто генерировать с помощью X и других систем окон.
По историческим причинам Emacs обрабатывает символ DEL как символ управления, эквивалентный ?:
?\^? ⇒ 127 ?\C-? ⇒ 127
В результате в настоящее время невозможно представить символ Control-?, который является значимым символом ввода в X, с использованием ‘\C-’. Изменить это нелегко, так как различные файлы Lisp ссылаются на DEL таким образом.
Для представления символов управления, которые можно найти в файлах или строках, рекомендуется использовать синтаксис ‘^’; для символов управления во вводе с клавиатуры предпочтительнее синтаксис ‘C-’. Использование того или иного синтаксиса не влияет на значение программы, но может помочь понять его читателям.
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Ctl_002dChar-Syntax.html