Function: ange-ftp-compress
ange-ftp-compress is a byte-compiled function defined in
ange-ftp.el.gz.
Signature
(ange-ftp-compress FILE NFILE)
Source Code
;; Defined in /usr/src/emacs/lisp/net/ange-ftp.el.gz
;; Copy FILE to this machine, compress it, and copy out to NFILE.
(defun ange-ftp-compress (file nfile)
(let* ((parsed (ange-ftp-ftp-name file))
(tmp1 (ange-ftp-make-tmp-name (car parsed)))
(tmp2 (ange-ftp-make-tmp-name (car parsed)))
(abbr (ange-ftp-abbreviate-filename file))
(nabbr (ange-ftp-abbreviate-filename nfile))
(msg1 (format "Getting %s" abbr))
(msg2 (format "Putting %s" nabbr)))
(unwind-protect
(progn
(ange-ftp-copy-file-internal file tmp1 t nil msg1)
(and ange-ftp-process-verbose
(ange-ftp-message "Compressing %s..." abbr))
(call-process-region (point)
(point)
shell-file-name
nil
t
nil
shell-command-switch
(format "compress -f -c < %s > %s" tmp1 tmp2))
(and ange-ftp-process-verbose
(ange-ftp-message "Compressing %s...done" abbr))
(if (zerop (buffer-size))
(progn
(let (ange-ftp-process-verbose)
(delete-file file))
(ange-ftp-copy-file-internal tmp2 nfile t nil msg2))))
(ange-ftp-del-tmp-name tmp1)
(ange-ftp-del-tmp-name tmp2))))