|
@@ -256,6 +256,9 @@ namespace NTERA.Engine.Runtime.Base
|
|
|
var flags = ParsePrintFlags(node["name"].Substring(9));
|
|
|
var value = runtime.ComputeExpression(context, node.Single());
|
|
|
runtime.Console.Write(value.ToString(), flags);
|
|
|
+ if (flags.Wait) {
|
|
|
+ runtime.InputResetEvent.WaitOne();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
[Keyword("PRINT", true, false)]
|
|
@@ -272,6 +275,9 @@ namespace NTERA.Engine.Runtime.Base
|
|
|
var flags = ParsePrintFlags(node["name"].Substring(5));
|
|
|
var value = runtime.ComputeExpression(context, node.Single());
|
|
|
runtime.Console.Write(value.ToString(), flags);
|
|
|
+ if (flags.Wait) {
|
|
|
+ runtime.InputResetEvent.WaitOne();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private class PrintDataOptions
|
|
@@ -316,7 +322,11 @@ namespace NTERA.Engine.Runtime.Base
|
|
|
throw new ArgumentException("No DATAFORM found before ENDDATA");
|
|
|
}
|
|
|
var value = runtime.ComputeExpression(context, CurrentPrintDataOptions.ChosenNode);
|
|
|
- runtime.Console.Write(value.ToString(), CurrentPrintDataOptions.Flags);
|
|
|
+ var flags = CurrentPrintDataOptions.Flags;
|
|
|
+ runtime.Console.Write(value.ToString(), flags);
|
|
|
+ if (flags.Wait) {
|
|
|
+ runtime.InputResetEvent.WaitOne();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|