From 7c609859ee3fd7c40c7685df7b811a50a4071ace Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Sun, 28 Jun 2020 15:52:05 +0200 Subject: [PATCH] bistromathic: don't display undefined locations Currently, completion when there is a syntax error shows broken locations. * examples/c/bistromathic/parse.y (expected_tokens): Initialize the location. * examples/c/bistromathic/bistromathic.test: Check that. --- examples/c/bistromathic/bistromathic.test | 14 ++++++++++++++ examples/c/bistromathic/parse.y | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/examples/c/bistromathic/bistromathic.test b/examples/c/bistromathic/bistromathic.test index c2d3dc37..7301fb8b 100755 --- a/examples/c/bistromathic/bistromathic.test +++ b/examples/c/bistromathic/bistromathic.test @@ -306,3 +306,17 @@ end of file exit exp '' 0 > '' err: ' + +# Check that completion when there is an error prints valid locations. +sed -e 's/\\t/ /g' >input < (1++2) + 3 + +( - atan cos exp ln number sin sqrt +> (1++2) + 3 + +> +err: 1.1: syntax error: expected - or ( or number or function or variable before + +err: 1.1: syntax error: expected - or ( or number or function or variable before + +err: 1.4: syntax error: expected - or ( or number or function or variable before + +err: 1.13: syntax error: expected - or ( or number or function or variable before end of file +' diff --git a/examples/c/bistromathic/parse.y b/examples/c/bistromathic/parse.y index 69c0dd12..97b60bc9 100644 --- a/examples/c/bistromathic/parse.y +++ b/examples/c/bistromathic/parse.y @@ -447,7 +447,7 @@ expected_tokens (const char *input, yypstate *ps = yypstate_new (); int status = 0; do { - YYLTYPE lloc; + YYLTYPE lloc = { 1, 1, 1, 1 }; YYSTYPE lval; int token = yylex (&input, &lval, &lloc); // Don't let the parse know when we reach the end of input.