Commit defdd32e authored by Stefan Monnier's avatar Stefan Monnier
Browse files

(auto-compression-mode): Use define-minor-mode.

(toggle-auto-compression): Remove.
(jka-compr-build-file-regexp): Remove useless grouping.
parent 14373677
...@@ -756,61 +756,18 @@ It is not recommended to set this variable permanently to anything but nil.") ...@@ -756,61 +756,18 @@ It is not recommended to set this variable permanently to anything but nil.")
(apply operation args))) (apply operation args)))
;;;###autoload ;;;###autoload
(defcustom auto-compression-mode nil (define-minor-mode auto-compression-mode
"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)
"Toggle automatic file compression and uncompression. "Toggle automatic file compression and uncompression.
With prefix argument ARG, turn auto compression on if positive, else off. With prefix argument ARG, turn auto compression on if positive, else off.
Returns the new status of auto compression (non-nil means on). Returns the new status of auto compression (non-nil means on)."
If the argument MESSAGE is non-nil, it means to print a message nil nil nil :global t :group 'jka-compr
saying whether the mode is now on or off."
(interactive "P\np")
(let* ((installed (jka-compr-installed-p)) (let* ((installed (jka-compr-installed-p))
(flag (if (null arg) (flag auto-compression-mode))
(not installed)
(or (eq arg t) (listp arg) (and (integerp arg) (> arg 0))))))
(cond (cond
((and flag installed) t) ; already installed ((and flag installed) t) ; already installed
((and (not flag) (not installed)) nil) ; already not installed ((and (not flag) (not installed)) nil) ; already not installed
(flag (jka-compr-install))
(flag (t (jka-compr-uninstall)))))
(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))
(defmacro with-auto-compression-mode (&rest body) (defmacro with-auto-compression-mode (&rest body)
...@@ -828,13 +785,10 @@ saying whether the mode is now on or off." ...@@ -828,13 +785,10 @@ saying whether the mode is now on or off."
(defun jka-compr-build-file-regexp () (defun jka-compr-build-file-regexp ()
(concat (mapconcat
"\\(" 'jka-compr-info-regexp
(mapconcat jka-compr-compression-info-list
'jka-compr-info-regexp "\\|"))
jka-compr-compression-info-list
"\\)\\|\\(")
"\\)"))
(defun jka-compr-install () (defun jka-compr-install ()
......
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