projects
/
8sync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Return a value to the continuations from various %8sync-* calls
[8sync.git]
/
8sync
/
agenda.scm
diff --git
a/8sync/agenda.scm
b/8sync/agenda.scm
index 3bd5787962ff4f25b3c62c9421b4bdcf55331e92..af5ef3ce31b516bbeb2d9df05404926e9d0fa336 100644
(file)
--- a/
8sync/agenda.scm
+++ b/
8sync/agenda.scm
@@
-575,14
+575,20
@@
Possibly specify WHEN as the second argument."
(make-async-request
(lambda (kont)
(list (make-port-request port port-request-args ...)
(make-async-request
(lambda (kont)
(list (make-port-request port port-request-args ...)
- (make-run-request kont #f))))))
+ (make-run-request
+ ;; What's with returning #f to kont?
+ ;; Otherwise we sometimes get errors like
+ ;; "Zero values returned to single-valued continuation""
+ (wrap (kont #f)) #f))))))
(define-syntax-rule (%8sync-port-remove port)
(%8sync-abort-to-prompt
(make-async-request
(lambda (kont)
(list (make-port-remove-request port)
(define-syntax-rule (%8sync-port-remove port)
(%8sync-abort-to-prompt
(make-async-request
(lambda (kont)
(list (make-port-remove-request port)
- (make-run-request kont #f))))))
+ (make-run-request
+ ;; See comment in %8sync-port
+ (wrap (kont #f)) #f))))))
;; TODO: Write (%run-immediately)
;; TODO: Write (%run-immediately)
@@
-593,7
+599,9
@@
forge ahead in our current function!"
(%8sync-abort-to-prompt
(make-async-request
(lambda (kont)
(%8sync-abort-to-prompt
(make-async-request
(lambda (kont)
- (list (make-run-request kont #f)
+ (list (make-run-request
+ ;; See comment in %8sync-port
+ (wrap (kont #f)) #f)
(make-run-request body #f))))))
(define-syntax-rule (catch-8sync exp (handler-key handler) ...)
(make-run-request body #f))))))
(define-syntax-rule (catch-8sync exp (handler-key handler) ...)