summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/arc-mode.el8
2 files changed, 11 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 4c816a779e9..ca9e18ad585 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2010-06-25 Eli Zaretskii <eliz@gnu.org>
+
+ * arc-mode.el (archive-zip-extract): Don't quote the file name on
+ MS-Windows and MS-DOS. (Bug#6467, Bug#6144)
+
2010-06-24 Štěpán Němec <stepnem@gmail.com> (tiny change)
* comint.el (make-comint, make-comint-in-buffer): Mention return
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index 5942e920a65..1cb3ade9a2d 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -1791,9 +1791,13 @@ This doesn't recover lost files, it just undoes changes in the buffer itself."
(archive-*-extract archive name archive-zip-extract)
(archive-extract-by-stdout
archive
- ;; unzip expands wildcards in NAME, so we need to quote it.
+ ;; unzip expands wildcards in NAME, so we need to quote it. But
+ ;; not on DOS/Windows, since that fails extraction on those
+ ;; systems, and file names with wildcards in zip archives don't
+ ;; work there anyway.
;; FIXME: Does pkunzip need similar treatment?
- (if (equal (car archive-zip-extract) "unzip")
+ (if (and (not (memq system-type '(windows-nt ms-dos)))
+ (equal (car archive-zip-extract) "unzip"))
(shell-quote-argument name)
name)
archive-zip-extract)))