diff --git a/examples/c/bistromathic/bistromathic.test b/examples/c/bistromathic/bistromathic.test index f42fb29d..ad614283 100755 --- a/examples/c/bistromathic/bistromathic.test +++ b/examples/c/bistromathic/bistromathic.test @@ -79,3 +79,18 @@ cat >input < 1 / 0 > err: 1.1-5: error: division by zero' + + +## ------------ ## +## Completion. ## +## ------------ ## + +sed -e 's/\\t/ /g' >input < ( 1 + +( cos ln +- double precision number sin +atan exp sqrt +> ( 1 + +> err: 1.7: syntax error: expected - or ( or double precision number or function or variable before end of file' diff --git a/examples/c/bistromathic/parse.y b/examples/c/bistromathic/parse.y index 4591b64f..971f9b56 100644 --- a/examples/c/bistromathic/parse.y +++ b/examples/c/bistromathic/parse.y @@ -356,7 +356,9 @@ expected_tokens (const char *input, // Then query for the accepted tokens at this point. yyparse_context_t yyctx = {ps->yyssp, YYEMPTY, &lloc, ps->yyesa, &ps->yyes, &ps->yyes_capacity}; - return yyexpected_tokens (&yyctx, tokens, ntokens); + int res = yyexpected_tokens (&yyctx, tokens, ntokens); + yypstate_delete (ps); + return res; } /* Attempt to complete on the contents of TEXT. START and END bound the