Emacsは通常、入力待ちの際に画面の再表示を試みます。以下の関数を使えば、Lispコードの途中で、実際に入力を待たずに即座に再表示を試みるようリクエストできます。
この関数は、直ちに再表示を試みます。オプション引数 force が nil 以外の場合、入力待ちで処理が中断されるのではなく、強制的に再表示が行われます。
この関数は、実際に再表示を試みた場合は t を、そうでない場合は nil を返します。t
という値は、再表示が正常に完了したことを意味するわけではなく、新たに入力があったことで中断された可能性があります。
redisplay は直ちに再表示を試みますが、Emacs
がフレームのどの部分を再表示するかを決定する仕組みを変更するものではありません。対照的に、以下の関数は、特定のウィンドウを(内容が完全に変更されたかのように)再表示待ちの処理に追加しますが、直ちに再表示を試みることはありません。
この関数は、次にEmacsが再表示を行う際に、一部またはすべてのウィンドウを強制的に更新します。object がウィンドウである場合、そのウィンドウが更新されます。object
がバッファまたはバッファ名である場合、そのバッファを表示しているすべてのウィンドウが更新されます。object が nil
である(または省略されている)場合、すべてのウィンドウが更新されます。
この関数は直ちに再表示を行うわけではありません。Emacsは、入力を待機している間、あるいは関数 redisplay が呼び出された際に再表示を行います。
再表示の直前に実行される関数です。再表示対象のウィンドウ集合を1つの引数として受け取ります。この集合には、選択中のウィンドウのみを意味する nil や、すべてのウィンドウを意味する t
を指定できます。
このフックは再表示の直前に実行されます。再表示予定の各ウィンドウで1回ずつ呼び出され、current-buffer にはそのウィンドウに表示されているバッファが設定されます。