summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLlewellyn Pritchard <xacc.ide@gmail.com>2022-09-29 22:30:44 +0200
committerLlewellyn Pritchard <xacc.ide@gmail.com>2022-09-29 22:30:44 +0200
commit2d8013f8841d68e77e77764755c49cf7858be7f5 (patch)
tree3ea47fd366437b0cf81a70d73d7bcef13fe51dc4
parent61ffc3fd3c1a8874c7b38c31699531bfeab3b885 (diff)
Fix REPL regression with symbols in .3121.0.314
-rw-r--r--IronScheme/IronScheme/Hosting/IronSchemeScriptEngine.cs13
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();
}