(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)))
(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))