save-excursion 式のテンプレート
¶save-excursion を使用するコードのテンプレートはシンプルです:
(save-excursion body...)
関数本体は、Lispインタプリタによって順次評価される1つ以上の式で構成されます。本体に複数の式がある場合、最後の式の値がsave-excursion関数の値として返されます。本体内の他の式は副作用のためだけに評価され、save-excursion自体もその副作用(pointの位置を復元すること)のためだけに使用されます。
より詳しく言うと、save-excursion 式のテンプレートは次のようになります。
(save-excursion first-expression-in-body second-expression-in-body third-expression-in-body ... last-expression-in-body)
式は、もちろんそれ自体がシンボルであったり、リストであったりすることもあります。
Emacs Lispのコードでは、save-excursion 式が let 式の本体内に現れることがよくあります。次のような形です。
(let varlist
(save-excursion
body...))