Previous: Point and mark, Up: save-excursion [Contents][Index]
save-excursion Expressionsave-excursionを使用するコード用の雛形はシンプルです:
(save-excursion body…)
この関数のbodyはLispインタープリターによって順に評価されることになる1つ以上の式です。bodyに2つ以上の式がある場合には、最後の式の値がsave-excursion関数の値としてリターンされます。body内のそれ以外の式は副作用を得るためだけに評価されます。そしてsave-excursion自体も、それがもつ副作用(ポイント位置のリストア)のためだけに使用されます。
以下はより詳細なsave-excursion用の雛形です:
(save-excursion first-expression-in-body second-expression-in-body third-expression-in-body … last-expression-in-body)
ここでの式(expression)とはもちろんそれ自体がシンボルだったり、リストの場合もあるでしょう。
Emacs
Lispのコードでは、let式のbodyにsave-excursion式が記述されることが間々あります。以下のような記述の仕方です:
(let varlist
(save-excursion
body…))