This is an update of the CRAN package simPDF 0.1.1. It fixes one bug; there are no user-visible interface changes.
.place_block(), the flow engine's placement loop, crashed with
"attempt to apply non-function" when a block's height equalled the space left
on the page to within floating-point error. In that case the block's
split() method — which uses a 1e-9 pt tolerance — reported the whole block
as fitting (head = <the block>, tail = NULL), and the loop then measured
the NULL tail. The loop now
- treats a block as fitting when its height exceeds the remaining space by
less than 1e-9 pt, the same tolerance the
split()methods use, and - stops cleanly when a split returns no tail, instead of opening a page for it.
.block_seq() likewise returns tail = NULL rather than an empty sequence
block when a split consumes every sub-block, which also removes a spurious
trailing blank page. Both edges are covered by new regression tests in
inst/tinytest/test_flow.R (they fail on 0.1.1 and pass here).
No exported function was added, removed or changed.
- local Windows 11, R 4.6.1
- win-builder, R-devel — to be added before submission
- win-builder, R-release — to be added before submission
Local R CMD check --as-cran (R 4.6.1 on Windows 11):
- 0 errors, 0 warnings, 1 note.
The single NOTE is the local-only
* checking for detritus in the temp directory ... NOTE
Found the following files/directories:
'lastMiKTeXException'
left by this machine's MiKTeX installation while building the reference manual; it is not produced by the package.
The vignette re-builds cleanly and the tinytest suite passes (33 tests,
including the automated bounding-box checks that assert reports render with
zero overlapping text, and the two new pagination-edge tests).
There are no reverse dependencies on CRAN
(tools::package_dependencies("simPDF", reverse = TRUE)).
The maintainer's nmw package (next release, 0.6.1) will declare
Imports: simPDF (>= 0.1.2): it currently works around this bug by catching
the error, and that workaround is removed in favour of the fix. nmw will
therefore be submitted after this release is on CRAN.