Patch from current ksh93 maintainer <https://github.com/ksh93/ksh>. cde/programs/dtksh/ksh93/**: - Upgraded. A load of bugs fixed, some minor features added. See NEWS from 2021-02-01 upwards. cde/programs/dtksh/Makefile.am: - Don't cd into ksh93 any more to invoke the package or shtests scripts; they now automatically find their directories. - Pass $(CFLAGS) to build ksh with optimisation. - Remove -D_std_malloc flag as vmalloc is now deprecated and disabled by default. - Add a 'make check' target to Makefile.am that runs the ksh93 regression tests on dtksh to make sure the additions don't interfere with anything. It skips running the tests with shcomp because CDE doesn't use that. The tests all pass here on Slackware 14.2. :-) cde/programs/dtksh/init.patch: - Removed; I've upstreamed it. It was the only one that wasn't upstreamed yet, and more code cleanups are coming, breaking downstream patches. If something needs updating, just email me a diff. cde/programs/dtksh/dtkcmds.h: - Update the ADDBUILTIN macro to remove the __PROTO__ macro use. The proto(1) tool, responsible for all such pre-C89 K&R C compatibility voodoo, has been removed, so that macro is no longer defined. cde/programs/dtksh/setup.sh: - Workaround script removed. I rewrote 'bin/package flat make' in a way that works correctly and changed Makefile.am to use that instead. Hope this helps. Happy new year.
125 lines
4.3 KiB
Plaintext
125 lines
4.3 KiB
Plaintext
TODO for ksh 93u+m
|
|
|
|
See the issue tracker for up-to-date information:
|
|
https://github.com/ksh93/ksh/issues
|
|
|
|
______
|
|
Enhancements to do:
|
|
|
|
* Add -T (-o functrace) option as in bash
|
|
https://github.com/ksh93/ksh/issues/162
|
|
|
|
* History pattern search menu (SHOPT_EDPREDICT) needs work
|
|
https://github.com/ksh93/ksh/issues/233
|
|
|
|
* Use real pipes instead of sockets
|
|
https://github.com/ksh93/ksh/issues/327
|
|
|
|
______
|
|
Known bugs in ksh 93u+m 1.0.0-beta.2 (HELP IS WANTED to fix these):
|
|
|
|
* Memory leak when initialising associative array in subshell
|
|
https://github.com/ksh93/ksh/issues/94
|
|
|
|
* command substitution botches output of non-waited-for child processes
|
|
https://github.com/ksh93/ksh/issues/124
|
|
|
|
* Intermittent coprocess hang on Debian/Ubuntu and Solaris
|
|
https://github.com/ksh93/ksh/issues/132
|
|
|
|
* wrong typeset -p output after unsetting multidimensional array elements
|
|
https://github.com/ksh93/ksh/issues/148
|
|
|
|
* File descriptor is unexpectedly closed after exec in subshell
|
|
https://github.com/ksh93/ksh/issues/161
|
|
|
|
* printf %T date parsing: GNU-style "ago" date spec completely broken
|
|
https://github.com/ksh93/ksh/issues/182
|
|
|
|
* typeset -L/-R: string length breaks on multibyte characters
|
|
https://github.com/ksh93/ksh/issues/189
|
|
|
|
* Linux i386: variable expansion corruption in single-line function
|
|
https://github.com/ksh93/ksh/issues/203
|
|
|
|
* Segfault with very large extended glob patterns
|
|
https://github.com/ksh93/ksh/issues/207
|
|
|
|
* funcname.ksh crashes under standard malloc
|
|
https://github.com/ksh93/ksh/issues/212
|
|
|
|
* process substitution cannot be part of a larger argument
|
|
https://github.com/ksh93/ksh/issues/215
|
|
|
|
* Compound array regression on OpenBSD with standard malloc
|
|
https://github.com/ksh93/ksh/issues/229
|
|
|
|
* 'typeset -m'-related crash on OpenBSD compiled with standard malloc
|
|
https://github.com/ksh93/ksh/issues/231
|
|
|
|
* Freeze/crash on OpenBSD with -D_std_malloc involving typeset and command substitution
|
|
https://github.com/ksh93/ksh/issues/264
|
|
|
|
* Nested compound assignment misparsed in $(...) command substitution
|
|
https://github.com/ksh93/ksh/issues/269
|
|
|
|
* Crash on bin/shtests -px heredoc
|
|
https://github.com/ksh93/ksh/issues/306
|
|
|
|
* Multibyte characters get corrupted when KEYBD trap is set
|
|
https://github.com/ksh93/ksh/issues/307
|
|
|
|
* .sh.match index array result issues, crash after unset
|
|
https://github.com/ksh93/ksh/issues/308
|
|
|
|
* Builtins don't handle I/O errors
|
|
https://github.com/ksh93/ksh/issues/313
|
|
|
|
* block devices not seekable when open on fd 0, 1 or 2
|
|
https://github.com/ksh93/ksh/issues/318
|
|
|
|
* bug in printf when %b and %x$ are used in same format
|
|
https://github.com/ksh93/ksh/issues/324
|
|
|
|
* namespaces don't work properly when defined within functions
|
|
https://github.com/ksh93/ksh/issues/325
|
|
|
|
* Associative arrays of various types fail to be unset
|
|
https://github.com/ksh93/ksh/issues/345
|
|
|
|
* types survive exec of hashbangless script
|
|
https://github.com/ksh93/ksh/issues/350
|
|
|
|
* Backtick command substitutions can't nest double quotes
|
|
https://github.com/ksh93/ksh/issues/352
|
|
|
|
* Line continuation breakage within $(comsub)
|
|
https://github.com/ksh93/ksh/issues/367
|
|
|
|
______
|
|
Fix regression test failures:
|
|
|
|
- There are some serious regression test failures on OpenBSD when ksh
|
|
is compiled with AST vmalloc disabled, so the system standard malloc(3)
|
|
is used. These probably represent real ksh93 bugs exposed by OpenBSD's
|
|
security hardening mechanisms.
|
|
|
|
- Several known memory leaks have their tests disabled in tests/leaks.sh
|
|
and are marked TODO. These need tracking down and fixing.
|
|
|
|
______
|
|
Fix currently known bugs affecting shell scripting. These are identified by
|
|
their modernish IDs. For exact details, see code/comments in:
|
|
https://github.com/modernish/modernish/tree/0.16/lib/modernish/cap/
|
|
|
|
- BUG_BRACQUOT: shell quoting within bracket patterns has no effect. This
|
|
bug means the '-' retains it special meaning of 'character range', and an
|
|
initial ! (and, on some shells, ^) retains the meaning of negation, even
|
|
in quoted strings within bracket patterns, including quoted variables.
|
|
|
|
- BUG_IFSGLOBS: In glob pattern matching (as in case or parameter
|
|
substitution with # and %), if IFS starts with ? or * and the "$*"
|
|
parameter expansion inserts any IFS separator characters, those characters
|
|
are erroneously interpreted as wildcards when quoted "$*" is used as the
|
|
glob pattern.
|