]> git.eshelyaron.com Git - emacs.git/commitdiff
(dired-compress-file): For .z file, run gunzip.
authorRichard M. Stallman <rms@gnu.org>
Sun, 8 Aug 1993 05:00:25 +0000 (05:00 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 8 Aug 1993 05:00:25 +0000 (05:00 +0000)
When running gzip, see if it made .gz or .z.
(dired-compress): Delete old entry for new-file, if any.

lisp/dired-aux.el

index 6af1984dc2f2b51f126223c413c1767914f5f526..dd266ce8ae11453c122cf81b5d1cf87841ff9031 100644 (file)
@@ -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))