Restore cek_run IO hooks and cek_step_loop error handling lost by bootstrap
bootstrap.py regenerated cek_run as a simple "raise if suspended" without the _cek_io_resolver and _cek_io_suspend_hook checks. Also lost the CekPerformRequest catch in cek_step_loop and step_limit checks. This was the direct cause of "IO suspension in non-IO context" when island click handlers called perform (via hs-wait). The CEK had no way to propagate the suspension to the VM/JS boundary. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1266,7 +1266,7 @@
|
||||
((url (if (and (= (tp-type) "keyword") (= (tp-val) "from")) (do (adv!) (parse-arith (parse-poss (parse-atom)))) nil)))
|
||||
(list (quote fetch-gql) gql-source url))))
|
||||
(let
|
||||
((url-atom (parse-atom)))
|
||||
((url-atom (if (and (= (tp-type) "op") (= (tp-val) "/")) (do (adv!) (let ((path-parts (list "/"))) (define read-path (fn () (when (and (not (at-end?)) (or (= (tp-type) "ident") (= (tp-type) "op") (= (tp-type) "dot") (= (tp-type) "number"))) (append! path-parts (tp-val)) (adv!) (read-path)))) (read-path) (join "" path-parts))) (parse-atom))))
|
||||
(let
|
||||
((url (if (nil? url-atom) url-atom (parse-arith (parse-poss url-atom)))))
|
||||
(let
|
||||
|
||||
Reference in New Issue
Block a user