summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shell/ash.c2
-rw-r--r--shell/ash_test/ash-misc/control_char3.right2
-rw-r--r--shell/ash_test/ash-misc/control_char4.right2
-rw-r--r--shell/ash_test/ash-misc/shift1.right2
-rw-r--r--shell/ash_test/ash-misc/tickquote1.right2
-rw-r--r--shell/ash_test/ash-parsing/groups_and_keywords2.right2
-rw-r--r--shell/ash_test/ash-psubst/emptytick.right4
-rw-r--r--shell/ash_test/ash-vars/param_expand_alt.right4
-rw-r--r--shell/ash_test/ash-vars/param_expand_assign.right14
-rw-r--r--shell/ash_test/ash-vars/param_expand_bash_substring.right10
-rw-r--r--shell/ash_test/ash-vars/param_expand_default.right2
-rw-r--r--shell/ash_test/ash-vars/param_expand_indicate_error.right32
-rw-r--r--shell/ash_test/ash-vars/var6.right4
-rw-r--r--shell/ash_test/ash-vars/var_LINENO3.right2
-rwxr-xr-xshell/ash_test/ash-vars/var_LINENO3.tests2
-rw-r--r--shell/hush_test/hush-vars/var_LINENO3.right2
-rwxr-xr-xshell/hush_test/hush-vars/var_LINENO3.tests2
17 files changed, 49 insertions, 41 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 79fa3ad..35dbb2f 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -14698,7 +14698,7 @@ int ash_main(int argc UNUSED_PARAM, char **argv)
// ^^ not necessary since now we special-case fd 0
// in save_fd_on_redirect()
- lineno = 1;
+ lineno = 0; // bash compat
// dash: evalstring(minusc, sflag ? 0 : EV_EXIT);
// The above makes
// ash -sc 'echo $-'
diff --git a/shell/ash_test/ash-misc/control_char3.right b/shell/ash_test/ash-misc/control_char3.right
index 283e02c..654005d 100644
--- a/shell/ash_test/ash-misc/control_char3.right
+++ b/shell/ash_test/ash-misc/control_char3.right
@@ -1 +1 @@
-SHELL: line 1: : not found
+SHELL: line 0: : not found
diff --git a/shell/ash_test/ash-misc/control_char4.right b/shell/ash_test/ash-misc/control_char4.right
index 2bf18e6..ec9d5fc 100644
--- a/shell/ash_test/ash-misc/control_char4.right
+++ b/shell/ash_test/ash-misc/control_char4.right
@@ -1 +1 @@
-SHELL: line 1: -: not found
+SHELL: line 0: -: not found
diff --git a/shell/ash_test/ash-misc/shift1.right b/shell/ash_test/ash-misc/shift1.right
index b53453c..fdba79f 100644
--- a/shell/ash_test/ash-misc/shift1.right
+++ b/shell/ash_test/ash-misc/shift1.right
@@ -1,5 +1,5 @@
2 3 4
-0: shift: line 1: Illegal number: -1
+0: shift: line 0: Illegal number: -1
1 2 3 4
2 3 4
3 4
diff --git a/shell/ash_test/ash-misc/tickquote1.right b/shell/ash_test/ash-misc/tickquote1.right
index 2e661bf..e55a31c 100644
--- a/shell/ash_test/ash-misc/tickquote1.right
+++ b/shell/ash_test/ash-misc/tickquote1.right
@@ -1 +1 @@
-./tickquote1.tests: line 1: syntax error: unterminated quoted string
+./tickquote1.tests: line 0: syntax error: unterminated quoted string
diff --git a/shell/ash_test/ash-parsing/groups_and_keywords2.right b/shell/ash_test/ash-parsing/groups_and_keywords2.right
index 3fcbeb6..2ce38fe 100644
--- a/shell/ash_test/ash-parsing/groups_and_keywords2.right
+++ b/shell/ash_test/ash-parsing/groups_and_keywords2.right
@@ -1,3 +1,3 @@
-./groups_and_keywords2.tests: eval: line 1: syntax error: unexpected ")"
+./groups_and_keywords2.tests: eval: line 2: syntax error: unexpected ")"
Fail:2
./groups_and_keywords2.tests: line 8: syntax error: unexpected ")"
diff --git a/shell/ash_test/ash-psubst/emptytick.right b/shell/ash_test/ash-psubst/emptytick.right
index 459c4f7..8fe9839 100644
--- a/shell/ash_test/ash-psubst/emptytick.right
+++ b/shell/ash_test/ash-psubst/emptytick.right
@@ -1,8 +1,8 @@
0
0
-./emptytick.tests: line 1: : Permission denied
+./emptytick.tests: line 2: : Permission denied
127
-./emptytick.tests: line 1: : Permission denied
+./emptytick.tests: line 3: : Permission denied
127
0
0
diff --git a/shell/ash_test/ash-vars/param_expand_alt.right b/shell/ash_test/ash-vars/param_expand_alt.right
index 1303f80..d10f120 100644
--- a/shell/ash_test/ash-vars/param_expand_alt.right
+++ b/shell/ash_test/ash-vars/param_expand_alt.right
@@ -1,5 +1,5 @@
-SHELL: line 1: syntax error: bad substitution
-SHELL: line 1: syntax error: bad substitution
+SHELL: line 0: syntax error: bad substitution
+SHELL: line 0: syntax error: bad substitution
__
_z_ _z_
_ _ _ _ _
diff --git a/shell/ash_test/ash-vars/param_expand_assign.right b/shell/ash_test/ash-vars/param_expand_assign.right
index 6e9ea13..52eaef9 100644
--- a/shell/ash_test/ash-vars/param_expand_assign.right
+++ b/shell/ash_test/ash-vars/param_expand_assign.right
@@ -1,11 +1,11 @@
-SHELL: line 1: syntax error: bad substitution
-SHELL: line 1: syntax error: bad substitution
-SHELL: line 1: syntax error: bad substitution
+SHELL: line 0: syntax error: bad substitution
+SHELL: line 0: syntax error: bad substitution
+SHELL: line 0: syntax error: bad substitution
0
-SHELL: line 1: 1: bad variable name
-SHELL: line 1: 1: bad variable name
-SHELL: line 1: 1: bad variable name
-SHELL: line 1: 1: bad variable name
+SHELL: line 0: 1: bad variable name
+SHELL: line 0: 1: bad variable name
+SHELL: line 0: 1: bad variable name
+SHELL: line 0: 1: bad variable name
_aa
_aa
_aa
diff --git a/shell/ash_test/ash-vars/param_expand_bash_substring.right b/shell/ash_test/ash-vars/param_expand_bash_substring.right
index 687dd90..22a0b28 100644
--- a/shell/ash_test/ash-vars/param_expand_bash_substring.right
+++ b/shell/ash_test/ash-vars/param_expand_bash_substring.right
@@ -1,8 +1,8 @@
-SHELL: line 1: syntax error: bad substitution
-SHELL: line 1: syntax error: bad substitution
-SHELL: line 1: syntax error: bad substitution
-SHELL: line 1: syntax error: bad substitution
-SHELL: line 1: syntax error: missing '}'
+SHELL: line 0: syntax error: bad substitution
+SHELL: line 0: syntax error: bad substitution
+SHELL: line 0: syntax error: bad substitution
+SHELL: line 0: syntax error: bad substitution
+SHELL: line 0: syntax error: missing '}'
0
1 =||
1:1 =||
diff --git a/shell/ash_test/ash-vars/param_expand_default.right b/shell/ash_test/ash-vars/param_expand_default.right
index 7a42f67..0852105 100644
--- a/shell/ash_test/ash-vars/param_expand_default.right
+++ b/shell/ash_test/ash-vars/param_expand_default.right
@@ -1,4 +1,4 @@
-SHELL: line 1: syntax error: bad substitution
+SHELL: line 0: syntax error: bad substitution
_0 _0
_ _ _ _word _word
_aaaa _aaaa _aaaa _aaaa _aaaa
diff --git a/shell/ash_test/ash-vars/param_expand_indicate_error.right b/shell/ash_test/ash-vars/param_expand_indicate_error.right
index 33aface..53ea071 100644
--- a/shell/ash_test/ash-vars/param_expand_indicate_error.right
+++ b/shell/ash_test/ash-vars/param_expand_indicate_error.right
@@ -1,14 +1,14 @@
-SHELL: line 1: syntax error: bad substitution
+SHELL: line 0: syntax error: bad substitution
1
0
====
_
-SHELL: line 1: 1: parameter not set
-SHELL: line 1: 1: parameter not set or null
-SHELL: line 1: 1: message1
-SHELL: line 1: 1: message1
-SHELL: line 1: 1: unset!
-SHELL: line 1: 1: null or unset!
+SHELL: line 0: 1: parameter not set
+SHELL: line 0: 1: parameter not set or null
+SHELL: line 0: 1: message1
+SHELL: line 0: 1: message1
+SHELL: line 0: 1: unset!
+SHELL: line 0: 1: null or unset!
====
_aaaa
_aaaa
@@ -19,20 +19,20 @@ _aaaa
_aaaa
====
_
-SHELL: line 1: f: parameter not set
-SHELL: line 1: f: parameter not set or null
-SHELL: line 1: f: message3
-SHELL: line 1: f: message3
-SHELL: line 1: f: unset!
-SHELL: line 1: f: null or unset!
+SHELL: line 0: f: parameter not set
+SHELL: line 0: f: parameter not set or null
+SHELL: line 0: f: message3
+SHELL: line 0: f: message3
+SHELL: line 0: f: unset!
+SHELL: line 0: f: null or unset!
====
_
_
-SHELL: line 1: f: parameter not set or null
+SHELL: line 0: f: parameter not set or null
_
-SHELL: line 1: f: message4
+SHELL: line 0: f: message4
_
-SHELL: line 1: f: null or unset!
+SHELL: line 0: f: null or unset!
====
_fff
_fff
diff --git a/shell/ash_test/ash-vars/var6.right b/shell/ash_test/ash-vars/var6.right
index b37417f..e83f7b5 100644
--- a/shell/ash_test/ash-vars/var6.right
+++ b/shell/ash_test/ash-vars/var6.right
@@ -1,2 +1,2 @@
-SHELL: line 1: syntax error: bad substitution
-SHELL: line 1: syntax error: bad substitution
+SHELL: line 0: syntax error: bad substitution
+SHELL: line 0: syntax error: bad substitution
diff --git a/shell/ash_test/ash-vars/var_LINENO3.right b/shell/ash_test/ash-vars/var_LINENO3.right
new file mode 100644
index 0000000..198c3cc
--- /dev/null
+++ b/shell/ash_test/ash-vars/var_LINENO3.right
@@ -0,0 +1,2 @@
+LINENO starts from 0 in -c
+and increments on next line: 1
diff --git a/shell/ash_test/ash-vars/var_LINENO3.tests b/shell/ash_test/ash-vars/var_LINENO3.tests
new file mode 100755
index 0000000..4502edf
--- /dev/null
+++ b/shell/ash_test/ash-vars/var_LINENO3.tests
@@ -0,0 +1,2 @@
+$THIS_SH -c 'echo "LINENO starts from $LINENO in -c"
+echo "and increments on next line: $LINENO"'
diff --git a/shell/hush_test/hush-vars/var_LINENO3.right b/shell/hush_test/hush-vars/var_LINENO3.right
new file mode 100644
index 0000000..198c3cc
--- /dev/null
+++ b/shell/hush_test/hush-vars/var_LINENO3.right
@@ -0,0 +1,2 @@
+LINENO starts from 0 in -c
+and increments on next line: 1
diff --git a/shell/hush_test/hush-vars/var_LINENO3.tests b/shell/hush_test/hush-vars/var_LINENO3.tests
new file mode 100755
index 0000000..4502edf
--- /dev/null
+++ b/shell/hush_test/hush-vars/var_LINENO3.tests
@@ -0,0 +1,2 @@
+$THIS_SH -c 'echo "LINENO starts from $LINENO in -c"
+echo "and increments on next line: $LINENO"'