diff options
author | Richard M. Stallman <[email protected]> | 2002-05-19 16:00:48 +0000 |
---|---|---|
committer | Richard M. Stallman <[email protected]> | 2002-05-19 16:00:48 +0000 |
commit | f44a616b703657a36aee3dfcd190935e968d6f86 (patch) | |
tree | 1dd82c9761a8a61a61a95727217e1de9f3a1d919 /lisp/arc-mode.el | |
parent | e6f0ff923303e71a0db0306f403fc507a5608ef7 (diff) |
(archive-zip-use-pkzip): Variable deleted.
(archive-zip-extract, archive-zip-expunge, archive-zip-update)
(archive-zip-update-case): Use locate-file to decide whether
to use pkzip.
Diffstat (limited to 'lisp/arc-mode.el')
-rw-r--r-- | lisp/arc-mode.el | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el index d1128abc45..1792c54502 100644 --- a/lisp/arc-mode.el +++ b/lisp/arc-mode.el @@ -211,14 +211,12 @@ Archive and member name will be added." ;; ------------------------------ ;; Zip archive configuration -(defcustom archive-zip-use-pkzip (memq system-type '(ms-dos windows-nt)) - "*If non-nil then pkzip option are used instead of zip options. -Only set to true for msdog systems!" - :type 'boolean - :group 'archive-zip) - (defcustom archive-zip-extract - (if archive-zip-use-pkzip '("pkunzip" "-e" "-o-") '("unzip" "-qq" "-c")) + (if (locate-file "unzip" nil 'file-executable-p) + '("unzip" "-qq" "-c") + (if (locate-file "pkunzip" nil 'file-executable-p) + '("pkunzip" "-e" "-o-") + '("unzip" "-qq" "-c"))) "*Program and its options to run in order to extract a zip file member. Extraction should happen to standard output. Archive and member name will be added. If `archive-zip-use-pkzip' is non-nil then this program is @@ -235,7 +233,11 @@ expected to extract to a file junking the directory part of the name." ;; names. (defcustom archive-zip-expunge - (if archive-zip-use-pkzip '("pkzip" "-d") '("zip" "-d" "-q")) + (if (locate-file "zip" nil 'file-executable-p) + '("zip" "-d" "-q") + (if (locate-file "zip" nil 'file-executable-p) + '("pkzip" "-d") + '("zip" "-d" "-q"))) "*Program and its options to run in order to delete zip file members. Archive and member names will be added." :type '(list (string :tag "Program") @@ -245,7 +247,11 @@ Archive and member names will be added." :group 'archive-zip) (defcustom archive-zip-update - (if archive-zip-use-pkzip '("pkzip" "-u" "-P") '("zip" "-q")) + (if (locate-file "zip" nil 'file-executable-p) + '("zip" "-q") + (if (locate-file "zip" nil 'file-executable-p) + '("pkzip" "-u" "-P") + '("zip" "-q"))) "*Program and its options to run in order to update a zip file member. Options should ensure that specified directory will be put into the zip file. Archive and member name will be added." @@ -256,7 +262,11 @@ file. Archive and member name will be added." :group 'archive-zip) (defcustom archive-zip-update-case - (if archive-zip-use-pkzip archive-zip-update '("zip" "-q" "-k")) + (if (locate-file "zip" nil 'file-executable-p) + '("zip" "-q" "-k") + (if (locate-file "zip" nil 'file-executable-p) + '("pkzip" "-u" "-P") + '("zip" "-q" "-k"))) "*Program and its options to run in order to update a case fiddled zip member. Options should ensure that specified directory will be put into the zip file. Archive and member name will be added." @@ -1637,7 +1647,7 @@ 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 archive-zip-use-pkzip + (if (equal (car archive-zip-extract) "pkzip") (archive-*-extract archive name archive-zip-extract) (archive-extract-by-stdout archive name archive-zip-extract))) |