summaryrefslogtreecommitdiff
path: root/lisp/arc-mode.el
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2010-06-25 14:42:47 +0300
committerEli Zaretskii <eliz@gnu.org>2010-06-25 14:42:47 +0300
commitaca54191748018f741c8fdd274df142f20a8d2a0 (patch)
treeb3af1ae15ef46e496ca33434cc1ad4596bff88c8 /lisp/arc-mode.el
parentc7dd9743077f99ceb91be4c21900d4dfbd5161d4 (diff)
downloademacs-aca54191748018f741c8fdd274df142f20a8d2a0.tar.gz
Fix bugs #6144 and #6467.
arc-mode.el (archive-zip-extract): Don't quote the file name on MS-Windows and MS-DOS. (Bug#6467, Bug#6144)
Diffstat (limited to 'lisp/arc-mode.el')
-rw-r--r--lisp/arc-mode.el8
1 files changed, 6 insertions, 2 deletions
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)))