From aeb036f4dc2ede271d6c0710e91fae605ecdac84 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Sat, 29 Jan 2022 22:32:30 +0100 Subject: [PATCH] Fix that templates don't create a scope --- Cargo.lock | 14 +++++++------- src/eval/mod.rs | 9 ++++++--- src/library/mod.rs | 4 ++-- src/library/{placed.rs => place.rs} | 0 tests/ref/style/wrap.png | Bin 10612 -> 24733 bytes tests/typ/code/block.typ | 7 +++++++ tests/typ/style/wrap.typ | 6 ++++++ 7 files changed, 28 insertions(+), 12 deletions(-) rename src/library/{placed.rs => place.rs} (100%) diff --git a/Cargo.lock b/Cargo.lock index 74035c539..ebda1f7d0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -399,9 +399,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.113" +version = "0.2.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eef78b64d87775463c549fbd80e19249ef436ea3bf1de2a1eb7e717ec7fab1e9" +checksum = "565dbd88872dbe4cc8a46e527f26483c1d1f7afa6b884a3bd6cd893d4f98da74" [[package]] name = "line-wrap" @@ -537,7 +537,7 @@ checksum = "db8bcd96cb740d03149cbad5518db9fd87126a10ab519c011893b1754134c468" [[package]] name = "pixglyph" version = "0.1.0" -source = "git+https://github.com/typst/pixglyph#b63319b30eb34bcd7f3f3bb4c253a0731bae4234" +source = "git+https://github.com/typst/pixglyph#da648abb60d0e0f4353cd7602652c832132e6a39" dependencies = [ "ttf-parser", ] @@ -769,18 +769,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.135" +version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cf9235533494ea2ddcdb794665461814781c53f19d87b76e571a1c35acbad2b" +checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.135" +version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dcde03d87d4c973c04be249e7d8f0b35db1c848c487bd43032808e59dd8328d" +checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" dependencies = [ "proc-macro2", "quote", diff --git a/src/eval/mod.rs b/src/eval/mod.rs index 05fa7ebad..2fa07d49e 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, ) -> TypResult { - 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.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 81c8fcdc2..44f8f947f 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 similarity index 100% rename from src/library/placed.rs rename to src/library/place.rs diff --git a/tests/ref/style/wrap.png b/tests/ref/style/wrap.png index 346da53f82e8729bde74e2c27502540cd9a9e8a5..82d1c34da1ebcf9bede740b63a25a273129f6e85 100644 GIT binary patch literal 24733 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 literal 10612 zcma*NWl&sEvo1UX0}MU{haiI_1Shz|;4TR+K?4cy4g(AtEChE65Zv7c4;tJdNN^_* z94_xUr|SEDoLhCDs=c~u@7>Glsnxx@J3?Jm4i}383jhG%D#%M~0suhJ^P>xXegTN% zSkVUn-Uus5OTPD9JX*1OPb^1?JQMt4B-w|;Ob3oMK|Rcyr;Mz&In*$(>+x~l*Bg?OabNdx0n^U z`WN8;1`LbRZSy?a=sN=_2>Cf{ruoCt&vPqFl>v&>o@sAjpZhV#tv#@~?kW$|6+z?7 z;Jx8Nb_6EOa6;`>OLCm^``@TNgtX6h!5Rkl|N}TbBN=oq-7bNg37#JGUjQs|r{Ut*K3VZ(z z0r3hpje1rRNzO@+W7b!kw6&&-62g*_9WrQz#9(TufT1IrP0Z4zFJa;RhJ9BBvqoiCGCjF4#M|>E0ng0H#WqA+>GG^z_*Shh4^nKOCH7eVk zBg9M?wiaK`8^yb$LYmaW&q!BSi8lDHU!@V!Nv|FO9}r{%JsEjNUzA?uy>ddIf)fvK&|P%7b!}z$>329Aauc3A!Pkp3TZ%dL{p#cSMId! zZpPL{5Y#_Q&}DmMXIu&lEt^A1D8w@iGa_^C>zPx)PJuk{iYcQR{Oqh5wm>b4nmn?a zgr~{h_4XjkGGmRxGGk0I1Q})urcEf;8QDiHr?2~Y^Sjx9zl@Dblc6v;IJ%XYFd&l5 zVP#<+u(~P!C~QR25HGZ${nvv>J(Oh;F-`t2ojzjbgcyrQY%_ri5N!F3dt4)s?pSpUC}LU&D-BE!(D_;`E60rnT*aE$ zs|4$Yi(x!f@L6C6ZDU3hxhOr1qsO~KJEs%P@?No$Y@lQin-!1Gq07o^G6*O!4u(5Q zKM{UnlQjs(ecnVl&*XPJmeG(M(>R89bKQybqOnd8+Ij>eKPR8sl;W8@u0n|Fypi3` zQrsuZu4>bsP+UscqDPaawT+LcT#V%gj|-&ke-dPET$G5-VChQnJ}*BN=B1o3A&C_} z2e^M_h#n3{xbBpL7>jcqT|Z(+b{GbO15hI)IUqXfAZQ)6^_c$5g}|~ zt}5Op?7i;KG`5&nRfKsKNHx8Zu6`a~ N}y(AbaT|BOn$fywieWR-`kpcCSFQ$Sw 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