Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #14576

Re: error message for missing fi is not helpful

Path csiph.com!xmission!news.snarked.org!news.linkpendium.com!news.linkpendium.com!panix!usenet.stanford.edu!not-for-mail
From L A Walsh <bash@tlinx.org>
Newsgroups gnu.bash.bug
Subject Re: error message for missing fi is not helpful
Date Wed, 12 Sep 2018 19:29:01 -0700
Lines 91
Approved bug-bash@gnu.org
Message-ID <mailman.706.1536805765.1284.bug-bash@gnu.org> (permalink)
References <12006574-8df4-d613-0603-51b77b703a3d@dwd.de> <3461cc07-6477-234b-83ea-30a6bc0c8d8c@case.edu>
NNTP-Posting-Host lists.gnu.org
Mime-Version 1.0
Content-Type multipart/mixed; boundary="------------020000030903040400060307"
X-Trace usenet.stanford.edu 1536805765 1886 208.118.235.17 (13 Sep 2018 02:29:25 GMT)
X-Complaints-To action@cs.stanford.edu
Cc Manuel Reiter <manuel.reiter@dwd.de>, bug-bash@gnu.org
To chet.ramey@case.edu
Envelope-to bug-bash@gnu.org
User-Agent Thunderbird
In-Reply-To <3461cc07-6477-234b-83ea-30a6bc0c8d8c@case.edu>
X-detected-operating-system by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] [fuzzy]
X-Received-From 173.164.175.65
X-BeenThere bug-bash@gnu.org
X-Mailman-Version 2.1.21
Precedence list
List-Id Bug reports for the GNU Bourne Again SHell <bug-bash.gnu.org>
List-Unsubscribe <https://lists.gnu.org/mailman/options/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=unsubscribe>
List-Archive <http://lists.gnu.org/archive/html/bug-bash/>
List-Post <mailto:bug-bash@gnu.org>
List-Help <mailto:bug-bash-request@gnu.org?subject=help>
List-Subscribe <https://lists.gnu.org/mailman/listinfo/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=subscribe>
Xref csiph.com gnu.bash.bug:14576

Show key headers only | View raw


[Multipart message — attachments visible in raw view] - view raw


On 9/12/2018 6:35 AM, Chet Ramey wrote:
> On 9/12/18 5:17 AM, Manuel Reiter wrote:
>
>   
>> Bash Version: 4.4
>> Patch Level: 12
>> Release Status: release
>>
>> ++ Description:
>>
>> When an if statement is not terminated by a fi, bash's error message is
>> not helpful in locating the problem.
>>     
>
> This is tough to do in a bison-generated parser. If someone would like to
> build the structures required to keep track of which conditional command
> the shell is currently parsing, and incorporate that into an error
> message, I'd be happy to look at it.
>
> Chet
>   
This isn't *exactly* what you wanted, but this gives the line number
of the last unmatched statement (but doesn't tell you what the statement
was).  The diff was against bash-4.4.23 (4.4 base w/23 patches)

I can't speak for formatting or base-specific function usage, but I don't
think there was any of those.

Anyway, if you store the word in a separate array where the line #
is stored, you _could_ list the matching word, but I suspect just the
line it started on would be enough for most users.

--- (eoftest.sh)
#!/bin/bash

if ((1)); then
    for i in 1 2 3; do



        echo wow

---
>  ./bash eoftest.sh                          
eoftest.sh: line 10: syntax error: unexpected end of file from line 4.

The wording was just what I threw in.  I don't _need_ attribution for
this if that makes it easier.





Back to gnu.bash.bug | Previous | Next | Find similar | Unroll thread


Thread

Re: error message for missing fi is not helpful L A Walsh <bash@tlinx.org> - 2018-09-12 19:29 -0700

csiph-web