Files
cdesktop/cde/programs/dtksh/ksh93/TODO
Martijn Dekker bf00d3b274 dtksh: Upgrade ksh93 to 1.0.0-beta.2 2021-12-28
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.
2022-07-09 17:50:35 -06:00

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.