Fair enough.

On Wed, Apr 20, 2016 at 8:44 AM, Greg Wooledge <wool...@eeg.ccf.org> wrote:

> On Wed, Apr 20, 2016 at 08:30:48AM -0700, David Maas wrote:
> > So if you really want my opinion, the shell should be aware that it's in
> a
> > function.
>
> Agreed, unless it's really hard to do.
>
> > You could possibly implement this by keeping track of the parent
> > pid.
>
> Nonsense.  Function calls do not create a child process.  But the
> issue here has nothing to do with function calls in the first place.
> It's about parsing the script.
>
> You wanted this:
>
> a() {
>   an egregious syntax error
>   b
> }
>
> c
>
> To be parsed like this:
>
> c
>
> But bash parsed it like this:
>
>   b
> }
> c
>
> > Another solution would be to not check the syntax of the function
> > until the function is actually run.
>
> Then how do you know where the function definition ends?  You have to
> parse the function definition at the time you are reading that piece
> of the script.
>
> Could the parser's error handling be improved?  Certainly.  But I won't
> be the one to write it, and I don't feel it's fair to demand that Chet
> write it either.  At some point, the script programmer has to take
> responsibility for the script's errors.
>

Reply via email to