fix previous fix, fk needs to be made cheap, not sk (issue #698)

This commit is contained in:
Alex Shinn 2020-09-01 17:01:21 +09:00
parent 717aeb9e8b
commit e7e034dea0

View file

@ -385,8 +385,8 @@
((match-two v (or p ...) g+s sk fk i) ((match-two v (or p ...) g+s sk fk i)
(match-extract-vars (or p ...) (match-gen-or v (p ...) g+s sk fk i) i ())) (match-extract-vars (or p ...) (match-gen-or v (p ...) g+s sk fk i) i ()))
((match-two v (not p) g+s (sk ...) fk i) ((match-two v (not p) g+s (sk ...) fk i)
(let ((sk2 (lambda () fk))) (let ((fk2 (lambda () (sk ...))))
(match-one v p g+s (match-drop-ids (sk2)) (sk ... i) i))) (match-one v p g+s (match-drop-ids fk) (fk2) i)))
((match-two v (get! getter) (g s) (sk ...) fk i) ((match-two v (get! getter) (g s) (sk ...) fk i)
(let ((getter (lambda () g))) (sk ... i))) (let ((getter (lambda () g))) (sk ... i)))
((match-two v (set! setter) (g (s ...)) (sk ...) fk i) ((match-two v (set! setter) (g (s ...)) (sk ...) fk i)