diff options
author | Llewellyn Pritchard <xacc.ide@gmail.com> | 2022-09-29 22:30:44 +0200 |
---|---|---|
committer | Llewellyn Pritchard <xacc.ide@gmail.com> | 2022-09-29 22:30:44 +0200 |
commit | 2d8013f8841d68e77e77764755c49cf7858be7f5 (patch) | |
tree | 3ea47fd366437b0cf81a70d73d7bcef13fe51dc4 | |
parent | 61ffc3fd3c1a8874c7b38c31699531bfeab3b885 (diff) |
Fix REPL regression with symbols in .3121.0.314
-rw-r--r-- | IronScheme/IronScheme/Hosting/IronSchemeScriptEngine.cs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/IronScheme/IronScheme/Hosting/IronSchemeScriptEngine.cs b/IronScheme/IronScheme/Hosting/IronSchemeScriptEngine.cs index 96ca6ee9..d1901e0a 100644 --- a/IronScheme/IronScheme/Hosting/IronSchemeScriptEngine.cs +++ b/IronScheme/IronScheme/Hosting/IronSchemeScriptEngine.cs @@ -30,10 +30,14 @@ namespace IronScheme.Hosting get { return (LanguageProvider as IronSchemeLanguageProvider).Console; }
}
+ static Callable write, display;
+
static string WriteFormat(object obj)
{
- var w = new IronScheme.Runtime.StringWriter();
- "(write {0} {1})".Eval(obj, w);
+ write = write ?? (Callable)"write".Eval();
+ var w = new StringWriter();
+ write.Call(obj, w);
+ // TODO: See why there is null re via se.Evaluate
return w.GetBuffer();
}
@@ -91,9 +95,10 @@ namespace IronScheme.Hosting }
}
- var w = new IronScheme.Runtime.StringWriter();
+ var w = new StringWriter();
w.WriteLine("Unhandled CLR exception reading input:");
- "(display {0} {1})".Eval(exception, w);
+ display = display ?? (Callable)"display".Eval();
+ display.Call(exception, w);
return w.GetBuffer();
}
|