save-excursion 表达式模板 ¶使用 save-excursion 的代码模板很简单:
(save-excursion body...)
函数体由一个或多个表达式组成,会被 Lisp 解释器依次求值。
如果体内有多个表达式,最后一个表达式的值会作为
save-excursion 函数的返回值。
体内其他表达式仅因副作用被求值;
而 save-excursion 本身也只依靠其副作用(即恢复光标位置)发挥作用。
更详细地看,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...))