(uncompress-while-visiting): Handle .tgz files.
This commit is contained in:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user