* 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)
This commit is contained in:
Juri Linkov 2010-02-02 00:35:04 +02:00
parent cd61af01c1
commit 6ba973c193
2 changed files with 16 additions and 5 deletions

View 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.

View 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