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

Reply via email to