From c8068734a7e8201121bae138fa0a24bc8627e20f Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 17 Jul 2006 04:00:54 +0000 Subject: [PATCH] * dired-aux.el (dired-compress-file): Confirm again if gzipped file already exists. --- lisp/ChangeLog | 5 +++++ lisp/dired-aux.el | 29 ++++++++++++++++------------- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2aa9500a9ec..58ae4595c19 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2006-07-17 Chong Yidong + + * dired-aux.el (dired-compress-file): Confirm again if gzipped + file already exists. + 2006-07-16 Thien-Thi Nguyen * find-file.el (ff-special-constructs): Doc fix. Also, for C/C++ diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index b4cb8933194..0942c6d1dff 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -745,19 +745,22 @@ Otherwise, the rule is a compression rule, and compression is done with gzip.") ;;; We don't recognize the file as compressed, so compress it. ;;; Try gzip; if we don't have that, use compress. (condition-case nil - (if (not (dired-check-process (concat "Compressing " file) - "gzip" "-f" file)) - (let ((out-name - (if (file-exists-p (concat file ".gz")) - (concat file ".gz") - (concat file ".z")))) - ;; Rename the compressed file to NEWNAME - ;; if it hasn't got that name already. - (if (and newname (not (equal newname out-name))) - (progn - (rename-file out-name newname t) - newname) - out-name))) + (let ((out-name (concat file ".gz"))) + (and (or (not (file-exists-p out-name)) + (y-or-n-p + (format "File %s already exists. Really compress? " + out-name))) + (not (dired-check-process (concat "Compressing " file) + "gzip" "-f" file)) + (or (file-exists-p out-name) + (setq out-name (concat file ".z"))) + ;; Rename the compressed file to NEWNAME + ;; if it hasn't got that name already. + (if (and newname (not (equal newname out-name))) + (progn + (rename-file out-name newname t) + newname) + out-name))) (file-error (if (not (dired-check-process (concat "Compressing " file) "compress" "-f" file)) -- 2.39.2