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:
parent
7e60d5d365
commit
fcd532ae81
1 changed files with 11 additions and 2 deletions
|
|
@ -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))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue