Mercurial > emacs
changeset 39839:c5c5558d34cc
(ange-ftp-copy-files-async): New function for
asynchronous multiple file copying.
author | Sam Steingold <sds@gnu.org> |
---|---|
date | Fri, 12 Oct 2001 19:16:34 +0000 |
parents | 1001a9ecd4fc |
children | 68ca5f31c24d |
files | lisp/ChangeLog lisp/net/ange-ftp.el |
diffstat | 2 files changed, 31 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Fri Oct 12 18:54:53 2001 +0000 +++ b/lisp/ChangeLog Fri Oct 12 19:16:34 2001 +0000 @@ -1,3 +1,8 @@ +2001-10-12 Sam Steingold <sds@gnu.org> + + * net/ange-ftp.el (ange-ftp-copy-files-async): New function for + asynchronous multiple file copying. + 2001-10-12 Gerd Moellmann <gerd@gnu.org> * emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): New
--- a/lisp/net/ange-ftp.el Fri Oct 12 18:54:53 2001 +0000 +++ b/lisp/net/ange-ftp.el Fri Oct 12 19:16:34 2001 +0000 @@ -3712,6 +3712,32 @@ nil nil (interactive-p))) + +(defun ange-ftp-copy-files-async (okay-p line verbose-p files) + "Copy some files in the background. +Arguments: (OKAY-P LINE VERBOSE-P FILES) +OKAY-P must be T, and LINE does not matter. They are here to make this + function a valid CONT argument for `ange-ftp-raw-send-cmd'. +If VERBOSE-P is non-nil, print progress report in the echo area. + When all the files have been copied already, a message is shown anyway. +FILES is a list of files to copy in the form + (from-file to-file ok-if-already-exists keep-date) +E.g., + (ange-ftp-copy-files-async t nil t '((\"a\" \"b\" t t) (\"c\" \"d\" t t)))" + (unless okay-p (error "%s: %s" 'ange-ftp-copy-files-async line)) + (if files + (let* ((ff (car files)) + (from-file (nth 0 ff)) + (to-file (nth 1 ff)) + (ok-if-exists (nth 2 ff)) + (keep-date (nth 3 ff))) + (ange-ftp-copy-file-internal + from-file to-file ok-if-exists keep-date + (and verbose-p (format "%s --> %s" from-file to-file)) + (list 'ange-ftp-copy-files-async verbose-p (cdr files)) + t)) + (message "%s: done" 'ange-ftp-copy-files-async))) + ;;;; ------------------------------------------------------------ ;;;; File renaming support.