1fccd09af4
Based on patch provided by Jeffrey Allen Neitzel in PR 37737. My modification: * Honor PKGMANDIR * Update MASTER_SITES and HOMEPAGE to new location. Changes: [osh-20080109]: * New file: mkconfig (see Build/Install Changes) * Moved files: Moved manual pages from *.1 to *.1.in to make their generation and installation simpler in the Makefile. Build/Install Changes: * Stopped defining _XOPEN_SOURCE when compiling on Mac OS X, NetBSD, and OpenBSD. It is simply not necessary. However, _XOPEN_SOURCE and _BSD_SOURCE are necessary on GNU/Linux systems. * Added a simple configure script, mkconfig. It is automatically invoked from the Makefile to write out an appropriate "config.h" file according to the osh package's needs on the given system. It simply sets PATH_LOGIN, PATH_NEWGRP, _XOPEN_SOURCE, and _BSD_SOURCE as needed so that the user does not need to bother w/ doing it manually at build time. osh.c: * Patched the code to fix a "$0" parameter-substitution problem w/ the `source' command in the following interactive context: % cat >file echo \$0 == \"$0\" echo \$1 == \"$1\" ^D % source file ; : ... gives correct value for "$0". $0 == "" $1 == "" % source file arg ; : ... gives incorrect value for "$0". $0 == "0" $1 == "arg" getdolp() indirectly caused the problem by returning a NULL pointer when the intended result was a pointer to the empty string. This problem was not fatal, as the shell handles NULL pointers from getdolp() anyway. However, NULL is supposed to indicate an error where the specified parameter means nothing to the shell... For example: % echo \$Z == \"$Z\" $Z == "Z" * Changed the source command's parameter-substitution behavior so that $0 always results in the name of the sourced command file, not the name inherited from the main shell context. This makes the parameter-substitution behavior of sourced command files just like that of any other osh command file. Plus, this is the documented behavior. osh.1.in, sh6.1.in: * Revised some wording to remove some cases of possible ambiguity. ------------------------------------------------------------------------------- [osh-20070707]: * Added a new file, INSTALL, which contains build and install instructions. Made reference to INSTALL in Makefile and README. Makefile: * Added 3 new variables, MOXARCH, MOXSHELLARCH, and MOXUTILSARCH, to simplify building universal binaries for Mac OS X. These are unset by default. See INSTALL for more info. * Changed the default value for SYSCONFDIR from /etc to $(PREFIX)/etc. osh.c: * Changed the reserved file descriptors from (7 - 9) to (10 - 12) in order to avoid fd conflict w/ rxvt-unicode (version 8.2). This conflict prevented `chdir -' from functioning correctly, but this problem is now fixed. The problem was clearly visible when running an interactive instance of osh under the rxvt-unicode daemon (urxvtd) on Mac OS X. However, I never saw this type of conflict when running under any other type of terminal emulator on any OS. Thus, I do not know if this was only an osh problem, a urxvtd problem, a Mac OS X problem, or some combination of the 3... |
||
---|---|---|
.. | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |