]> git.eshelyaron.com Git - emacs.git/commitdiff
* arc-mode.el (archive-zip-extract): Use `member-ignore-case' to
authorJuri Linkov <juri@jurta.org>
Mon, 1 Feb 2010 22:35:04 +0000 (00:35 +0200)
committerJuri Linkov <juri@jurta.org>
Mon, 1 Feb 2010 22:35:04 +0000 (00:35 +0200)
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)

lisp/ChangeLog
lisp/arc-mode.el

index 5f52b138c2dfa35b4d10aa6e226e0f92fdb3e3ae..b3de5b8baed539b5958e7c2578b8a65fc129c68b 100644 (file)
@@ -1,3 +1,10 @@
+2010-02-01  Juri Linkov  <juri@jurta.org>
+
+       * 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)
+
 2010-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * doc-view.el (doc-view-new-window-function): Be a bit more defensive.
index 4a0576fdded2d7606086585d2df1c48edd37f9f6..ee32d89365403d1bad2ce2952387129b3943c80d 100644 (file)
@@ -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