changeset 71928:87bfa39ee279

* dired-aux.el (dired-compress-file): Confirm again if gzipped file already exists.
author Chong Yidong <cyd@stupidchicken.com>
date Mon, 17 Jul 2006 04:00:54 +0000
parents dca11242db4e
children 51b683252178
files lisp/ChangeLog lisp/dired-aux.el
diffstat 2 files changed, 21 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sun Jul 16 23:30:58 2006 +0000
+++ b/lisp/ChangeLog	Mon Jul 17 04:00:54 2006 +0000
@@ -1,3 +1,8 @@
+2006-07-17  Chong Yidong  <cyd@stupidchicken.com>
+
+	* dired-aux.el (dired-compress-file): Confirm again if gzipped
+	file already exists.
+
 2006-07-16  Thien-Thi Nguyen  <ttn@gnu.org>
 
 	* find-file.el (ff-special-constructs): Doc fix.  Also, for C/C++
--- a/lisp/dired-aux.el	Sun Jul 16 23:30:58 2006 +0000
+++ b/lisp/dired-aux.el	Mon Jul 17 04:00:54 2006 +0000
@@ -745,19 +745,22 @@
 	   ;;; 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))