What is the proper behaviour for save-excursion? The emacs-lisp intro and the docstring seem to have slightly differing explanations - namely, the docstring mentions that it saves current-buffer as well as point and mark, and the emacs-lisp intro does not. Based on just what it does, I'm not entirely sure which is correct - the following code snippet, executed in *scratch*, returns the "*scratch*" buffer but the buffer displayed is the "bar" buffer, and evaluating current-bufer afterwards returns the "bar" buffer. (progn (save-excursion (switch-to-buffer "bar")) (current-buffer)) Either the manual or the docstring should be changed to reflect what it does, but I'm not entirely sure which based on this. Thanks, Nathaniel Flath