Mercurial > emacs
changeset 39829:79ed34b0c0df
(jka-compr-load-suffixes): New var.
(jka-compr-install): Add its content to load-suffixes.
(jka-compr-uninstall): Remove its content from load-suffixes.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Fri, 12 Oct 2001 16:28:16 +0000 |
parents | 20a153ff0541 |
children | aed9c3afb7ed |
files | lisp/jka-compr.el |
diffstat | 1 files changed, 22 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- 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.