Skip to content

Commit 14775b9

Browse files
authored
fix traced_apply_function (#1479)
This PR fixes #1473 and one part of #1478.
1 parent 505fbc4 commit 14775b9

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

mathics/builtin/trace.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,22 @@ def traced_apply_function(
5151
vars_noctx = dict(((strip_context(s), vars[s]) for s in vars))
5252
builtin_name = self.function.__qualname__.split(".")[0]
5353
stat = TraceBuiltins.function_stats[builtin_name]
54+
prev_expression = evaluation.current_expression
55+
evaluation.current_expression = expression
5456
t_start = time()
5557

5658
stat["count"] += 1
5759
if options:
58-
result = self.function(evaluation=evaluation, options=options, **vars_noctx)
60+
result = (
61+
self.function(evaluation=evaluation, options=options, **vars_noctx)
62+
or expression
63+
)
5964
else:
60-
result = self.function(evaluation=evaluation, **vars_noctx)
65+
result = self.function(evaluation=evaluation, **vars_noctx) or expression
6166
t_end = time()
6267
elapsed = (t_end - t_start) * 1000
6368
stat["elapsed_milliseconds"] += elapsed
69+
evaluation.current_expression = prev_expression
6470
return result
6571

6672

0 commit comments

Comments
 (0)