以下の関数は文字コードにもとづいて指定されたリージョン内の文字を置き換えます。
この関数はstartとendで定義されるカレントバッファーのリージョン内に出現する文字old-charをnew-charに置き換える。これら2つの文字はマルチバイト形式で同じ長さでなければならない。
noundoが非nil
ならsubst-char-in-region
はundo用に変更を記録せず、バッファーを変更済みとマークしない。これは古い機能である選択的ディスプレイ(選択的な表示を参照)にとって有用だった。
subst-char-in-region
はポイントを移動せずnil
をリターンする。
---------- Buffer: foo ---------- This is the contents of the buffer before. ---------- Buffer: foo ----------
(subst-char-in-region 1 20 ?i ?X) ⇒ nil ---------- Buffer: foo ---------- ThXs Xs the contents of the buffer before. ---------- Buffer: foo ----------
この関数はstring内のすべての文字fromcharをtocharに置き換える。デフォルトではstringのコピーで置き換えは発生するが、オプション引数inplaceが非nil
なら、この関数はstring自体を変更する。いずれの場合でも、この関数は結果となる文字列をリターンする。
この関数はバッファー内の位置startとendの間の文字にたいして、変換テーブル(translation table)を適用する。
変換テーブルtableは文字列か文字テーブル。(aref table
ochar)
はocharに対応した変換後の文字を与える。tableが文字列なら、tableの長さより大きいコードの文字はこの変更により変更されない。
translate-region
のリターン値は、その変換により実際に変更された文字数。変換テーブル内でその文字自身にマップされる文字は勘定に入らない。