From 6fee86a3c9c799c856894f9f2f78d5f9256d8799 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Sun, 8 Oct 2000 02:58:24 +0000 Subject: [PATCH] (auto-compression-mode): Move to the end of the file, because `define-minor-mode' actually calls the mode-function if the associated variable is non-nil, which requires that all needed functions be already defined. (with-auto-compression-mode): Add autoload cookie. --- lisp/ChangeLog | 8 +++++++ lisp/jka-compr.el | 58 ++++++++++++++++++++++++----------------------- 2 files changed, 38 insertions(+), 28 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f905f48b45c..66866f15bc5 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2000-10-08 Miles Bader + + * jka-compr.el (auto-compression-mode): Move to the end of the + file, because `define-minor-mode' actually calls the mode-function + if the associated variable is non-nil, which requires that all + needed functions be already defined. + (with-auto-compression-mode): Add autoload cookie. + 2000-10-07 Eli Zaretskii * files.el (find-backup-file-name) [ms-dos]: If support for long diff --git a/lisp/jka-compr.el b/lisp/jka-compr.el index 3938590cabc..9adeddfefa7 100644 --- a/lisp/jka-compr.el +++ b/lisp/jka-compr.el @@ -755,34 +755,6 @@ It is not recommended to set this variable permanently to anything but nil.") (inhibit-file-name-operation operation)) (apply operation args))) -;;;###autoload -(define-minor-mode auto-compression-mode - "Toggle automatic file compression and uncompression. -With prefix argument ARG, turn auto compression on if positive, else off. -Returns the new status of auto compression (non-nil means on)." - nil nil nil :global t :group 'jka-compr - (let* ((installed (jka-compr-installed-p)) - (flag auto-compression-mode)) - (cond - ((and flag installed) t) ; already installed - ((and (not flag) (not installed)) nil) ; already not installed - (flag (jka-compr-install)) - (t (jka-compr-uninstall))))) - - -(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 () (mapconcat @@ -901,6 +873,36 @@ The return value is the entry in `file-name-handler-alist' for jka-compr." installed)) +;;;###autoload +(define-minor-mode auto-compression-mode + "Toggle automatic file compression and uncompression. +With prefix argument ARG, turn auto compression on if positive, else off. +Returns the new status of auto compression (non-nil means on)." + nil nil nil :global t :group 'jka-compr + (let* ((installed (jka-compr-installed-p)) + (flag auto-compression-mode)) + (cond + ((and flag installed) t) ; already installed + ((and (not flag) (not installed)) nil) ; already not installed + (flag (jka-compr-install)) + (t (jka-compr-uninstall))))) + + +;;;###autoload +(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) + + ;;; Add the file I/O hook if it does not already exist. ;;; Make sure that jka-compr-file-name-handler-entry is eq to the ;;; entry for jka-compr in file-name-handler-alist. -- 2.39.2