· This release fixes a compilation problem on AIX caused by not wrapping WCOREDUMP(s)
· with #ifdef WCOREDUMP ... #endif . A minor code cleanup reduces unnecessary code
· duplication. Package documentation and example rc files are now installed by default
· in DOCDIR. MANDIR now defaults to $(PREFIX)/share/man/man1 .
· This release fixes an echo bug in osh that causes `echo ""' to print an unnecessary diagnostic.
· It also fixes a 'sigign' bug in osh that can cause incorrect signal ignoring behavior for subshells. For osh features, it adds 'cd' as a synonym for the 'chdir' special
· command.
· It also adds $m as a special parameter for the value of the MANPATH
· environment variable.
· This release changes the effect of the "-v" command-line option so that, in addition to printing non-blank command lines to the standard error, the shell also prints each blank/empty command line as an empty line. It also changes the fd2 "-e" command-line option so that it reflects the documented behavior. For example, this change causes invocation of "fd2 -ef file command" to redirect both conventional output and diagnostic output from "command" to "file".
Major changes include:
· This release adds a configure case for DragonFly BSD to prevent a "config.h" compilation warning. It fixes a bug introduced in version 20081026 which causes the shell to incorrectly print empty termination messages for the SIGINT signal in some cases when it should not do so. It also fixes a bug introduced in version 20061230 which causes the shell to incorrectly handle unescaped terminating backslash () characters at the end of "string" when invoked as "osh -c string".
· See http://v6shell.org/src/CHANGES for full details.
[osh-20081026]:
· * New files: defs.h, sh.h, util.c, v.c
· * Moved common definitions for all programs to "defs.h".
· * Added an osh package comment to the top of all header files.
INSTALL, Makefile:
· * Changed the "oshall" target to only build osh since the utilities
· are now built into the shell.
· * Changed the "install-oshall" target to only install osh and its
· manual pages. This includes the utility manual pages since they
· are not fully documented elsewhere.
mkconfig:
· * Changed the comment describing _XOPEN_SOURCE and _BSD_SOURCE for
· compiling the osh package to be more neutral.
*.1.in:
· * Synced the manual pages w/ the code as needed.
osh.c:
· * Include "sh.h" for needed declarations.
· * See "util.c:" below for integrated shell utilities description.
· * Renamed cmd_index() to cmd_lookup(), and changed the algorithm from
· a linear search to a binary search.
· * Added a base reallocation multiplier to glob()'s gavnew(). This
· doubles the number of new arguments for which to reallocate memory
· when the current allocation will not be large enough for the resulting
· argument vector. This reduces the number of realloc()s required
· for very large argument vectors while allowing the first malloc()
· to be a relatively small allocation for up to 126 matching
· file-name arguments.
util.c:
· * Include "sh.h" for needed declarations.
· * Integrated the external `if', `goto', and `fd2' shell utilities as
· special built-in commands to improve shell performance. Also, added
· `echo' as a special built-in command. Osh executes each of these
· built-ins in a subshell. Consequently, the I/O for each can be
· redirected as before, and the argument list for each can be the
· result of a call to glob() as before.
fd2.c:
· * Added a new `-e' command-line option to fd2.