Fix empty code blocks: rename ~docs/code param, fix batched IO dispatch
Two bugs caused code blocks to render empty across the site: 1. ~docs/code component had parameter named `code` which collided with the HTML <code> tag name. Renamed to `src` and updated all 57 callers. Added font-mono class for explicit monospace. 2. Batched IO dispatch in ocaml_bridge.py only skipped one leading number (batch ID) but the format has two (epoch + ID): (io-request EPOCH ID "name" args...). Changed to skip all leading numbers so the string name is correctly found. This fixes highlight and other batchable helpers returning empty results. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -73,7 +73,7 @@
|
||||
"then pops it. The scope has three properties: a name, a downward value, and an "
|
||||
"upward accumulator.")
|
||||
|
||||
(~docs/code :code (highlight "(scope name body...) ;; scope with no value\n(scope name :value v body...) ;; scope with downward value" "lisp"))
|
||||
(~docs/code :src (highlight "(scope name body...) ;; scope with no value\n(scope name :value v body...) ;; scope with downward value" "lisp"))
|
||||
|
||||
(p "Within the body, " (code "context") " reads the value, " (code "emit!") " appends "
|
||||
"to the accumulator, and " (code "emitted") " reads what was accumulated.")
|
||||
@@ -101,7 +101,7 @@
|
||||
(p (code "(provide name value body...)") " is exactly "
|
||||
(code "(scope name :value value body...)") ". It exists because "
|
||||
"the two-arg form is the common case.")
|
||||
(~docs/code :code (highlight ";; These are equivalent:\n(provide \"theme\" {:primary \"violet\"}\n (h1 \"hello\"))\n\n(scope \"theme\" :value {:primary \"violet\"}\n (h1 \"hello\"))" "lisp")))
|
||||
(~docs/code :src (highlight ";; These are equivalent:\n(provide \"theme\" {:primary \"violet\"}\n (h1 \"hello\"))\n\n(scope \"theme\" :value {:primary \"violet\"}\n (h1 \"hello\"))" "lisp")))
|
||||
|
||||
(~docs/subsection :title "collect! — lazy root scope with dedup"
|
||||
(p (code "collect!") " is the most interesting sugar. When called, if no scope exists "
|
||||
@@ -145,7 +145,7 @@
|
||||
|
||||
(p "Each platform (Python, JavaScript) maintains a single data structure:")
|
||||
|
||||
(~docs/code :code (highlight "_scope_stacks = {} ;; {name: [{value, emitted: [], dedup: bool}]}" "python"))
|
||||
(~docs/code :src (highlight "_scope_stacks = {} ;; {name: [{value, emitted: [], dedup: bool}]}" "python"))
|
||||
|
||||
(p "Six operations on this structure:")
|
||||
|
||||
@@ -171,7 +171,7 @@
|
||||
|
||||
(p "Before scopes, the platform had two separate mechanisms:")
|
||||
|
||||
(~docs/code :code (highlight ";; Before: two mechanisms\n_provide_stacks = {} ;; {name: [{value, emitted: []}]}\n_collect_buckets = {} ;; {name: [values...]}\n\n;; After: one mechanism\n_scope_stacks = {} ;; {name: [{value, emitted: [], dedup: bool}]}" "python"))
|
||||
(~docs/code :src (highlight ";; Before: two mechanisms\n_provide_stacks = {} ;; {name: [{value, emitted: []}]}\n_collect_buckets = {} ;; {name: [values...]}\n\n;; After: one mechanism\n_scope_stacks = {} ;; {name: [{value, emitted: [], dedup: bool}]}" "python"))
|
||||
|
||||
(p "The unification is not just code cleanup. It means:")
|
||||
(ul :class "space-y-1"
|
||||
|
||||
Reference in New Issue
Block a user