Function: current-window-configuration
この関数は、 (Emacs の)カレントなウィンドウコンフィギュレーション ( ウィン ドウの数、その大きさとカレントバッファ、どのウィンドウが selected ウィンド ウであるか、その各々に表示されているバッファ、どこから表示を始めているか、 ポイントとマークのポジション) を示すオブジェクトを(訳注:新しく作って)返し ます。カレントバッファのポイントは例外で、値のセーブは行ないません。以下の save-window-excursion の説明で、 (set-window-configuration とともに用い)
save-window-excursion をエミュレートする例を示しました。
Function: set-window-configuration configuration
この関数は、 (Emacs の)ウィンドウとバッファを configuration に示された状態 にリストアします。 configuration は current-window-configuration の返した 値でなくてはいけません。
Special Form: save-window-excursion forms*
この関数は、ウィンドウの大きさと内容を保持したまま forms を(順に)実行しま す。これは各ウィンドウが (訳注:前と)同じ場所からバッファ表示を行なうよう リストアします。カレントバッファのポイント値はリストアしません (リストアす るには save-excursion を用います)。
forms 中の最後のフォームの値を返します。
(split-window) => #<window 25 on control-structure.texinfo> (setq w (selected-window)) => #<window 19 on control-structure.texinfo> (save-window-excursion (delete-other-windows w) (switch-to-buffer "foo") 'do-something) => do-something
save-window-excursion と等価なものを以下に示します。
(let ((saved-windows (current-window-configuration))) forms (set-window-configuration saved-windows))