Skip to content

Tables broken, missing, or incomplete in multiple files #23

@lefticus

Description

@lefticus

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:

  1. Open n4950/diagnostics.md
  2. Navigate to lines 1680-1699
  3. Observe empty <div class="ncbnf"> block

future.md:

  1. Open n4950/future.md
  2. Navigate to lines 434-442 (or any of the 4 affected tables)
  3. Observe plain text instead of table structure
  4. Search for "depr.strstreambuf.cons.sz" - table is missing entirely

time.md:

  1. Open n4950/time.md
  2. Navigate to line 7543 or 7889
  3. Observe missing %z in first column

Related Files

  • src/cpp_std_converter/filters/cpp-tables.lua - Table processing
  • src/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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcriticalCritical priority issue

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions