From: Chong Yidong Date: Wed, 4 Apr 2007 15:34:43 +0000 (+0000) Subject: * subr.el (with-case-table): New macro. X-Git-Tag: emacs-pretest-22.0.98~314 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6a978be38dbc0d43ce73a8f8431feda7bc7e2cd1;p=emacs.git * subr.el (with-case-table): New macro. --- diff --git a/lisp/subr.el b/lisp/subr.el index 4cc2a34c1c9..1a49ae6c73e 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -2480,6 +2480,16 @@ in BODY." (let ((combine-after-change-calls t)) . ,body) (combine-after-change-execute))) + +(defmacro with-case-table (table &rest body) + "Execute the forms in BODY with TABLE as the current case table. +The value returned is the value of the last form in BODY." + (declare (indent 1) (debug t)) + `(let ((old-case-table (current-case-table))) + (unwind-protect + (progn (set-case-table ,table) + ,@body) + (set-case-table old-case-table)))) ;;;; Constructing completion tables.