From fdd4064db9a5632cb112622d84c0a143beed5fe8 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Tue, 2 May 2023 07:30:20 -0400 Subject: graphics: engine: Remove dynamic-wind from with-graphics-state. --- chickadee/graphics/engine.scm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/chickadee/graphics/engine.scm b/chickadee/graphics/engine.scm index 804e705..e5b2d4d 100644 --- a/chickadee/graphics/engine.scm +++ b/chickadee/graphics/engine.scm @@ -310,13 +310,11 @@ (loop (guardian)))))) (define-syntax-rule (with-graphics-state ((spec value) ...) body ...) - (dynamic-wind - (lambda () - (graphics-engine-state-push! spec value) ...) - (lambda () - body ...) - (lambda () - (graphics-engine-state-pop! spec) ...))) + (begin + (graphics-engine-state-push! spec value) ... + (let ((result (begin body ...))) + (graphics-engine-state-pop! spec) ... + result) )) (define-syntax-rule (with-graphics-state! ((spec value) ...) body ...) (with-graphics-state ((spec value) ...) -- cgit v1.2.3