Function: archive-*-extract
archive-*-extract is a byte-compiled function defined in
arc-mode.el.gz.
Signature
(archive-*-extract ARCHIVE NAME COMMAND)
Source Code
;; Defined in /usr/src/emacs/lisp/arc-mode.el.gz
(defun archive-*-extract (archive name command)
(let* ((default-directory (file-name-as-directory archive-tmpdir))
(tmpfile (expand-file-name (file-name-nondirectory name)
default-directory))
exit-status success)
(make-directory (directory-file-name default-directory) t)
(setq exit-status
(apply #'call-process
(car command)
nil
nil
nil
(append (cdr command) (list archive name))))
(cond ((and (numberp exit-status) (zerop exit-status))
(if (not (file-exists-p tmpfile))
(ding (message "`%s': no such file or directory" tmpfile))
(insert-file-contents tmpfile)
(setq success t)))
((numberp exit-status)
(ding
(message "`%s' exited with status %d" (car command) exit-status)))
((stringp exit-status)
(ding (message "`%s' aborted: %s" (car command) exit-status)))
(t
(ding (message "`%s' failed" (car command)))))
(archive-delete-local tmpfile)
success))