# HG changeset patch # User Stefan Monnier # Date 1002904096 0 # Node ID 79ed34b0c0df5591350dd5415a69387fbfd27e30 # Parent 20a153ff0541a9db346eef4a97048097e7067729 (jka-compr-load-suffixes): New var. (jka-compr-install): Add its content to load-suffixes. (jka-compr-uninstall): Remove its content from load-suffixes. diff -r 20a153ff0541 -r 79ed34b0c0df lisp/jka-compr.el --- a/lisp/jka-compr.el Fri Oct 12 14:20:14 2001 +0000 +++ b/lisp/jka-compr.el Fri Oct 12 16:28:16 2001 +0000 @@ -202,6 +202,9 @@ (list (cons "\\.tgz\\'" 'tar-mode)) "A list of pairs to add to `auto-mode-alist' when jka-compr is installed.") +(defvar jka-compr-load-suffixes '(".gz") + "List of suffixes to try when loading files.") + ;; List of all the elements we actually added to file-coding-system-alist. (defvar jka-compr-added-to-file-coding-system-alist nil) @@ -804,7 +807,16 @@ inhibit-first-line-modes-suffixes))))) jka-compr-compression-info-list) (setq auto-mode-alist - (append auto-mode-alist jka-compr-mode-alist-additions))) + (append auto-mode-alist jka-compr-mode-alist-additions)) + + ;; Make sure that (load "foo") will find /bla/foo.el.gz. + (setq load-suffixes + (apply 'append + (mapcar (lambda (suffix) + (cons suffix + (mapcar (lambda (ext) (concat suffix ext)) + jka-compr-load-suffixes))) + load-suffixes)))) (defun jka-compr-uninstall () @@ -856,7 +868,15 @@ (setcdr last (cdr (cdr last))) (setq last (cdr last)))) - (setq file-coding-system-alist (cdr ama)))) + (setq file-coding-system-alist (cdr ama))) + + ;; Remove the suffixes that were added by jka-compr. + (let ((suffixes nil) + (re (jka-compr-build-file-regexp))) + (dolist (suffix load-suffixes) + (unless (string-match re suffix) + (push suffix suffixes))) + (setq load-suffixes (nreverse suffixes)))) (defun jka-compr-installed-p () @@ -881,10 +901,6 @@ (jka-compr-uninstall)) -;;; Note this definition must be at 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. [This is arguably a bug in d-m-m] ;;;###autoload (define-minor-mode auto-compression-mode "Toggle automatic file compression and uncompression.