-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Problem
Several files have critical table conversion failures including completely missing tables, broken formatting, and missing table cells.
Issues by File
diagnostics.md - Missing BNF Grammar Content (CRITICAL)
Lines 1680-1699:
Entire BNF production is missing from the grammar specification for stacktrace formatting.
Current output:
<div class="ncbnf">
</div>Expected output:
<div class="ncbnf">
*stacktrace-entry-format-spec:*
*fill-and-align*_opt *width*_opt
</div>Missing: Complete grammar production that defines stacktrace format specification syntax.
future.md - Tables Broken/Missing (CRITICAL)
Problem 1: 4 tables with broken formatting (lines 434-656)
Tables are rendered as plain text with metadata mixed in, instead of proper table structure.
Example (lines 434-442):
<div class="libtab2">
`strstreambuf(void* (*)(size_t), void (*)(void*))` effects
depr.strstreambuf.cons.alloc ll ElementValue `strmode` & `dynamic`
`alsize` & an unspecified value Expected:
<div class="libtab2">
| Element | Value |
|---------|-------|
| `strmode` | `dynamic` |
| `alsize` | an unspecified value |Affected tables:
- depr.strstreambuf.cons.alloc (lines 434-442)
- depr.strstreambuf.cons.ptr (lines 456-464)
- depr.strstreambuf.seekoff.pos (lines 630-641)
- depr.strstreambuf.seekoff.newoff (lines 647-656)
Problem 2: 1 table completely missing
The table depr.strstreambuf.cons.sz is referenced but completely absent from the output (should appear around line 424).
time.md - Missing Table Cells (CRITICAL)
Lines 7543 and 7889:
The %z specifier row is missing its first column in two tables, causing format specification to be incomplete.
Current output (line 7543):
| ... |
| . Writes offset from UTC in the ISO 8601 format. |Expected output:
| ... |
| `%z` | Writes offset from UTC in the ISO 8601 format. |Affected tables:
- Line 7543: Time formatting table
- Line 7889: Time parsing table
Both tables are missing the %z format specifier in the first column.
Impact
- Severity: CRITICAL for all three files
- diagnostics.md: Stacktrace format specification is incomplete/unusable
- future.md: 4 critical tables unreadable + 1 table completely missing
- time.md: Time formatting/parsing tables incomplete
Root Cause
diagnostics.md
The BNF grammar filter is not properly extracting/converting \fmtgrammarterm{} macros within ncbnf environments.
future.md
The libtab2 table environment is not being properly parsed by Pandoc or the table filter. Table metadata (label, column format specs) is being rendered as content instead of being used to structure the table.
time.md
Multiline table cells containing \rowsep (row separator) are confusing the table parser, causing cell content to be merged or lost.
Reproduction
diagnostics.md:
- Open
n4950/diagnostics.md - Navigate to lines 1680-1699
- Observe empty
<div class="ncbnf">block
future.md:
- Open
n4950/future.md - Navigate to lines 434-442 (or any of the 4 affected tables)
- Observe plain text instead of table structure
- Search for "depr.strstreambuf.cons.sz" - table is missing entirely
time.md:
- Open
n4950/time.md - Navigate to line 7543 or 7889
- Observe missing
%zin first column
Related Files
src/cpp_std_converter/filters/cpp-tables.lua- Table processingsrc/cpp_std_converter/filters/cpp-grammar.lua- Grammar processing- May need to handle special table environments:
libtab2, multiline cells with\rowsep
Priority
All three issues are CRITICAL as they make important reference tables unusable or incomplete.