2a6757e603
developer. pkgsrc changes include: Use BUILD_TARGET=oshall as request in PR. And make it work with PKGMANDIR. CHANGES file includes: Changes that improve compatibility w/ the Sixth Edition Unix shell are marked w/ a `C:' in the details below. ------------------------------------------------------------------------------- [osh-20070324]: osh.c: * In main(), changed when fdfree() is called so that it is in a more ideal sequence with other operations according to how the shell is invoked (e.g., interactive shell vs. non-interactive shell). ------------------------------------------------------------------------------- [osh-20070321]: * Imported the project into a local subversion repository. * Changed the all of the code to "#include <stdbool.h>" and to use the "bool" data-type macro where appropriate. Makefile: * Added SYSCONFDIR and a new `man' target. osh.c: * Defined _PATH_SYSTEM_LOGIN as `SYSCONFDIR/**/"/osh.login"' instead of "/etc/osh.login" so that the user can use SYSCONFDIR (/etc by default) at build-time to specify the directory where the shell shall search for its system-wide initialization file. * Added a new special parameter, $v, which makes the version of the osh package available as a read-only string. The format is `osh-YYYYMMDD' for official releases and `osh-current (YYYYMMDD)' (interpreted as one word) for development snapshots. * Fixed a bug where interactive shells were no longer ignoring SIGTERM when invoked, as they are supposed to. Now, SIGTERM is being ignored again upon invocation of all interactive shells. * Fixed the output from doing a `sigign' so that it matches its documentation in osh.1: "..., a list is printed of those signals which are ignored by sigign in the current shell." Previously, the output from a `sigign' could be a little confusing. Now, its output only indicates those cases where a given signal is being ignored w/ the possibility that it can then be unignored (reset) in the current shell context. if.c: * Added 3 new primaries: -ef (equal files - same device, same inode), -nt (newer than), -ot (older than). See the if(1) manual page for full details. ------------------------------------------------------------------------------- [osh-20070131]: osh.1: * Made a few minimal changes to synchronize the manual w/ the code. osh.c 1.2 (jneitzel) 2007/01/14: * Changed the `chdir: No old directory' diagnostic to `chdir: No previous directory' to match the manual. ------------------------------------------------------------------------------- [osh-20061230]: The following files have been removed in this release: examples/*: These files are now available at: http://jneitzel.sdf1.org/osh/initialization_files/ tests/*: ... until I have a chance to rewrite them ... *.1: * Changed all instances of `UNIX' to `Unix' since the name of the Unix operating system is not an acronym. pexec.c: * Fixed a possible, but very unlikely, memory leak. osh.c: C: Rewrote the shell! It is now a combination of the ports of the original source code from sh6.c and glob6.c (see CHANGES_sh-to-sh6) w/ the prior enhancements which were found in osh-060124/osh*.[ch] . fd2.c: * Removed the call to lseek(2) to end-of-file for errors. The shell determines when this is necessary. * Changed the `: no shell' diagnostic to `: No shell!' in the spirit of sh6(1). goto.c: * Fixed a bug which interfered w/ finding a requested label when its first character had the high-order bit set. The value of the first character is now passed to getlabel() as an unsigned char converted to an int to allow correct comparison in such a case. if.c: * Removed the call to lseek(2) to end-of-file for errors. The shell determines when this is necessary. * Changed the method used to build the argument list for all commands executed by this utility, and removed the `Too many args' diagnostic. The maximum length of the argument list for a command is now limited only by the maximum length that the invoker can pass and by any system-imposed limit for execve(2) (see E2BIG in errno(2)). * Changed the `: no shell' diagnostic to `: No shell!' in the spirit of sh6(1). * Changed the diagnostic used for `!', `-a', `-o', and `(' operator errors from `: argument expected' to `: expression expected'. |
||
---|---|---|
.. | ||
patch-aa |