summaryrefslogtreecommitdiff
path: root/crates/typst-eval/src
diff options
context:
space:
mode:
Diffstat (limited to 'crates/typst-eval/src')
-rw-r--r--crates/typst-eval/src/call.rs9
-rw-r--r--crates/typst-eval/src/math.rs6
2 files changed, 7 insertions, 8 deletions
diff --git a/crates/typst-eval/src/call.rs b/crates/typst-eval/src/call.rs
index 69b274bb..f59235c7 100644
--- a/crates/typst-eval/src/call.rs
+++ b/crates/typst-eval/src/call.rs
@@ -7,12 +7,11 @@ use typst_library::diag::{
use typst_library::engine::{Engine, Sink, Traced};
use typst_library::foundations::{
Arg, Args, Bytes, Capturer, Closure, Content, Context, Func, IntoValue,
- NativeElement, Scope, Scopes, Value,
+ NativeElement, Scope, Scopes, SymbolElem, Value,
};
use typst_library::introspection::Introspector;
use typst_library::math::LrElem;
use typst_library::routines::Routines;
-use typst_library::text::TextElem;
use typst_library::World;
use typst_syntax::ast::{self, AstNode, Ident};
use typst_syntax::{Span, Spanned, SyntaxNode};
@@ -402,16 +401,16 @@ fn wrap_args_in_math(
let mut body = Content::empty();
for (i, arg) in args.all::<Content>()?.into_iter().enumerate() {
if i > 0 {
- body += TextElem::packed(',');
+ body += SymbolElem::packed(',');
}
body += arg;
}
if trailing_comma {
- body += TextElem::packed(',');
+ body += SymbolElem::packed(',');
}
Ok(Value::Content(
callee.display().spanned(callee_span)
- + LrElem::new(TextElem::packed('(') + body + TextElem::packed(')'))
+ + LrElem::new(SymbolElem::packed('(') + body + SymbolElem::packed(')'))
.pack()
.spanned(args.span),
))
diff --git a/crates/typst-eval/src/math.rs b/crates/typst-eval/src/math.rs
index f93f147e..bfb54aa8 100644
--- a/crates/typst-eval/src/math.rs
+++ b/crates/typst-eval/src/math.rs
@@ -1,6 +1,6 @@
use ecow::eco_format;
use typst_library::diag::{At, SourceResult};
-use typst_library::foundations::{Content, NativeElement, Symbol, Value};
+use typst_library::foundations::{Content, NativeElement, Symbol, SymbolElem, Value};
use typst_library::math::{
AlignPointElem, AttachElem, FracElem, LrElem, PrimesElem, RootElem,
};
@@ -25,8 +25,7 @@ impl Eval for ast::MathText<'_> {
fn eval(self, _: &mut Vm) -> SourceResult<Self::Output> {
match self.get() {
- // TODO: change to `SymbolElem` when added
- MathTextKind::Character(c) => Ok(Value::Symbol(Symbol::single(c)).display()),
+ MathTextKind::Character(c) => Ok(SymbolElem::packed(c)),
MathTextKind::Number(text) => Ok(TextElem::packed(text.clone())),
}
}
@@ -114,6 +113,7 @@ impl Eval for ast::MathRoot<'_> {
type Output = Content;
fn eval(self, vm: &mut Vm) -> SourceResult<Self::Output> {
+ // Use `TextElem` to match `MathTextKind::Number` above.
let index = self.index().map(|i| TextElem::packed(eco_format!("{i}")));
let radicand = self.radicand().eval_display(vm)?;
Ok(RootElem::new(radicand).with_index(index).pack())