Skip to content

feat: w:cantSplit on table rows and w:keepLines on paragraphs (#3, conflict resolved) - #5

Merged
dskripchenko merged 4 commits into
mainfrom
merge/pr-3-cant-split-keep-lines
Oct 20, 2026
Merged

dskripchenko merged 4 commits into
mainfrom
merge/pr-3-cant-split-keep-lines

Conversation

@dskripchenko

Copy link
Copy Markdown
Owner

Carries #3 by @serpentblade unchanged (three commits, authorship kept) plus one merge of main that joins the two [Unreleased] sections of CHANGELOG.md — #3 and #4 each opened their own. The fork does not allow maintainer edits, so the resolution lives here; merging this PR marks #3 as merged.

  • phpunit: OK (420 tests, 1068 assertions)
  • composer stan: no errors

🤖 Generated with Claude Code

serpentblade and others added 4 commits October 19, 2026 12:18
A list item's numPr was prefixed onto the finished w:pPr string, right
after pStyle. CT_PPrBase is a sequence, so numPr must follow keepNext,
keepLines and pageBreakBefore. renderParagraphProperties() now takes the
numPr and writes it at its position. Output is unchanged today; it keeps
the order valid once those elements are written.
ParagraphStyle::$keepWithNext was read from DOCX and serialized to HTML
(break-after: avoid) but never written by the Word2007 writer. It is now
written in CT_PPrBase order: after pStyle, before numPr and pBdr.
TableRow::$cantSplit / TableRowBuilder::cantSplit() and
ParagraphStyle::$keepLines are written by the Word2007 writer (keepLines
after keepNext and before numPr and pBdr; cantSplit first in w:trPr),
read back by TableReader / OoxmlPropertyParser, and serialized to HTML
as break-inside: avoid.
#3 and #4 each opened their own [Unreleased] section; the two are joined.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@dskripchenko
dskripchenko merged commit 2cdfea4 into main Oct 20, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants