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
commite4a8e1b74917ab02487570b17fbfa53449d62926 (patch)
treee4e4e6d5f422e9f5b8d84a10e15cb24265ecc68b
parent6848b6a56e698a6e9be77aca57f4f962600839e6 (diff)
downloademacs-e4a8e1b74917ab02487570b17fbfa53449d62926.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 acd3171435c..fbac27409aa 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