home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / useful / dist / util / shell / pdksh / changes.jrm < prev    next >
Text File  |  1993-12-01  |  2KB  |  62 lines

  1. Changes to the PD ksh since last time:
  2.  
  3. - clean up the option configuration stuff.  Options in config.h should
  4.   now just be #define'd or not, not #define'd to 1 if you want them
  5.   and 0 if you don't
  6.  
  7. - ksh now uses the shell specified by the variable EXECSHELL to run
  8.   shell scripts.  If EXECSHELL is unset or null it defaults to
  9.   /bin/sh.  It does a path lookup on the value, so if you set it to
  10.   ``ksh'' the ksh will run all scripts that don't start with #!.  It
  11.   seems to run most sh scripts fine (now).  I'd be very interested to
  12.   hear your experiences if you try this out, as for my next trick I'd
  13.   like to make ksh just fork itself to run scripts, which would speed
  14.   things up, and allow exportable functions and aliases (like he real
  15.   ksh).  Just to assure you that it can do some hairy sh scripts, both
  16.   CC and coco work with ksh.
  17.  
  18.   EXECSHELL won't work if the system's exec(2) call runs scripts...
  19.  
  20. - the ``let'' builtin now evaluates null or unset vars to 0, as per
  21.   The Book
  22.  
  23. - Various memory allocation/use problems were cleaned up.  Hopefully
  24.   you'll never see the ``freeing free object'' error again (if you've
  25.   ever seen it).
  26.  
  27. - the ``test'' builtin is now much more tolerant in parsing its
  28.   arguments.  This was to make it like the /bin/sh test.
  29.  
  30. - Temp files (for here documents or ``fc'') are now mode 0600
  31.  
  32. - Some format strings in the tree printing routines got ``expanded''
  33.   into SCCS keywords, so the results of``type <function>'' were
  34.   gave you interesting things like the time I last checked in the
  35.   file.  This has been fixed.
  36.  
  37. - ``unset -f'' now really does unset functions.
  38.  
  39. - the ``trailing blank or tab in alias definition'' feature now works.
  40.  
  41. - A bug in command completion was fixed.  Note command completion only
  42.   works on commands that have been hashed, so you want to ``set -h''
  43.   in your .kshrc, and you may wish to force hashing of some common
  44.   commands with the ``hash'' builtin.
  45.  
  46. - ``echo $$ | cat'' now works as in /bin/sh
  47.  
  48. Not new features, but newly discovered bugs:
  49.  
  50. - Local functions don't work correctly.  This shouldn't be much
  51.   problem, since sh doesn't have them.
  52.  
  53. - Here documents in functions don't work.  This is a problem with the
  54.   temp file allocation that requires more work to fix than I've gotten
  55.   around to doing.  So avoid things like:
  56.  
  57. foo() {
  58.     cat <<- HereDoc
  59. This is a test
  60. HereDoc
  61. }
  62.