summaryrefslogtreecommitdiff
path: root/src/library/align.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2020-10-19 13:05:54 +0200
committerLaurenz <laurmaedje@gmail.com>2020-10-19 13:05:54 +0200
commitee38c6aa9adefe4ca3ddc4aef22a216d7fb4c048 (patch)
tree47aeb7f620785c59cd0436adb929436b4aa98955 /src/library/align.rs
parent91e512069396f1de616ec2b0fe0cd31a76e7f2e9 (diff)
Allow configuration of directions in page and box ↗
Diffstat (limited to 'src/library/align.rs')
-rw-r--r--src/library/align.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/library/align.rs b/src/library/align.rs
index a54925f0..4f4a1750 100644
--- a/src/library/align.rs
+++ b/src/library/align.rs
@@ -17,7 +17,6 @@ use std::fmt::{self, Display, Formatter};
/// There may not be two alignment specifications for the same axis.
pub fn align(mut args: Args, ctx: &mut EvalContext) -> Value {
let snapshot = ctx.state.clone();
-
let body = args.find::<SynTree>();
let first = args.get::<_, Spanned<AlignArg>>(ctx, 0);
let second = args.get::<_, Spanned<AlignArg>>(ctx, 1);
@@ -33,13 +32,14 @@ pub fn align(mut args: Args, ctx: &mut EvalContext) -> Value {
.chain(ver.into_iter().map(|align| (Some(SpecAxis::Vertical), align)));
let align = dedup_aligns(ctx, iter);
- if align.main != ctx.state.align.main {
+ let ends_par = align.main != ctx.state.align.main;
+ ctx.state.align = align;
+
+ if ends_par {
ctx.end_par_group();
ctx.start_par_group();
}
- ctx.state.align = align;
-
if let Some(body) = body {
body.eval(ctx);
ctx.state = snapshot;