diff options
author | Richard M. Stallman <rms@gnu.org> | 1993-08-08 05:00:25 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1993-08-08 05:00:25 +0000 |
commit | 53a051941ff1079a1d59639785e2c79705170002 (patch) | |
tree | 701f93683ccb6426227958f6c3e47ee3fcd2b490 /lisp/dired-aux.el | |
parent | 064726ac89628fe46e57e20cbeb2f20074e43a36 (diff) | |
download | emacs-53a051941ff1079a1d59639785e2c79705170002.tar.gz |
(dired-compress-file): For .z file, run gunzip.
When running gzip, see if it made .gz or .z.
(dired-compress): Delete old entry for new-file, if any.
Diffstat (limited to 'lisp/dired-aux.el')
-rw-r--r-- | lisp/dired-aux.el | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 6af1984dc2f..dd266ce8ae1 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -480,7 +480,14 @@ and use this command with a prefix argument (the value does not matter)." (from-file (dired-get-filename)) (new-file (dired-compress-file from-file))) (if new-file - (progn (dired-update-file-line new-file) nil) + (let ((start (point))) + ;; Remove any preexisting entry for the name NEW-FILE. + (condition-case nil + (dired-remove-entry new-file) + (error nil)) + (goto-char start) + ;; Now replace the current line with an entry for NEW-FILE. + (dired-update-file-line new-file) nil) (dired-log (concat "Failed to compress" from-file)) from-file))) @@ -503,12 +510,22 @@ and use this command with a prefix argument (the value does not matter)." (if (not (dired-check-process (concat "Uncompressing " file) "gunzip" file)) (substring file 0 -3))) + ;; For .z, try gunzip. It might be an old gzip file, + ;; or it might be from compact? pack? (which?) but gunzip handles + ;; both. + ((let (case-fold-search) + (string-match "\\.z$" file)) + (if (not (dired-check-process (concat "Uncompressing " file) + "gunzip" file)) + (substring file 0 -3))) (t ;;; Try gzip; if we don't have that, use compress. (condition-case nil (if (not (dired-check-process (concat "Compressing " file) "gzip" "-f" file)) - (concat file ".gz")) + (cond ((file-exists-p (concat file ".gz")) + (concat file ".gz")) + (t (concat file ".z")))) (file-error (if (not (dired-check-process (concat "Compressing " file) "compress" "-f" file)) |