# HG changeset patch # User Thien-Thi Nguyen # Date 1147075238 0 # Node ID bc300a06815f4c6d2f8a9128a9c9fa9aa0957b17 # Parent 4f9cf38bdaa01210f9ae62110d44d77e797889a6 (ewoc--set-buffer-bind-dll-let*): Use `with-current-buffer'. diff -r 4f9cf38bdaa0 -r bc300a06815f lisp/emacs-lisp/ewoc.el --- a/lisp/emacs-lisp/ewoc.el Mon May 08 07:56:14 2006 +0000 +++ b/lisp/emacs-lisp/ewoc.el Mon May 08 08:00:38 2006 +0000 @@ -221,16 +221,12 @@ dll will be bound when VARLIST is initialized, but the current buffer will *not* have been changed. Return value of last form in FORMS." - (let ((old-buffer (make-symbol "old-buffer")) - (hnd (make-symbol "ewoc"))) - `(let* ((,old-buffer (current-buffer)) - (,hnd ,ewoc) + (let ((hnd (make-symbol "ewoc"))) + `(let* ((,hnd ,ewoc) (dll (ewoc--dll ,hnd)) ,@varlist) - (set-buffer (ewoc--buffer ,hnd)) - (unwind-protect - (progn ,@forms) - (set-buffer ,old-buffer))))) + (with-current-buffer (ewoc--buffer ,hnd) + ,@forms)))) (defmacro ewoc--set-buffer-bind-dll (ewoc &rest forms) `(ewoc--set-buffer-bind-dll-let* ,ewoc nil ,@forms))