From 3d8e3363ce43cb62bc780fbb5dfc1480861bd177 Mon Sep 17 00:00:00 2001 From: giles Date: Wed, 1 Apr 2026 14:39:54 +0000 Subject: [PATCH] Use eval-expr not aser in handler dispatch aser in SX doesn't have access to helper/now/state-get. eval-expr evaluates the body in the current env, returns the AST. The OCaml handler interception then calls aser server-side with the full env. Co-Authored-By: Claude Opus 4.6 (1M context) --- sx/sx/handlers/dispatch.sx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sx/sx/handlers/dispatch.sx b/sx/sx/handlers/dispatch.sx index bfb071f9..ed3d7213 100644 --- a/sx/sx/handlers/dispatch.sx +++ b/sx/sx/handlers/dispatch.sx @@ -41,9 +41,9 @@ (params body closure) (if (or (nil? params) (empty? params)) - (aser body) + (eval-expr body) (let ((bindings (map (fn (p) (let ((name (if (symbol? p) (symbol-name p) (str p)))) (if (= name "&key") nil (if (= name "&rest") nil (let ((val (or (request-arg name) (request-form name)))) (list (make-symbol name) (or val nil))))))) (filter (fn (p) (let ((name (if (symbol? p) (symbol-name p) (str p)))) (and (not (= name "&key")) (not (= name "&rest"))))) params)))) (let ((let-form (list (quote let) (filter (fn (b) (not (nil? b))) bindings) body))) - (aser let-form)))))) + (eval-expr let-form))))))