2015-12-30
2015-12-30

modified:   bin/modernish
- start converting uses of '[' to uses of 'case' (more awkward syntax, but faster and more robust)
- make BUG_UPP (old ksh) workarounds BUG_PARONEARG (bash) compatible
- various tweaks and additions in shell bug and feature tests
- if available, use ARITHCMD for 'so': alias so='(($?==0))'
- die(): interactive shell: hack to interrupt the execution of a compound command without exiting the shell
- isvarname(): optimized 'case' construct
- isset(): bugfix: add separator ',' to optimized 'case' construct to check $# correctly
- shellquote(): move die() calls to end, after restorig shell settings
- shellquoteparams: use modernish; die correctly
- push(), pop(): check for at least 1 argument
- printstack(), clearstack(): minor tweaks
- echo(): optimize 'case' constructs; add version for shells that have LOCAL
- let(): recursion tweak
- isint(): now recognizes octal and hexadecimal numbers
- same(): rename to identic()
- identic(), empty(), sortsbefore(), sortsafter(), contains(), startswith(), endwith(); rewrite entirely using 'case' (faster)
- match(): version for yash 'test x =~ y'
- exists(), _Msh_fileTest(): optimize '[' failure check
- new file tests: ismine, ismygroup, isnewerthan, isolderthan, issamefileas

modernish/modernish