related to that:
• while AT&T ksh may do it, POSIX says nothing about allowing
declaration commands only without vars and redirections, and
“without vars” especially seems against which commands they are
• fix relationship between forwarders and real declaration commands
• clean up c_builtin vs shcomexec mess
Also, re-run “make repool” with a fixed src/scripts/stringpool.sh,v 1.3
extproc does not pass a full path of a script. To find it, check
the existence of it manually in the current directory before in $PATH.
This is the fix of regression of commit
1b4d572b77.
modified: main.c
A command in a current directory should be executed only if $PATH
contains the directory such as '.'.
This will improve the compatibility with Unix shell script and the
security.
modified: exec.c
This reverts commit 89d461dd83.
To avoid the incompatibility with Unix shell scripts not expecting that
a current directory is searched first and the security problems, let a
user prepend "." to $PATH explicitly if needed.
modified: exec.c
Converting CR+LF to LF in blocking_read() which is a underlying read
function, may affect to the functions which do not perform line-based
operation.
modified: funcs.c
modified: main.c
modified: misc.c
modified: os2.c
modified: shf.c
On kLIBC, a child inherits a translation mode of stdio/stdout/stderr
of a parent. So if setting stdio handles of a parent to text mode,
a child reads CR+LF as LF and write LF to CR+LF. Especially, LF to
CR+LF conversion causes many troubles in UNIX programs.
Instead, if a child inherts a child inherit a current translation mode,
where stdin is text mode, stdout and stderr are binary mode, a child
would write LF as is.
This is the way for OS/2 to survive in UNIX jungle.
For example, 'make check' of libiconv fails due to mismatch of CR+LF
and LF.
mksh_sdirsep() returned a position of a more far directory separator
if '/' and '\' were mixed.
And mksh_sdirsep() returned a position of ':' even if a directory
separator follows. For example, in case of 'x:/', the position of
'/' should be returned not ':'.
mksh_vdirsep() were simplified with mksh_sdirsep().
install both lksh and mksh manpages from Build.sh (Martijn Dekker)
spelling fixes (Larry Hynes)
manpage improvements (Martijn Dekker)
initial port to Harvey-OS’ APEX (Ronald G. Minnich, Elbing Miss, Álvaro Jurado)
more from komh’s OS/2 port (KO Myung-Hun)