From 364fbac9e17025b32fed39889b094bca252f8296 Mon Sep 17 00:00:00 2001 From: giles Date: Mon, 23 Mar 2026 16:31:41 +0000 Subject: [PATCH] Fix parse-int to handle 2-arg form (value + default) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cssx-resolve calls (parse-int "699" nil) — the 2-arg form was falling to the catch-all and returning Nil, causing colour tokens like text-violet-699 to not generate CSS rules. Co-Authored-By: Claude Opus 4.6 (1M context) --- hosts/ocaml/bin/sx_server.ml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hosts/ocaml/bin/sx_server.ml b/hosts/ocaml/bin/sx_server.ml index c904fec..c6ba57e 100644 --- a/hosts/ocaml/bin/sx_server.ml +++ b/hosts/ocaml/bin/sx_server.ml @@ -633,7 +633,10 @@ let make_server_env () = bind "parse-int" (fun args -> match args with | [String s] -> (try Number (float_of_int (int_of_string s)) with _ -> Nil) - | [Number n] -> Number (Float.round n) + | [String s; default_val] -> + (try Number (float_of_int (int_of_string s)) with _ -> default_val) + | [Number n] | [Number n; _] -> Number (Float.round n) + | [_; default_val] -> default_val | _ -> Nil); bind "json-encode" (fun args -> io_request "helper" (String "json-encode" :: args));