Commit c29cefdf authored by Gerd Moellmann's avatar Gerd Moellmann
Browse files

(with-syntax-table): Don't switch buffers.

parent d8f1319a
1999-11-21 Gerd Moellmann <gerd@gnu.org>
* simple.el (with-syntax-table): Don't switch buffers.
* emacs-lisp/edebug.el, emacs-lisp/cust-print.el,
progmodes/hideif.el: Use new backquote syntax.
......
......@@ -4142,8 +4142,8 @@ after it has been set up properly in other respects."
(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 @@ Value is what BODY returns."
(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))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment