# HG changeset patch # User Stefan Monnier # Date 970195083 0 # Node ID 8325ae2bc1e4edfe5ab1ea7187d6b237353a2cde # Parent 9b1d5a50bddd3d5aca40cc3adff6b93e8868b4f4 (auto-compression-mode): Use define-minor-mode. (toggle-auto-compression): Remove. (jka-compr-build-file-regexp): Remove useless grouping. diff -r 9b1d5a50bddd -r 8325ae2bc1e4 lisp/jka-compr.el --- a/lisp/jka-compr.el Fri Sep 29 02:35:56 2000 +0000 +++ b/lisp/jka-compr.el Fri Sep 29 02:38:03 2000 +0000 @@ -756,61 +756,18 @@ (apply operation args))) ;;;###autoload -(defcustom auto-compression-mode nil - "Toggle automatic file compression and uncompression. -Setting this variable directly does not take effect; -use either \\[customize] or the function `auto-compression-mode'." - :set (lambda (symbol value) - (auto-compression-mode (or value 0))) - :initialize 'custom-initialize-default - :group 'jka-compr - :version "21.1" - :type 'boolean - :require 'jka-compr) - -;;;###autoload(defun auto-compression-mode (&optional arg) -;;;###autoload "\ -;;;###autoloadToggle automatic file compression and uncompression. -;;;###autoloadWith prefix argument ARG, turn auto compression on if positive, else off. -;;;###autoloadReturns the new status of auto compression (non-nil means on)." -;;;###autoload (interactive "P") -;;;###autoload (if (not (fboundp 'jka-compr-installed-p)) -;;;###autoload (progn -;;;###autoload (require 'jka-compr) -;;;###autoload ;; That turned the mode on, so make it initially off. -;;;###autoload (toggle-auto-compression))) -;;;###autoload (toggle-auto-compression arg t)) - -(defun toggle-auto-compression (&optional arg message) +(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). -If the argument MESSAGE is non-nil, it means to print a message -saying whether the mode is now on or off." - (interactive "P\np") +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 (if (null arg) - (not installed) - (or (eq arg t) (listp arg) (and (integerp arg) (> arg 0)))))) - + (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))) - - - (and message - (if flag - (message "Automatic file (de)compression is now ON.") - (message "Automatic file (de)compression is now OFF."))) - - flag)) + (flag (jka-compr-install)) + (t (jka-compr-uninstall))))) (defmacro with-auto-compression-mode (&rest body) @@ -828,13 +785,10 @@ (defun jka-compr-build-file-regexp () - (concat - "\\(" - (mapconcat - 'jka-compr-info-regexp - jka-compr-compression-info-list - "\\)\\|\\(") - "\\)")) + (mapconcat + 'jka-compr-info-regexp + jka-compr-compression-info-list + "\\|")) (defun jka-compr-install ()