mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-02-13 19:52:20 +00:00
On NetBSD, for some reason, the wctrans(3) and towctrans(3) C library functions exist, but have no effect; the "toupper" and "tolower" maps don't even translate case for ASCII, never mind wide characters. This kills 'typeset -u' and 'typeset -l' on ksh, which was the cause of most of the regression test failures on NetBSD. Fallback versions for these functions are provided in init.c, but were not being used on NetBSD because the feature test detected the presence of these functions in the C library. src/cmd/ksh93/features/locale: - Replace the simple test for the presence of wctrans(3), towctrans(3), and the wctrans_t type by an actual feature test that checks that these functions not only compile, but are also capable of changing an ASCII 'q' to upper case and back again. src/cmd/ksh93/sh/init.c: towctrans(): - Add wide character support to the fallback function, for whatever good that may do; on NetBSD, the wide-character towupper(3) and towlower(3) functions only change case for ASCII.
93 lines
3.3 KiB
Text
93 lines
3.3 KiB
Text
TODO for ksh 93u+m
|
|
|
|
See the issue tracker:
|
|
https://github.com/ksh93/ksh/issues
|
|
|
|
Known bugs in ksh 93u+m 1.0.0-beta.1 (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
|
|
|
|
Enhancements to do:
|
|
|
|
* Implement to-be-POSIX 'local' builtin
|
|
https://github.com/ksh93/ksh/issues/123
|
|
|
|
* Add -T (-o functrace) option as in bash
|
|
https://github.com/ksh93/ksh/issues/162
|
|
|
|
* Unicode code points in $'...' strings should vary according to the locale
|
|
https://github.com/ksh93/ksh/issues/193
|
|
|
|
* Re-allow building dynamic libraries
|
|
https://github.com/ksh93/ksh/issues/302
|
|
|
|
______
|
|
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.
|