GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Describing-Characters.html ・ emacs-doc.conao3.com

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

これらの関数は、イベント、キーシーケンス、または文字をテキスト形式の記述に変換します。これらの記述は、非印字文字や空白文字を印字文字のシーケンスに変換するため、メッセージに任意のテキスト文字やキーシーケンスを含める際に有用です。非空白の印字文字の記述は、その文字自体となります。

関数: key-description sequence &optional prefix

この関数は、sequence 内の入力イベントに関する Emacs 標準表記を含む文字列を返します。prefix が nil 以外の場合、それは sequence に至るまでの入力イベントのシーケンスとなり、戻り値に含まれます。どちらの引数も、文字列、ベクトル、またはリストを指定できます。有効なイベントの詳細については、入力イベント を参照してください。

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

以下の single-key-description の例も参照してください。

関数: single-key-description event &optional no-angles

この関数は、キーボード入力に関する標準的な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"
関数: text-char-description character

この関数は、テキストに出現し得る文字を表す標準的な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
コマンド: read-kbd-macro string &optional need-vector

この関数は主にキーボードマクロの操作に使用されますが、key-description の簡易的な逆操作としても利用できます。キーの説明をスペース区切りで記述した文字列を指定して呼び出すと、対応するイベントを含む文字列またはベクトルが返されます。(使用するイベントによっては、これが単一の有効なキーシーケンスになる場合とそうでない場合があります。キーシーケンスを参照してください。)need-vector が nil 以外の場合、戻り値は常にベクトルとなります。