aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/subr.el14
1 files changed, 9 insertions, 5 deletions
diff --git a/lisp/subr.el b/lisp/subr.el
index 1a49ae6c73e..1a70c53a879 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -2485,11 +2485,15 @@ in BODY."
2485 "Execute the forms in BODY with TABLE as the current case table. 2485 "Execute the forms in BODY with TABLE as the current case table.
2486The value returned is the value of the last form in BODY." 2486The value returned is the value of the last form in BODY."
2487 (declare (indent 1) (debug t)) 2487 (declare (indent 1) (debug t))
2488 `(let ((old-case-table (current-case-table))) 2488 (let ((old-case-table (make-symbol "table"))
2489 (unwind-protect 2489 (old-buffer (make-symbol "buffer")))
2490 (progn (set-case-table ,table) 2490 `(let ((,old-case-table (current-case-table))
2491 ,@body) 2491 (,old-buffer (current-buffer)))
2492 (set-case-table old-case-table)))) 2492 (unwind-protect
2493 (progn (set-case-table ,table)
2494 ,@body)
2495 (with-current-buffer ,old-buffer
2496 (set-case-table ,old-case-table))))))
2493 2497
2494;;;; Constructing completion tables. 2498;;;; Constructing completion tables.
2495 2499