interactive 式 ¶zap-to-charコマンドのインタラクティブ式は次のようになります。
(interactive "p\ncZap to char: ")
引用符で囲まれた部分 "p\ncZap to char: "
は、2つの異なる要素を指定しています。まず、最も単純なのが ‘p’
です。この部分は、改行によって次の部分である ‘\n’
と区切られています。‘p’ は、関数の第1引数に 処理済みプレフィックス の値が渡されることを意味します。プレフィックス引数は、C-u と数値、または M-
と数値を入力することで渡されます。プレフィックスなしで関数を対話的に呼び出した場合、この引数には 1 が渡されます。
"p\ncZap to char: " の後半部分は ‘cZap to char: ’ です。この部分では、小文字の ‘c’ が、interactive
がプロンプトを期待していること、およびその引数が文字になることを示しています。プロンプトは ‘c’ の後に続き、文字列 ‘Zap to
char: ’ となります(見栄えを良くするため、コロンの後にスペースを入れています)。
これら一連の処理は、引数をzap-to-charに適した型に整え、ユーザーにプロンプトを提示するものです。
読み取り専用バッファでは、zap-to-char
関数はテキストをキルリングにコピーしますが、削除はしません。エコーエリアには、バッファが読み取り専用である旨のメッセージが表示されます。また、ターミナルがビープ音を鳴らしたり、点滅したりすることがあります。