From 0df96793ef6aa103df228d7dfe56099b7d721a15 Mon Sep 17 00:00:00 2001 From: Rocky Bernstein Date: Tue, 11 Aug 2009 15:59:33 +1000 Subject: [SHELL] Add preliminary LINENO support Looks like in contrast to what the dash.1 manual page says, expansion of PS{1,2,4} does work. Here is a little patch to set LINENO. The ways in that it is less than ideal mirror the ways that the line number error reporting is also less than ideal. For example if you run this: ( x=$((1/0)) # Just to add another line # And another ) # error reports this line The error reported will be the closing parenthesis even though I think most people would prefer the error to be the one where x was set. Signed-off-by: Herbert Xu --- src/input.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/input.c') diff --git a/src/input.c b/src/input.c index 1e198e9..e57ad76 100644 --- a/src/input.c +++ b/src/input.c @@ -53,6 +53,7 @@ #include "alias.h" #include "parser.h" #include "main.h" +#include "var.h" #ifndef SMALL #include "myhistedit.h" #endif @@ -528,3 +529,12 @@ closescript(void) parsefile->fd = 0; } } + + +int lineno_inc(void) +{ + int lineno = plinno++; + + setvarint("LINENO", lineno, 0); + return lineno; +} -- cgit 1.4.1