1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 04:10:54 -08:00

(uncompress-while-visiting): Handle .tgz files.

This commit is contained in:
Richard M. Stallman 1997-03-26 07:36:48 +00:00
parent 7e60d5d365
commit fcd532ae81

View file

@ -24,10 +24,12 @@
;;; Commentary:
;; This package can be used to arrange for automatic uncompress of
;; files packed with the UNIX compress(1) utility when they are visited.
;; compressed files when they are visited.
;; All that's necessary is to load it. This can conveniently be done from
;; your .emacs file.
;; M-x auto-compression-mode is a more modern replacement for this package.
;;; Code:
;; When we are about to make a backup file,
@ -50,6 +52,9 @@
(or (assoc "\\.gz$" auto-mode-alist)
(setq auto-mode-alist
(cons '("\\.gz$" . uncompress-while-visiting) auto-mode-alist)))
(or (assoc "\\.tgz$" auto-mode-alist)
(setq auto-mode-alist
(cons '("\\.tgz$" . uncompress-while-visiting) auto-mode-alist)))
(defun uncompress-while-visiting ()
"Temporary \"major mode\" used for .Z and .gz files, to uncompress them.
@ -61,7 +66,11 @@ It then selects a major mode from the uncompressed file name and contents."
(if (and (not (null buffer-file-name))
(string-match "\\.gz$" buffer-file-name))
(set-visited-file-name
(substring buffer-file-name 0 (match-beginning 0)))))
(substring buffer-file-name 0 (match-beginning 0)))
(if (and (not (null buffer-file-name))
(string-match "\\.tgz$" buffer-file-name))
(set-visited-file-name
(concat (substring buffer-file-name 0 (match-beginning 0)) ".tar")))))
(message "Uncompressing...")
(let ((buffer-read-only nil))
(shell-command-on-region (point-min) (point-max) uncompress-program t))