# HG changeset patch # User Miles Bader # Date 969425006 0 # Node ID cc2e3eead63c409c45f175c006971cd637195b5e # Parent 0436ca82bab207aee7185452022da41c29e331ef (with-auto-compression-mode): New macro. diff -r 0436ca82bab2 -r cc2e3eead63c lisp/jka-compr.el --- a/lisp/jka-compr.el Wed Sep 20 02:07:56 2000 +0000 +++ b/lisp/jka-compr.el Wed Sep 20 04:43:26 2000 +0000 @@ -1,6 +1,6 @@ ;;; jka-compr.el --- reading/writing/loading compressed files -;; Copyright (C) 1993, 1994, 1995, 1997, 1999 Free Software Foundation, Inc. +;; Copyright (C) 1993, 1994, 1995, 1997, 1999, 2000 Free Software Foundation, Inc. ;; Author: jka@ece.cmu.edu (Jay K. Adams) ;; Maintainer: FSF @@ -812,6 +812,21 @@ flag)) + +(defmacro with-auto-compression-mode (&rest body) + "Evalutes BODY with automatic file compression and uncompression enabled." + (let ((already-installed (make-symbol "already-installed"))) + `(let ((,already-installed (jka-compr-installed-p))) + (unwind-protect + (progn + (unless ,already-installed + (jka-compr-install)) + ,@body) + (unless ,already-installed + (jka-compr-uninstall)))))) +(put 'with-auto-compression-mode 'lisp-indent-function 0) + + (defun jka-compr-build-file-regexp () (concat "\\("