Bug 101 - Nyquist implementation: (dribble [fname]) function

This commit is contained in:
Leland Lucius 2021-01-28 19:54:21 -06:00
parent a7c1906bf5
commit bcb4bb91c7
1 changed files with 11 additions and 0 deletions

View File

@ -862,11 +862,17 @@ nyx_rval nyx_eval_expression(const char *expr_string)
while (nyx_expr_pos < nyx_expr_len) {
expr = NULL;
// Simulate the prompt
stdputstr("> ");
// Read an expression
if (!xlread(getvalue(s_stdin), &expr, FALSE)) {
break;
}
// Simulate the prompt
ostputc('\n');
#if 0
/* save the input expression (so the user can refer to it
as +, ++, or +++) */
@ -875,6 +881,9 @@ nyx_rval nyx_eval_expression(const char *expr_string)
// Evaluate the expression
nyx_result = xleval(expr);
// Print it
stdprint(nyx_result);
}
// This will unwind the xlisp context and restore internals to a point just
@ -1204,12 +1213,14 @@ int ostgetc()
{
if (nyx_expr_pos < nyx_expr_len) {
fflush(stdout);
ostputc(nyx_expr_string[nyx_expr_pos]);
return (nyx_expr_string[nyx_expr_pos++]);
}
else if (nyx_expr_pos == nyx_expr_len) {
/* Add whitespace at the end so that the parser
knows that this is the end of the expression */
nyx_expr_pos++;
ostputc('\n');
return '\n';
}