summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2010-01-28 15:06:36 -0500
committerChong Yidong <cyd@stupidchicken.com>2010-01-28 15:06:36 -0500
commit763f325e2611ed74232acb7f94500815cf27349f (patch)
tree6c7b0f5737b4b2d0792501aaf3d9c385e36cb5df
parentfd09a83f94c3122a67180bb3be4221a9a6c9f873 (diff)
downloademacs-763f325e2611ed74232acb7f94500815cf27349f.tar.gz
* arc-mode.el (archive-zip-extract): Quote the argument passed to unzip (Bug#5475).
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/arc-mode.el5
2 files changed, 9 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 7a12dc0256f..d6e3597f18c 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2010-01-28 Chong Yidong <cyd@stupidchicken.com>
+
+ * arc-mode.el (archive-zip-extract): Quote the argument passed to
+ unzip (Bug#5475).
+
2010-01-28 Nil Geisweiller <ngeiswei@googlemail.com> (tiny change)
* progmodes/flymake.el (flymake-allowed-file-name-masks)
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index 3629a16f29e..4a0576fdded 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -1784,7 +1784,10 @@ This doesn't recover lost files, it just undoes changes in the buffer itself."
(defun archive-zip-extract (archive name)
(if (equal (car archive-zip-extract) "pkzip")
(archive-*-extract archive name archive-zip-extract)
- (archive-extract-by-stdout archive name archive-zip-extract)))
+ ;; unzip expands wildcards in NAME, so we need to quote it.
+ ;; FIXME: Does pkzip need similar treatment?
+ (archive-extract-by-stdout archive (shell-quote-argument name)
+ archive-zip-extract)))
(defun archive-zip-write-file-member (archive descr)
(archive-*-write-file-member