[FIX] strip NUL padding from token content before rendering (CJK grid tables) (#95) #96
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.
Issue
#95
Summary
This PR fixes a crash when converting an
.rstfile that contains a grid table with double-width characters (e.g. Japanese).Root cause: Docutils pads double-width characters during table parsing by temporarily inserting a NUL (\x00) sentinel. In the RST→MyST path (Docutils AST → markdown-it tokens → renderer), that NUL can remain in token content and reach the Markdown renderer, which then errors out.
Fix: Right before rendering, recursively strip \x00 from token content. This keeps the renderer from ever seeing embedded NULs. The change is minimal and localized to the rendering step.
Minimal Reproduction
test.rstBefore
After
test
pre-commit result