Change #273328
| Category | None |
| Changed by | Michael Grant <mgrant@grant.org> |
| Changed at | Tue 30 Jun 2026 10:40:19 |
| Repository | https://api.github.com/repos/tmux/tmux |
| Project | tmux/tmux |
| Branch | 5211-fix-select-layout-list-windows |
| Revision | f9d31962b29755aa80dbe57d9f44a2acba8103ef |
Comments
Cleanup work
Key changes:
- Added a prepared-layout API in layout-custom.c:
- Parse and validate once.
- Retain the validated temporary tree.
- Apply through a no-failure, consuming operation.
- Multi-window layouts prepare every record before changing any window.
- Removed duplicate parsing, recalculation, and notification work.
- Restored very old legacy layouts where pane IDs are absent.
- Added structural validation before and after surplus-cell pruning.
- Split pane-ID uniqueness and matching logic.
- Renamed LAYOUT_FORMAT_NEW to LAYOUT_FORMAT.
- Kept LAYOUT_CELL_HIDDEN as the requested serialization/rendering marker
only.
- Updated documentation and regression coverage, including:
- Historical bb62,... layouts.
- Malformed discarded cells.
- Maximum parser nesting depth.
Changed files
- cmd-select-layout.c
- layout-custom.c
- regress/layout-custom.sh
- tmux.1
- tmux.h