# HG changeset patch # User Gerd Moellmann # Date 943196845 0 # Node ID 5efbe3ff1f09a30e1ab1463ace8daf2dfc337e42 # Parent bd832bb8fbc0712a75fdbffb67a11b48068117bf (with-syntax-table): Don't switch buffers. diff -r bd832bb8fbc0 -r 5efbe3ff1f09 lisp/simple.el --- a/lisp/simple.el Sun Nov 21 14:50:21 1999 +0000 +++ b/lisp/simple.el Sun Nov 21 15:07:25 1999 +0000 @@ -4142,8 +4142,8 @@ (defmacro with-syntax-table (table &rest body) "Evaluate BODY with syntax table of current buffer set to a copy of TABLE. -Current buffer and syntax table are saved, BODY is evaluated, and the -saved values are restored, even in case of an abnormal exit. +The syntax table of the current buffer is saved, BODY is evaluated, and the +saved table is restored, even in case of an abnormal exit. Value is what BODY returns." (let ((old-table (gensym)) (old-buffer (gensym))) @@ -4153,8 +4153,9 @@ (progn (set-syntax-table (copy-syntax-table ,table)) ,@body) - (set-buffer ,old-buffer) - (set-syntax-table ,old-table))))) + (save-current-buffer + (set-buffer ,old-buffer) + (set-syntax-table ,old-table)))))) (put 'with-syntax-table 'lisp-indent-function 1) (put 'with-syntax-table 'edebug-form-spec '(form body))