summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-01-29 22:32:30 +0100
committerLaurenz <laurmaedje@gmail.com>2022-01-29 22:32:57 +0100
commitaeb036f4dc2ede271d6c0710e91fae605ecdac84 (patch)
tree1941fc92ba7240c1026a5f52e3a49496350f0255 /src
parent44ebefbec23114d6ed7a96e7e3cb9078441aff31 (diff)
Fix that templates don't create a scope
Diffstat (limited to 'src')
-rw-r--r--src/eval/mod.rs9
-rw-r--r--src/library/mod.rs4
-rw-r--r--src/library/place.rs (renamed from src/library/placed.rs)0
3 files changed, 8 insertions, 5 deletions
diff --git a/src/eval/mod.rs b/src/eval/mod.rs
index 05fa7eba..2fa07d49 100644
--- a/src/eval/mod.rs
+++ b/src/eval/mod.rs
@@ -187,7 +187,7 @@ fn process_nodes(
ctx: &mut EvalContext,
nodes: &mut impl Iterator<Item = MarkupNode>,
) -> TypResult<Node> {
- let prev = mem::take(&mut ctx.styles);
+ let prev_styles = mem::take(&mut ctx.styles);
let mut seq = Vec::with_capacity(nodes.size_hint().1.unwrap_or_default());
while let Some(piece) = nodes.next() {
// Need to deal with wrap here.
@@ -201,7 +201,7 @@ fn process_nodes(
seq.push(Styled::new(node, ctx.styles.clone()));
}
- ctx.styles = prev;
+ ctx.styles = prev_styles;
Ok(Node::Sequence(seq))
}
@@ -461,7 +461,10 @@ impl Eval for TemplateExpr {
type Output = Node;
fn eval(&self, ctx: &mut EvalContext) -> TypResult<Self::Output> {
- self.body().eval(ctx)
+ ctx.scopes.enter();
+ let node = self.body().eval(ctx)?;
+ ctx.scopes.exit();
+ Ok(node)
}
}
diff --git a/src/library/mod.rs b/src/library/mod.rs
index 81c8fcdc..44f8f947 100644
--- a/src/library/mod.rs
+++ b/src/library/mod.rs
@@ -17,7 +17,7 @@ pub mod list;
pub mod pad;
pub mod page;
pub mod par;
-pub mod placed;
+pub mod place;
pub mod shape;
pub mod spacing;
pub mod stack;
@@ -40,7 +40,7 @@ pub use list::*;
pub use pad::*;
pub use page::*;
pub use par::*;
-pub use placed::*;
+pub use place::*;
pub use shape::*;
pub use spacing::*;
pub use stack::*;
diff --git a/src/library/placed.rs b/src/library/place.rs
index cee687fa..cee687fa 100644
--- a/src/library/placed.rs
+++ b/src/library/place.rs