branch: elpa/undo-fu-session commit 445c2b7b7ac8cc57698621ae7f09b293ee23989f Author: Campbell Barton <ideasma...@gmail.com> Commit: Campbell Barton <ideasma...@gmail.com>
Correct the macro from last commit This could have leaft auto-compression-mode disabled. --- undo-fu-session.el | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/undo-fu-session.el b/undo-fu-session.el index 3bfc5a4e5f..b6d7aa49f6 100755 --- a/undo-fu-session.el +++ b/undo-fu-session.el @@ -128,15 +128,19 @@ Enforcing removes the oldest files." (defmacro undo-fu-session--with-auto-compression-mode (&rest body) "Evaluate BODY with automatic file compression and uncompression enabled." (declare (indent 0)) - (let ((already-installed (make-symbol "already-installed"))) - `(let ((,already-installed (jka-compr-installed-p))) + (let ((already-installed (make-symbol "already-installed")) + (already-installed-value (make-symbol "already-installed-value"))) + `(let ((,already-installed (jka-compr-installed-p)) + (,already-installed-value auto-compression-mode)) (unwind-protect (progn (unless ,already-installed (auto-compression-mode 1)) ,@body) - (unless ,already-installed - (auto-compression-mode -1)))))) + (unless (or ,already-installed) + (auto-compression-mode -1)) + ;; Restore the initial state (even if it's inconsistent). + (setq auto-compression-mode ,already-installed-value))))) ;; ---------------------------------------------------------------------------