Commit 75f9a32
committed
fix(tostring): recurse into nested inline elements inside bold/italic
md_str.bold(), md_str.italic(), and md_str.bold_italic() stripped
their delimiter characters but returned the raw inner text without
further processing. This meant nested inline constructs like links,
images, or code spans inside emphasis were never resolved.
For example, **[bold link](https://example.com)** produced the visual
string "[bold link](https://example.com)" (width 32) instead of the
correct " bold link" (width 11), causing massive column width
miscalculations in rendered tables.
Pass the stripped inner text through md_str.tostring() so that nested
inline elements (hyperlinks, images, code spans, etc.) are properly
reduced to their visual representation. This mirrors the established
pattern already used in the sibling module visual_text.lua, where
md_delims_star() calls visual.markdown(inner).1 parent 38a14a4 commit 75f9a32
2 files changed
Lines changed: 36 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
168 | 168 | | |
169 | 169 | | |
170 | 170 | | |
171 | | - | |
| 171 | + | |
172 | 172 | | |
173 | 173 | | |
174 | 174 | | |
| |||
192 | 192 | | |
193 | 193 | | |
194 | 194 | | |
195 | | - | |
| 195 | + | |
| 196 | + | |
196 | 197 | | |
197 | 198 | | |
198 | 199 | | |
| |||
339 | 340 | | |
340 | 341 | | |
341 | 342 | | |
342 | | - | |
| 343 | + | |
343 | 344 | | |
344 | 345 | | |
345 | 346 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
0 commit comments