Mercurial > emacs
changeset 107071:bdf05c504564
* 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)
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Tue, 02 Feb 2010 00:35:04 +0200 |
parents | 456aad5db2ee |
children | abe576120f76 67f557473da4 848000087a55 |
files | lisp/ChangeLog lisp/arc-mode.el |
diffstat | 2 files changed, 16 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Mon Feb 01 13:39:33 2010 -0500 +++ b/lisp/ChangeLog Tue Feb 02 00:35:04 2010 +0200 @@ -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.
--- a/lisp/arc-mode.el Mon Feb 01 13:39:33 2010 -0500 +++ b/lisp/arc-mode.el Tue Feb 02 00:35:04 2010 +0200 @@ -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