Fix Pretext client island: inlined greedy layout, avoid slice/import issues

- Greedy line breaking inlined (avoids 3-arg slice browser issue)
- Manual word extraction via for-each+append! instead of slice
- Browser load-sxbc: handle VmSuspended + copy library registry exports
- TODO: Knuth-Plass on bytecode VM when define-library export propagation
  is fixed (compiler strips library wrapper → STORE_GLOBAL works, but
  import OP_PERFORM suspends before sync_vm_to_env copies globals)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-12 17:09:39 +00:00
parent 699dd5ad69
commit 45209caf73
3 changed files with 53 additions and 12 deletions

View File

@@ -1011,14 +1011,14 @@
(fn
()
(let
((prop (get (adv!) "value")))
((prop (cond ((= (tp-type) "style") (get (adv!) "value")) ((and (= (tp-val) "my") (= (get (nth tokens (+ p 1)) "type") "style")) (do (adv!) (get (adv!) "value"))) (true (get (adv!) "value")))))
(expect-kw! "to")
(let
((value (parse-expr)))
(let
((dur (if (match-kw "over") (if (= (tp-type) "number") (parse-dur (get (adv!) "value")) 400) nil)))
((dur (if (match-kw "over") (parse-expr) nil)))
(let
((tgt (parse-tgt-kw "on" (list (quote me)))))
((tgt nil))
(if
dur
(list (quote transition) prop value dur tgt)

File diff suppressed because one or more lines are too long