Commit 6fee86a3 authored by Miles Bader's avatar Miles Bader
Browse files

(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.
parent a43709e6
2000-10-08 Miles Bader <miles@gnu.org>
* 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 <eliz@is.elta.co.il>
* files.el (find-backup-file-name) [ms-dos]: If support for long
......
......@@ -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.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment