Next: , Previous: , Up: Documentation   [Contents][Index]


23.4 ヘルプメッセージの文字記述

以下の関数はイベント、キーシーケンス、文字をテキスト表記(textual descriptions)に変換します。これらの変換された表記は、メッセージ内に任意のテキスト文字やキーシーケンスを含める場合に有用です。なぜなら非プリント文字や空白文字はプリント文字シーケンスに変換されるからです。空白文字以外のプリント文字はその文字自身が表記になります。

Function: key-description sequence &optional prefix

この関数はsequence内の入力イベントにたいしてEmacsの標準表記を含んだ文字列をリターンする。prefixが非nilなら、それはsequenceに前置される入力イベントシーケンスであり、リターン値にも含まれる。引数には文字列、ベクター、またはリストを指定できる。有効なイベントに関する詳細はInput Eventsを参照のこと。

(key-description [?\M-3 delete])
     ⇒ "M-3 <delete>"
(key-description [delete] "\M-3")
     ⇒ "M-3 <delete>"

以下のsingle-key-descriptionの例も参照のこと。

Function: single-key-description event &optional no-angles

この関数はキーボード入力にたいするEmacsの標準表記としてeventを表記する文字列をリターンする。通常のプリント文字はその文字自身で表れるが、コントロール文字は‘C-’で始まる文字列、メタ文字は‘M-’で始まる文字列、スペースやタブ等は‘SPC’や‘TAB’のように変換される。ファンクションキーのシンボルは‘<…>’のように角カッコ(angle brackets)の内側に表れる。リストであるようなイベントは、そのリストの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"
Function: text-char-description character

この関数はテキスト内に出現する文字にたいするEmacsの標準表記としてcharacterを表記する文字列をリターンする。これはsingle-key-descriptionと似ているが、コントロール文字にカレットが前置されて表される点が異なる(これはEmacsバッファー内でコントロール文字を表示する通常の方法である)。他にもsingle-key-descriptionが2**27ビットをメタ文字とするのにたいし、text-char-descriptionは2**7ビットをメタ文字とする点が異なる。

(text-char-description ?\C-c)
     ⇒ "^C"
(text-char-description ?\M-m)
     ⇒ "\xed"
(text-char-description ?\C-\M-m)
     ⇒ "\x8d"
(text-char-description (+ 128 ?m))
     ⇒ "M-m"
(text-char-description (+ 128 ?\C-m))
     ⇒ "M-^M"
Command: read-kbd-macro string &optional need-vector

この関数は主にキーボードマクロを操作するために使用されるが、大雑把な意味でkey-descriptionの逆の処理にも使用できる。キー表記を含むスペース区切りの文字列でこれを呼び出すと、それに対応するイベントを含む文字列かベクターをリターンする(これは単一の有効なキーシーケンスであるか否かは問わず何のイベントを使用するかに依存する。Key Sequencesを参照のこと)。need-vectorが非nilならリターン値は常にベクター。