home *** CD-ROM | disk | FTP | other *** search
- Changes to the PD ksh since last time:
-
- - clean up the option configuration stuff. Options in config.h should
- now just be #define'd or not, not #define'd to 1 if you want them
- and 0 if you don't
-
- - ksh now uses the shell specified by the variable EXECSHELL to run
- shell scripts. If EXECSHELL is unset or null it defaults to
- /bin/sh. It does a path lookup on the value, so if you set it to
- ``ksh'' the ksh will run all scripts that don't start with #!. It
- seems to run most sh scripts fine (now). I'd be very interested to
- hear your experiences if you try this out, as for my next trick I'd
- like to make ksh just fork itself to run scripts, which would speed
- things up, and allow exportable functions and aliases (like he real
- ksh). Just to assure you that it can do some hairy sh scripts, both
- CC and coco work with ksh.
-
- EXECSHELL won't work if the system's exec(2) call runs scripts...
-
- - the ``let'' builtin now evaluates null or unset vars to 0, as per
- The Book
-
- - Various memory allocation/use problems were cleaned up. Hopefully
- you'll never see the ``freeing free object'' error again (if you've
- ever seen it).
-
- - the ``test'' builtin is now much more tolerant in parsing its
- arguments. This was to make it like the /bin/sh test.
-
- - Temp files (for here documents or ``fc'') are now mode 0600
-
- - Some format strings in the tree printing routines got ``expanded''
- into SCCS keywords, so the results of``type <function>'' were
- gave you interesting things like the time I last checked in the
- file. This has been fixed.
-
- - ``unset -f'' now really does unset functions.
-
- - the ``trailing blank or tab in alias definition'' feature now works.
-
- - A bug in command completion was fixed. Note command completion only
- works on commands that have been hashed, so you want to ``set -h''
- in your .kshrc, and you may wish to force hashing of some common
- commands with the ``hash'' builtin.
-
- - ``echo $$ | cat'' now works as in /bin/sh
-
- Not new features, but newly discovered bugs:
-
- - Local functions don't work correctly. This shouldn't be much
- problem, since sh doesn't have them.
-
- - Here documents in functions don't work. This is a problem with the
- temp file allocation that requires more work to fix than I've gotten
- around to doing. So avoid things like:
-
- foo() {
- cat <<- HereDoc
- This is a test
- HereDoc
- }
-