From 6a978be38dbc0d43ce73a8f8431feda7bc7e2cd1 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Wed, 4 Apr 2007 15:34:43 +0000 Subject: [PATCH] * subr.el (with-case-table): New macro. --- lisp/subr.el | 10 ++++++++++ 1 file changed, 10 insertions(+) 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. -- 2.39.5