Next: , Previous: , Up: コマンドループ   [Contents][Index]


22.6 コマンド後のポイントの調整

テキストシーケンスがプロパティdisplaycompositionをもっていたり不可視な場合には、バッファー位置が複数存在するかもしれず、結果としてカーソルがスクリーン上で同じ位置に表示されるかもしれません。したがってコマンドが終了した後にコマンドループにリターンした後にそのようなシーケンス中にポイントがある場合には、そのシーケンスを効果的に不可触(intangible)にするために、コマンドループが通常はポイントを移動しようと試みます。

このポイント調整(point adjustment)は次の一般的な規則にしたがいます。1つ目はこの調整がコマンド全体の方向を変更しないこと、2つ目はコマンドがポイントを移動する場合には調整によってカーソルも移動されるよう保証すること、3つ目はEmacsが不可触シーケンスのエッジ、特に新たに挿入されたテキストが可視になるようにそれらエッジの中でもstickiness(粘着性)のないエッジを優先するという規則です。

変数disable-point-adjustmentをセットすることにより、コマンドはこの機能を抑制できます:

Variable: disable-point-adjustment

この変数が非nilならコマンドがコマンドループにリターンするとき、コマンドループはこれらのテキストプロパティをチェックせず、これらのプロパティをもつシーケンスの外にポイントを移動しない。

コマンドループは各コマンドを実行する前にこの変数をnilにセットするので、あるコマンドがこれをセットしても効果が適用されるのはそのコマンドにたいしてだけである。

Variable: global-disable-point-adjustment

この変数を非nilにセットするとシーケンス外にポイントを移動する、これらの機能は完全にオフになる。

This page has generated for branch:emacs-30, commit:ab5505a8acf795c0a0a2745dd6fb666954c6a4bb to check Japanese translation.