diff --git a/scheme/httpd/surflets/surflets.scm b/scheme/httpd/surflets/surflets.scm index 9b55c85..2345247 100644 --- a/scheme/httpd/surflets/surflets.scm +++ b/scheme/httpd/surflets/surflets.scm @@ -696,24 +696,24 @@ (case-returned-via bindings clauses ...))) ((case-returned-via bindings (else body ...)) (begin body ...)) + ((case-returned-via bindings + ((%return-object ...) => %proc)) + (cond ((or (returned-via %return-object bindings) ...) + => %proc))) ((case-returned-via bindings ((%return-object ...) %body ...)) (if (or (returned-via? %return-object bindings) ...) (begin %body ...))) ((case-returned-via bindings - ((%return-object ...) => %proc)) + ((%return-object ...) => %proc) + %clause %clauses ...) (cond ((or (returned-via %return-object bindings) ...) - => %proc))) + => %proc) + (else + (case-returned-via bindings %clause %clauses ...)))) ((case-returned-via bindings ((%return-object ...) %body ...) %clause %clauses ...) (if (or (returned-via? %return-object bindings) ...) (begin %body ...) - (case-returned-via bindings %clause %clauses ...))) - ((case-returned-via bindings - ((%return-object ...) %proc) - %clause %clauses ...) - (cond ((or (returned-via %return-object bindings) ...) - => %proc) - (else - (case-returned-via bindings %clause %clauses ...)))))) + (case-returned-via bindings %clause %clauses ...)))))