@@ -255,7 +255,7 @@ def parse_feeder_returning_code(self, feeder):
255255 feeder .send_messages (self )
256256 return result , source_code
257257
258- def evaluate (self , query : str , timeout = None ):
258+ def evaluate (self , query : str , timeout = None , format = None ):
259259 """Evaluate a Mathics expression and return the
260260 result of evaluation.
261261
@@ -270,6 +270,8 @@ def evaluate(self, query: str, timeout=None):
270270 self .timeout = False
271271 self .stopped = False
272272 self .exc_result = self .SymbolNull
273+ if format is None :
274+ format = self .format
273275
274276 line_no = self .definitions .get_line_no ()
275277 line_no += 1
@@ -306,7 +308,7 @@ def evaluate():
306308 if result != self .SymbolNull :
307309 if check_io_hook ("System`$PrePrint" ):
308310 result = Expression ("System`$PrePrint" , result ).evaluate (self )
309- return self .format_output (result , self . format )
311+ return self .format_output (result , format )
310312 else :
311313 self .exec_result = self .SymbolNull
312314 return None
@@ -350,7 +352,7 @@ def evaluate():
350352 if self .exc_result is not None :
351353 self .recursion_depth = 0
352354 if self .exc_result != self .SymbolNull :
353- result = self .format_output (self .exc_result , self . format )
355+ result = self .format_output (self .exc_result , format )
354356
355357 result = Result (self .out , result , line_no )
356358 self .out = []
@@ -393,6 +395,8 @@ def format_output(self, expr, format=None):
393395 result = Expression ("StandardForm" , expr ).format (self , "System`MathMLForm" )
394396 elif format == "tex" :
395397 result = Expression ("StandardForm" , expr ).format (self , "System`TeXForm" )
398+ elif format == "unformatted" :
399+ return result
396400 else :
397401 raise ValueError
398402
0 commit comments