This commit is contained in:
pvincent
2026-07-30 18:26:59 +04:00
parent d1a103d163
commit 0d68f61442
2 changed files with 10 additions and 3 deletions
+9 -2
View File
@@ -178,7 +178,6 @@ function on_error {
source="${BASH_REMATCH[1]}" source="${BASH_REMATCH[1]}"
lineno="${BASH_REMATCH[2]}" lineno="${BASH_REMATCH[2]}"
funcname="${BASH_REMATCH[3]}" funcname="${BASH_REMATCH[3]}"
[[ "$funcname" == '<main>' ]] && funcname="$funcname (hint: prefer source than child process)"
extra_source=("$source") extra_source=("$source")
extra_lineno=("$lineno") extra_lineno=("$lineno")
extra_funcname=("$funcname") extra_funcname=("$funcname")
@@ -191,7 +190,6 @@ function on_error {
source="${BASH_REMATCH[1]}" source="${BASH_REMATCH[1]}"
lineno="${BASH_REMATCH[2]}" lineno="${BASH_REMATCH[2]}"
funcname="${BASH_REMATCH[3]}" funcname="${BASH_REMATCH[3]}"
[[ "$funcname" == '<main>' ]] && funcname="$funcname (hint: prefer source than child process)"
extra_source=("$source" "${extra_source[@]}") extra_source=("$source" "${extra_source[@]}")
extra_lineno=("$lineno" "${extra_lineno[@]}") extra_lineno=("$lineno" "${extra_lineno[@]}")
extra_funcname=("$funcname" "${extra_funcname[@]}") extra_funcname=("$funcname" "${extra_funcname[@]}")
@@ -234,6 +232,15 @@ function on_error {
error_source=("${extra_source[@]}" "${error_source[@]}") error_source=("${extra_source[@]}" "${error_source[@]}")
error_lineno=("${extra_lineno[@]}" "${error_lineno[@]}") error_lineno=("${extra_lineno[@]}" "${error_lineno[@]}")
error_funcname=("${extra_funcname[@]}" "${error_funcname[@]}") error_funcname=("${extra_funcname[@]}" "${error_funcname[@]}")
# add the funcname hint message from backward
local funcname hint_for_next=false
for ((i = 0; i < ${#error_funcname[@]}; i++)); do
is_true "$hint_for_next" && error_funcname[$i]+=' (hint: prefer source than child process)' && hint_for_next=false
funcname="${error_funcname[$i]}"
[[ "$funcname" == '<main>' ]] && hint_for_next=true || true
done
else else
error_source=("${error_source[@]}") error_source=("${error_source[@]}")
error_lineno=("${error_lineno[@]}") error_lineno=("${error_lineno[@]}")
+1 -1
View File
@@ -91,8 +91,8 @@ function do_file_not_found {
} }
function do_child_error { function do_child_error {
"$BASEDIR/extra/library.bash"
# . "$BASEDIR/extra/library.bash" # . "$BASEDIR/extra/library.bash"
"$BASEDIR/extra/library.bash"
echo SHOULD NOT APPEAR echo SHOULD NOT APPEAR
} }