mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-27 11:37:59 -06:00
fix(automation): hide_text_block resolves its number like text_edit, and a merged paragraph is not followed (#2516)
page_render's hide_text_block used the paragraph number as a position in the page's current paragraphs, so after an edit regrouped the page it hid a different paragraph from the one text_edit would rewrite. It now resolves the number against the text_paragraphs listing and is refused when the paragraph is gone. text_edit also accepted any overlapping paragraph that contained the requested text as the edited one. When the edit merged the paragraph into a neighbour, the merged paragraph contains that text too, so the number followed it and a second edit by that number dropped the neighbour's text. The edited paragraph must now show exactly the requested text; a merged one leaves the number stale. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5.5
parent
570e6c0564
commit
acacf9485f
@@ -99,9 +99,10 @@ is included in the repository.
|
||||
|
||||
A paragraph's number is its position in a list that is regrouped from geometry on every read,
|
||||
so an edit that merges two paragraphs, or splits one, moves the others. After `text_paragraphs`
|
||||
the numbers name the paragraphs *that listing showed*: `text_edit` and `text_edit_layout` find
|
||||
the paragraph again by its text and box, so editing paragraph 3 then paragraph 1 still edits the
|
||||
two the listing showed. A paragraph an edit merged into a neighbour (or changed) is refused with
|
||||
the numbers name the paragraphs *that listing showed*: `text_edit`, `text_edit_layout` and
|
||||
`page_render`'s `hide_text_block` find the paragraph again by its text and box, so editing paragraph 3 then paragraph 1 still edits the
|
||||
two the listing showed. A paragraph an edit merged into a neighbour (or changed) is refused, and so is the edited paragraph
|
||||
itself when the edit merged it into one, with
|
||||
a message to list the page again, instead of rewriting whichever paragraph took its number
|
||||
(#2516). The result of an edit names the numbers that are gone in `stale_paragraphs`. Listing
|
||||
a page again renumbers it. Without a listing, a number is a position in the page's current
|
||||
|
||||
Reference in New Issue
Block a user