これらの関数は、イベント、キーシーケンス、または文字をテキスト形式の記述に変換します。これらの記述は、非印字文字や空白文字を印字文字のシーケンスに変換するため、メッセージに任意のテキスト文字やキーシーケンスを含める際に有用です。非空白の印字文字の記述は、その文字自体となります。
この関数は、sequence 内の入力イベントに関する Emacs
標準表記を含む文字列を返します。prefix が nil 以外の場合、それは sequence
に至るまでの入力イベントのシーケンスとなり、戻り値に含まれます。どちらの引数も、文字列、ベクトル、またはリストを指定できます。有効なイベントの詳細については、入力イベント を参照してください。
(key-description [?\M-3 delete])
⇒ "M-3 <delete>"
(key-description [delete] "\M-3")
⇒ "M-3 <delete>"
以下の single-key-description の例も参照してください。
この関数は、キーボード入力に関する標準的なEmacs表記で event を説明する文字列を返します。通常の印字文字はそのまま表示されますが、制御文字は ‘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"
この関数は、テキストに出現し得る文字を表す標準的なEmacs表記法を用いてcharacterを説明する文字列を返します。これはsingle-key-descriptionと同様ですが、引数はcharacterpテストに合格する有効な文字コードである必要があります(文字コードを参照)。この関数は、制御文字の説明を先頭にキャレットを付けて出力します(これはEmacsがバッファ内で通常制御文字を表示する形式です)。修飾ビットを持つ文字の場合、この関数はエラーを報告します(Control修飾子を持つASCII文字は例外であり、制御文字として表現されます)。
(text-char-description ?\C-c)
⇒ "^C"
(text-char-description ?\M-m)
error→ Wrong type argument: characterp, 134217837