Spec-Zone.ru › Elisp

Вызов метода ввода

Функции чтения событий вызывают текущий метод ввода, если таковой имеется (см. Методы ввода). Если значение input-method-function не nil, оно должно быть функцией; когда read-event считывает печатный символ (включая SPC) без модификаторов, она вызывает эту функцию, передавая символ в качестве аргумента.

Переменная: input-method-function

Если это не nil, его значение определяет текущую функцию метода ввода.

Предупреждение: не связывайте эту переменную с let. Она часто локальна для буфера, и если вы свяжете её во время чтения входных данных (что именно вы и хотите сделать), асинхронное переключение буферов, пока Emacs ожидает, приведёт к восстановлению значения в неправильном буфере.

Функция метода ввода должна возвращать список событий, которые должны использоваться в качестве входных данных. (Если список nil, это означает, что нет входных данных, поэтому read-event ожидает другого события.) Эти события обрабатываются до событий в unread-command-events (см. Разное по вводу событий). События, возвращённые функцией метода ввода, не передаются функции метода ввода повторно, даже если это печатные символы без модификаторов.

Если функция метода ввода вызывает read-event или read-key-sequence, она должна сначала связать input-method-function с nil, чтобы предотвратить рекурсию.

Функция метода ввода не вызывается при чтении второго и последующих событий последовательности нажатий клавиш. Таким образом, эти символы не подвергаются обработке методом ввода. Функция метода ввода должна проверить значения overriding-local-map и overriding-terminal-local-map; если любая из этих переменных не nil, метод ввода должен поместить свой аргумент в список и вернуть этот список без дальнейшей обработки.

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/Invoking-the-Input-Method.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API