Mercurial > emacs
changeset 16876:34fa99fb91d1
(ange-ftp-waiting-flag): New variable.
(ange-ftp-load): Bind that to t, and catch ftp-error.
(ange-ftp-cf2, ange-ftp-cf1): If ange-ftp-waiting-flag is t,
throw instead of signaling an error.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 18 Jan 1997 06:08:37 +0000 |
parents | d9956cf6699b |
children | f9d43993ed5a |
files | lisp/ange-ftp.el |
diffstat | 1 files changed, 19 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ange-ftp.el Fri Jan 17 07:07:20 1997 +0000 +++ b/lisp/ange-ftp.el Sat Jan 18 06:08:37 1997 +0000 @@ -3375,9 +3375,12 @@ (progn (and temp1 (ange-ftp-del-tmp-name temp1)) (or cont - (signal 'ftp-error (list "Opening input file" - (format "FTP Error: \"%s\"" line) - filename))))) + (if ange-ftp-waiting-flag + (throw 'ftp-error t) + (signal 'ftp-error + (list "Opening input file" + (format "FTP Error: \"%s\"" line) + filename)))))) ;; cleanup (if binary (ange-ftp-set-ascii-mode f-host f-user)))) @@ -3438,10 +3441,12 @@ (progn (or result (or cont - (signal 'ftp-error - (list "Opening output file" - (format "FTP Error: \"%s\"" line) - newname)))) + (if ange-ftp-waiting-flag + (throw 'ftp-error t) + (signal 'ftp-error + (list "Opening output file" + (format "FTP Error: \"%s\"" line) + newname))))) (ange-ftp-add-file-entry newname)) @@ -3747,6 +3752,8 @@ (format "Getting %s" fn1)) tmp1)))) +(defvar ange-ftp-waiting-flag nil) + (defun ange-ftp-load (file &optional noerror nomessage nosuffix) (if (ange-ftp-ftp-name file) (let ((tryfiles (if nosuffix @@ -3754,9 +3761,11 @@ (list (concat file ".elc") (concat file ".el") file))) copy) (while (and tryfiles (not copy)) - (condition-case error - (setq copy (ange-ftp-file-local-copy (car tryfiles))) - (ftp-error nil)) + (catch 'ftp-error + (let ((ange-ftp-waiting-flag t)) + (condition-case error + (setq copy (ange-ftp-file-local-copy (car tryfiles))) + (ftp-error nil)))) (setq tryfiles (cdr tryfiles))) (if copy (unwind-protect