diff lisp/arc-mode.el @ 107267:848000087a55

Merge from mainline.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Mon, 01 Feb 2010 23:55:38 +0000
parents bdf05c504564
children 00c6bb12d924
line wrap: on
line diff
--- a/lisp/arc-mode.el	Mon Feb 01 21:54:37 2010 +0000
+++ b/lisp/arc-mode.el	Mon Feb 01 23:55:38 2010 +0000
@@ -1782,12 +1782,16 @@
     (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