summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2021-03-12 18:48:11 +0100
committerLaurenz <laurmaedje@gmail.com>2021-03-12 18:48:11 +0100
commit1584b09708a81a96f52b20a29dfb36c04d6e71ab (patch)
treeb192df82590f9718658d152607e75d8ae3d9e73a /src/library
parentc3acb491e38d333acff6897479f7dd9c86fba307 (diff)
Fix pagebreak-in-box bug ✔
Diffstat (limited to 'src/library')
-rw-r--r--src/library/page.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/library/page.rs b/src/library/page.rs
index 963ab913..20d7f069 100644
--- a/src/library/page.rs
+++ b/src/library/page.rs
@@ -38,6 +38,7 @@ pub fn page(ctx: &mut EvalContext, args: &mut ValueArgs) -> Value {
let main = args.get(ctx, "main-dir");
let cross = args.get(ctx, "cross-dir");
let body = args.find::<ValueTemplate>(ctx);
+ let span = args.span;
Value::template("page", move |ctx| {
let snapshot = ctx.state.clone();
@@ -83,20 +84,21 @@ pub fn page(ctx: &mut EvalContext, args: &mut ValueArgs) -> Value {
}
ctx.set_dirs(Gen::new(main, cross));
- ctx.finish_page(false, Softness::Hard);
+ ctx.finish_page(false, Softness::Hard, span);
if let Some(body) = &body {
// TODO: Restrict body to a single page?
body.exec(ctx);
ctx.state = snapshot;
- ctx.finish_page(true, Softness::Soft);
+ ctx.finish_page(true, Softness::Soft, span);
}
})
}
/// `pagebreak`: Start a new page.
-pub fn pagebreak(_: &mut EvalContext, _: &mut ValueArgs) -> Value {
+pub fn pagebreak(_: &mut EvalContext, args: &mut ValueArgs) -> Value {
+ let span = args.span;
Value::template("pagebreak", move |ctx| {
- ctx.finish_page(true, Softness::Hard);
+ ctx.finish_page(true, Softness::Hard, span);
})
}