integration: compiler queue (#602, #604, #629, #630) - #648
Merged
Merged
Conversation
…, texttrademark
Same rendering path as textcopyright: four TEXT_SYMBOLS rows, parser
BUILT_INS + dispatch arms, vocabulary unlists textbullet/textperiodcentered.
OT1 reaches each through its kernel default (OMS, textcircled,
textsuperscript{TM}); T1 resolves directly. All four glyphs are
representable in the base-14 export path (WinAnsi 0x95/0x99, Latin-1
0xB7/0xAE); U+00B7 reuses the existing cdot font-resource path.
Implementation-Agent: muse-spark-1.3-contributor
$\mathrm{a-b}$ fused into one Text run, setting a text hyphen (-- an
en dash) instead of TeX's mathcode"2200 Bin cmsy minus. Split hyphen
runs out into one Symbol("-") atom per hyphen between the alphabet's
own runs (mathrm/mathit/mathsf/mathtt/mathbf/textbf/mathfrak),
mirroring plain $a-b$ exactly. Letter/digit runs are untouched.
Implementation-Agent: muse-spark-1.3-contributor
Commit-Executor: muse-spark-1.3-contributor
What changed: - Mark parsed \\frac as Ord while keeping infix \\over Inner. - Correct the fraction-class documentation and add a native-spacing regression test. What was run: - /Library/TeX/texbin/pdflatex spacing probe (TeX Live 2026). - CARGO_TARGET_DIR=/Users/dqi26/flashtex/target-cleanups CARGO_BUILD_JOBS=4 cargo test --manifest-path crates/compiler/Cargo.toml --lib spacing_tests Next step: - Align the conditional and group nesting guards. Implementation-Agent: codex gpt-5.6-luna (max) Commit-Executor: codex (this session) Lane-Owner: daniel-parent (mac-m5pro-dq222)
What changed: - Reject the next conditional when the configured depth is already N. - Add off-by-one tests proving exactly N conditionals and groups are allowed. - Keep both default limits at 10,000. What was run: - /Library/TeX/texbin/pdftex native nested conditional/group probe. - CARGO_TARGET_DIR=/Users/dqi26/flashtex/target-cleanups CARGO_BUILD_JOBS=4 cargo test --manifest-path crates/tex-expansion/Cargo.toml --test expand_tests depth_limit Next step: - Audit compiler and tex-expansion TeX behavior comments and diagnostics. Implementation-Agent: codex gpt-5.6-luna (max) Commit-Executor: codex (this session) Lane-Owner: daniel-parent (mac-m5pro-dq222)
What changed: - Document that the recovery lexer drops invalid characters without a diagnostic. - Keep the native TeX invalid-character behavior documented separately. What was run: - /Library/TeX/texbin/pdftex invalid-character probe (TeX Live 2026). - git diff --check. Next step: - Run the required full compiler and tex-expansion test suites. Implementation-Agent: codex gpt-5.6-luna (max) Commit-Executor: codex (this session) Lane-Owner: daniel-parent (mac-m5pro-dq222)
TeX-engine errors for \setlist[itemize]{leftmargin=\mylen}: a bare
\newlength register in the options reached the stomach as a register
assignment, whose dimension scan reported 'Missing number, treated as
zero.' + 'Illegal unit of measure (pt inserted).' on the following
token (real enumitem stores keyval text unexecuted, where the bare
register is a complete <internal dimen> needing no unit).
\setlist now routes through flashtexsetlist, which absorbs the star,
[<names>] and {<options>} with one expansion pass but no execution and
splices dimen/skip register references to their current \the text, so
leftmargin=\mylen behaves exactly like leftmargin=\the\mylen. A
<factor> before the register (2\mylen) is left for the main loop, which
reports it as before. Shared by every dimension key (leftmargin,
itemsep, topsep, ...).
Tests: setlist_register_lengths (exact repro with zero diagnostics;
register vs literal vs \the equivalence for leftmargin/itemsep/topsep).
Implementation-Agent: muse-spark-1.3-contributor
…inus Conflicts in crates/compiler/src/math.rs against main's TextPiece text groups (#470 and stacked work): - \mathrm arm: keep main's required_text_group_string (the String flattening of the TextPiece group), keep the PR's hyphen-run comment and split_hyphen_runs/first_queued flow. - \mathbf|\textbf arm: main gained styled TextPiece groups with a TextRun nucleus for mixed text/math arguments; the PR splits plain arguments at `-` into Bin minus atoms. Combined: plain-text pieces go through split_hyphen_runs with the bold constructor, mixed pieces keep main's Nucleus::TextRun. Implementation-Agent: fable-integration-cmp2 Commit-Executor: fable-integration-cmp2 (direct; Cursor usage limit)
…xttrademark Conflicts: - crates/compiler/src/parser.rs: git spliced the PR's text-symbol arm (written against the old monolithic match) into main's refactored vertical_command family. Kept main's columnbreak/newcolumn arm (with the outside-multicols error) intact and added the four new names to the text-symbol arm of the family dispatch instead. - docs/user/compiler.md: generated file, regenerated with crates/compiler/scripts/render_supported_latex.sh; mac bundled copy synced and verified byte-identical (sync-supported-latex.sh --check). Implementation-Agent: fable-integration-cmp2 Commit-Executor: fable-integration-cmp2 (direct; Cursor usage limit)
Conflicts (append-shaped, both sides kept): - crates/compiler/src/expansion.rs: HOST_PRELUDE doc comment gained main's \AtBeginDocument paragraph and the PR's \setlist paragraph; configure() keeps main's declare_host_assignment for flashtexsetlength/flashtexaddtolength (the PR still had the older declare_host_command spelling) and adds the PR's flashtexsetlistdone host command. - crates/tex-expansion/src/expand.rs: main's shown_name/body_spells/ body_display helpers and the PR's push_absorbed/ setlist_factor_before helpers both kept. Implementation-Agent: fable-integration-cmp2 Commit-Executor: fable-integration-cmp2 (direct; Cursor usage limit)
Conflict in crates/tex-expansion/src/expand.rs do_conditional: main (via the #610 stack) reports the conditional nesting limit once per flood through conditional_limit_reported; the PR tightens the depth comparison from > to >= so the limit is exact. Kept main's once-only reporting structure with the PR's >= comparison. Implementation-Agent: fable-integration-cmp2 Commit-Executor: fable-integration-cmp2 (direct; Cursor usage limit)
This was referenced Sep 15, 2026
Closed
GoKubar
added a commit
that referenced
this pull request
Sep 15, 2026
…ntegration queue) - protocol.rs: #651's size-first envelope refusal kept whole; this branch's contribution grafted in — the refusal's capability echo also filters -only and -window, since nothing sibling-shaped was accepted. - memsize.rs / memprofile.rs: this branch's window-aware versions are supersets of the #232 versions main landed; kept ours. - typeset.rs: comment-only (derived-carets note on the math assembly). Implementation-Agent: fable-ft070 Commit-Executor: fable-ft070 (direct; Cursor usage limit)
GoKubar
added a commit
that referenced
this pull request
Sep 15, 2026
…ted-latex docs Only conflict was docs/user/compiler.md (generated); resolved by re-running crates/compiler/scripts/render_supported_latex.sh, never hand-merged. apps/mac/scripts/sync-supported-latex.sh reports the bundled copy current. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Xd5Hmwh5GHNTiAmHUJ1MZu
GoKubar
added a commit
that referenced
this pull request
Sep 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
One integration branch carrying four open compiler PRs so they land as a unit, each merged with
--no-ffto preserve the contributors' commits and authorship. Merging this PR lands all of them:\mathrm/\mathit/\mathbfrun splitting keeps the math minus (GH-MATHRM-MINUS). Resolved against main's TextPiece text groups (compiler + math-layout: \tag and \text can contain math — a TextRun nucleus with nested $…$ (#441, PR 1 of 2) #470): the\mathbfarm now splits plain-text pieces at-throughsplit_hyphen_runs/boldand keeps main'sNucleus::TextRunfor mixed text/math arguments.\textbullet,\textperiodcentered,\textregistered,\texttrademark(GH-TEXT-SYMBOLS-1). Git had spliced the PR's text-symbol arm into main's refactoredvertical_commandfamily; reconstructed: main'scolumnbreak/newcolumnarm kept intact, the four names added to the text-symbol arm of the family dispatch.docs/user/compiler.mdregenerated withrender_supported_latex.sh; mac bundledsupported-latex.jsonsynced and--checkbyte-identical.expand.rs;configure()keeps main'sdeclare_host_assignmentforflashtexsetlength/flashtexaddtolengthand adds the PR'sflashtexsetlistdonehost command.\fracis Ord, exact nesting limits, lexer doc fix. Kept main's once-per-floodconditional_limit_reportedstructure (from the compiler, tex-expansion: a runaway document is expanded once per compile (stacked on #601) #610 stack) with the PR's exact>=depth comparison.Not carried: #577, #592, #601 — their branch heads are all ancestors of #610's merged head (
a9f311e5), so their entire content already landed on main via #610 (merged 2026-09-15T15:35Z, bd1cbc6). They should be closed as landed-via-integration, not re-merged: their heads carry older versions of the fuzz tooling that would regress main.Verification (combined head 0507f49)
cargo test --release -p flashtex-compiler --no-run— compiles clean (run first, separately).cargo build --release --locked— compiler, tex-expansion, bridge all clean.apps/mac/scripts/sync-supported-latex.sh --check— bundled copy byte-identical (d90c57699b56).🤖 Generated with Claude Code
https://claude.ai/code/session_01Xd5Hmwh5GHNTiAmHUJ1MZu