Fixes another bug in continuation mark collection

This commit is contained in:
Casey Klein 2010-11-17 10:41:45 -06:00
parent d0e03bf53a
commit 48a5c19a4e
2 changed files with 10 additions and 0 deletions

View File

@ -72,6 +72,7 @@
[(get-marks-core (wcm (name w_1 ((v_4 v_5) ... (v_1 v_3) (v_6 v_7) ...)) E_1) v_1 e_2) (get-marks E_1 v_1 (cons v_3 e_2))]
[(get-marks-core (wcm w_1 E_1) v_1 e_2) (get-marks E_1 v_1 e_2) (side-condition (term (notInDom (v_1 w_1))))]
[(get-marks-core (v ... E_1 e ...) v_1 e_2) (get-marks E_1 v_1 e_2)]
[(get-marks-core (if E_1 e_1 e_3) v_1 e_2) (get-marks E_1 v_1 e_2)]
[(get-marks-core (begin E_1 e) v_1 e_2) (get-marks E_1 v_1 e_2)]
[(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)]

View File

@ -362,6 +362,15 @@
4
(abort 0 (current-marks 1 0))))))
(λ (x) x)))
'(<> () [] (list 2)))
(test "if-test position in continuation-marks context"
'(<> ()
[]
(% 0
(call/cm
1 2
(λ () (if (abort 0 (current-marks 1 0)) 3 4)))
(λ (x) x)))
'(<> () [] (list 2))))
;; R6RS dynamic-wind ----------------------------------------