What's new
- Rendered tables always fit the window: the pixel budget is clamped to the window's pixel width, so tables no longer overflow when
fixed-pitchanddefaultuse fonts with different character widths (for example Iosevka plus the stock Courierfixed-pitchon macOS) or aftertext-scale-adjust. - Better column widths: each column's minimum is its longest unbreakable token (capped at half the available width), and extra space is shared from those minimums. Short columns keep their natural width instead of being squeezed to one character by a long neighbouring cell.
- Smooth window resizing: relayout is debounced behind the new
md-mode-table-relayout-delayoption (0.15 s idle by default,0for the old immediate behaviour), so dragging a frame edge no longer relayouts on every step. - Measurement cache: cell pixel measurements are cached per buffer and invalidated when fonts change, so repeated relayouts only measure text that wraps at new positions. On a four-column mixed-language demo table a repeat relayout dropped from about 660 ms to under 100 ms.
- README now explains how to keep
fixed-pitchanddefaulton the same family.
Demo
md-mode-0.4.1-table-resize.mp4 (attached below) shows a multilingual table with Chinese, Japanese, Korean, English, emoji and inline code cells reflowing while the window is resized.
PixPin_2026-09-06_23-56-29.mp4
Requirement
Rendered Markdown containing tables requires TextUI 0.8.0 or newer: https://github.com/yibie/textui/releases/tag/v0.8.0
Verification
- 259 ERT tests pass.
- md-mode.el and md-render.el byte-compile without warnings.