Function: archive-maybe-copy
archive-maybe-copy is a byte-compiled function defined in
arc-mode.el.gz.
Signature
(archive-maybe-copy ARCHIVE)
Source Code
;; Defined in /usr/src/emacs/lisp/arc-mode.el.gz
(defun archive-maybe-copy (archive)
(let ((coding-system-for-write 'no-conversion))
(if archive-remote
(let ((start (point-max))
;; Sometimes ARCHIVE is invalid while its actual name, as
;; recorded in its parent archive, is not. For example, an
;; archive bar.zip inside another archive foo.zip gets a name
;; "foo.zip:bar.zip", which is invalid on DOS/Windows.
;; So use the actual name if available.
(archive-name
(or (and archive-subfile-mode (archive--file-desc-ext-file-name
archive-subfile-mode))
archive)))
(setq archive-local-name
(archive-unique-fname archive-name archive-tmpdir))
(save-restriction
(widen)
(write-region start (point-max) archive-local-name nil 'nomessage))
archive-local-name)
(if (buffer-modified-p) (save-buffer))
archive)))