summaryrefslogtreecommitdiff
path: root/lisp/arc-mode.el
diff options
context:
space:
mode:
authorJuri Linkov <juri@jurta.org>2010-02-02 00:35:04 +0200
committerJuri Linkov <juri@jurta.org>2010-02-02 00:35:04 +0200
commit6ba973c19390ff813c5dd072df4b30ea2731a682 (patch)
treed4b19f3e265cb64783bbded3c0a56cc6fe66517d /lisp/arc-mode.el
parentcd61af01c1220b6a7f98189c826edc7535416583 (diff)
downloademacs-6ba973c19390ff813c5dd072df4b30ea2731a682.tar.gz
* arc-mode.el (archive-zip-extract): Use `member-ignore-case' to
compare with "pkunzip" and "pkzip" instead of only "pkzip". In the `archive-extract-by-stdout' branch use `shell-quote-argument' only when (car archive-zip-extract) is "unzip". (Bug#5475)
Diffstat (limited to 'lisp/arc-mode.el')
-rw-r--r--lisp/arc-mode.el14
1 files changed, 9 insertions, 5 deletions
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index 4a0576fdded..ee32d893654 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -1782,12 +1782,16 @@ This doesn't recover lost files, it just undoes changes in the buffer itself."
(apply 'vector (nreverse files))))
(defun archive-zip-extract (archive name)
- (if (equal (car archive-zip-extract) "pkzip")
+ (if (member-ignore-case (car archive-zip-extract) '("pkunzip" "pkzip"))
(archive-*-extract 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)))
+ (archive-extract-by-stdout
+ archive
+ ;; unzip expands wildcards in NAME, so we need to quote it.
+ ;; FIXME: Does pkunzip need similar treatment?
+ (if (equal (car archive-zip-extract) "unzip")
+ (shell-quote-argument name)
+ name)
+ archive-zip-extract)))
(defun archive-zip-write-file-member (archive descr)
(archive-*-write-file-member