Fixes another bug in continuation mark collection
This commit is contained in:
parent
8e69aa6ac2
commit
6bfbdfd582
|
@ -77,7 +77,7 @@
|
|||
[(get-marks-core (% v_2 E_1 v_3) v_1 e_2) (get-marks E_1 v_1 e_2)]
|
||||
[(get-marks-core (% v_2 e_1 E_1) v_1 e_2) (get-marks E_1 v_1 e_2)]
|
||||
[(get-marks-core (% E_1 e_1 e_3) v_1 e_2) (get-marks E_1 v_1 e_2)]
|
||||
[(get-marks-core (dw x e E_1 e) v_1 e_2) (get-marks E_1 v_1 e_2)])
|
||||
[(get-marks-core (dw x e_1 E_1 e_3) v_1 e_2) (get-marks E_1 v_1 e_2)])
|
||||
|
||||
(define-metafunction grammar
|
||||
[(get-marks (if E_1 e e) v_1 e_2) (get-marks E_1 v_1 e_2)]
|
||||
|
|
|
@ -371,6 +371,18 @@
|
|||
1 2
|
||||
(λ () (if (abort 0 (current-marks 1 0)) 3 4)))
|
||||
(λ (x) x)))
|
||||
'(<> () [] (list 2)))
|
||||
(test "dw in continuation-marks context"
|
||||
'(<> ()
|
||||
[]
|
||||
(% 0
|
||||
(call/cm 1 2
|
||||
(λ ()
|
||||
(dynamic-wind
|
||||
(λ () #f)
|
||||
(λ () (current-marks 1 0))
|
||||
(λ () #t))))
|
||||
(λ (x) x)))
|
||||
'(<> () [] (list 2))))
|
||||
|
||||
;; R6RS dynamic-wind ----------------------------------------
|
||||
|
|
Loading…
Reference in New Issue
Block a user