diff options
| author | Laurenz <laurmaedje@gmail.com> | 2022-01-29 22:32:30 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2022-01-29 22:32:57 +0100 |
| commit | aeb036f4dc2ede271d6c0710e91fae605ecdac84 (patch) | |
| tree | 1941fc92ba7240c1026a5f52e3a49496350f0255 /src | |
| parent | 44ebefbec23114d6ed7a96e7e3cb9078441aff31 (diff) | |
Fix that templates don't create a scope
Diffstat (limited to 'src')
| -rw-r--r-- | src/eval/mod.rs | 9 | ||||
| -rw-r--r-- | src/library/mod.rs | 4 | ||||
| -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 |
