Commit ID: 10051EC29F9411252FA
CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2013/07/21 18:36:04 UTC
Modified files:
bin/mksh : check.pl check.t eval.c exec.c main.c mksh.1 shf.c
Log message:
partial merge and full RCS ID sync with oksh
merged:
• new regression tests
• check.pl (tests/th) better tmpfile handling
• exec.c 1.50: POSIX specifies that for an AND/OR list,
only the last command's exit status matters for "set -e"
• ksh.1 1.147: document the above
• eval.c 1.39: “Make $(< /nonexistent) have the same behaviour
as $(cat /nonexistent) wrt. errors (do not unwind and do not
treat this as fatal if set -e is used).”
‣ additionally make shf_open() return errno and actually show
the error message from the system
• regression-39 test: remove the “maybe” marker
‣ but decide on correct POSIX behaviour
already been fixed in mksh:
• check.pl (tests/th) exit 1 if tests fail
not merged:
• main.c 1.52: run traps in unwind() before exiting;
I’m pretty sure this is already working as-should in mksh
• eval.c 1.38: “Commands executed via `foo` or $( bar ) should
not inherit "set -e" status.” As discussed in IRC, this is
just plainly WRONG.
To generate a diff of this changeset, execute the following commands:
cvs -R rdiff -kk -upr1.31 -r1.32 src/bin/mksh/check.pl
cvs -R rdiff -kk -upr1.616 -r1.617 src/bin/mksh/check.t
cvs -R rdiff -kk -upr1.139 -r1.140 src/bin/mksh/eval.c
cvs -R rdiff -kk -upr1.122 -r1.123 src/bin/mksh/exec.c
cvs -R rdiff -kk -upr1.266 -r1.267 src/bin/mksh/main.c
cvs -R rdiff -kk -upr1.316 -r1.317 src/bin/mksh/mksh.1
cvs -R rdiff -kk -upr1.60 -r1.61 src/bin/mksh/shf.c