quail-define-rules
quail-define-rules is a Lisp macro in `quail.el
'.
(quail-define-rules &rest RULES)
Define translation rules of the current Quail package.
Each argument is a list of KEY and TRANSLATION.
KEY is a string meaning a sequence of keystrokes to be translated.
TRANSLATION is a character, a string, a vector, a Quail map, or a function.
If it is a character, it is the sole translation of KEY.
If it is a string, each character is a candidate for the translation.
If it is a vector, each element (string or character) is a candidate
for the translation.
In these cases, a key specific Quail map is generated and assigned to KEY.
If TRANSLATION is a Quail map or a function symbol which returns a Quail map,
it is used to handle KEY.
The first argument may be an alist of annotations for the following
rules. Each element has the form (ANNOTATION . VALUE), where
ANNOTATION is a symbol indicating the annotation type. Currently
the following annotation types are supported.
append -- the value non-nil means that the following rules should
be appended to the rules of the current Quail package.
face -- the value is a face to use for displaying TRANSLATIONs in
candidate list.
advice -- the value is a function to call after one of RULES is
selected. The function is called with one argument, the
selected TRANSLATION string, after the TRANSLATION is
inserted.
no-decode-map --- the value non-nil means that decoding map is not
generated for the following translations.