EMACS использует внешнюю программу для сжатия / распаковки. Все, что ему нужно, это знать, какую программу использовать.
Некоторое расширенное обсуждение:
Как я уже сказал, у меня нет окна Windows, но код LISP находится в arc-mode.el примерно в строке 230:
(defcustom archive-zip-extract
(if (and (not (executable-find "unzip"))
(executable-find "pkunzip"))
'("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."
:type '(list (string :tag "Program")
(repeat :tag "Options"
:inline t
(string :format "%v")))
:group 'archive-zip)
Соблюдайте функцию executable-find
. Он ищет в вашем EMACS exec-path
, который включает в себя некоторые исполняемые каталоги EMACS, которых нет в вашей обычной переменной PATH. В моем случае это:
("/usr/bin"
"/bin"
"/usr/sbin"
"/sbin"
"/Applications/Emacs.app/Contents/MacOS/libexec"
"/Applications/Emacs.app/Contents/MacOS/bin"
"~/bin"
"/usr/local/bin"
"/usr/X11R6/bin")
, который включает две директории в пакете EMACS. Ваша установка Windows будет включать эквивалентные каталоги где-то внизу в настройках EMACS. Вот где искать исполняемые файлы, если их нет в вашем обычном пути.
Вы можете скачать pkunzip с с этого сайта , установить его и добавить путь к установке с помощью (add-to-list 'exec-path "c:/path/to/pkunzip")