summaryrefslogtreecommitdiffstats
path: root/srfi/srfi-146-impl.scm
diff options
context:
space:
mode:
authorGravatar Arvydas Silanskas 2021-11-11 21:09:01 +0200
committerGravatar Arvydas Silanskas 2021-11-11 21:09:01 +0200
commite9b5f30a8c5b0c90d1e848873f45f0dbc67a73f3 (patch)
tree3545da6dc697413b6baf8c92237241b15e377e56 /srfi/srfi-146-impl.scm
parentremove min-key, max-key, plist; add dependencies list to html (diff)
fix mapping implementations for dict-alter
Diffstat (limited to '')
-rw-r--r--srfi/srfi-146-impl.scm8
1 files changed, 4 insertions, 4 deletions
diff --git a/srfi/srfi-146-impl.scm b/srfi/srfi-146-impl.scm
index 49b4737..0887870 100644
--- a/srfi/srfi-146-impl.scm
+++ b/srfi/srfi-146-impl.scm
@@ -18,8 +18,8 @@
;; and force it into tail call
(call/cc (lambda (k2)
(define result
- (failure (lambda (value) (k2 (insert value #f)))
- (lambda () (k2 (ignore #f)))))
+ (failure (lambda (value) (call-with-values (lambda () (insert value #f)) k2))
+ (lambda () (call-with-values (lambda () (ignore #f)) k2))))
;; neither insert nor ignore called -- return result to top level escape
(k result))))
(lambda (key value update remove)
@@ -28,8 +28,8 @@
(success
key
value
- (lambda (new-key new-value) (k2 (update new-key new-value #f)))
- (lambda () (k2 (remove #f)))))
+ (lambda (new-key new-value) (call-with-values (lambda () (update new-key new-value #f)) k2))
+ (lambda () (call-with-values (lambda () (remove #f)) k2))))
(k result))))))
new-dict)))