home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / pdksh-4.9-src.tgz / tar.out / contrib / pdksh / sh / ChangeLog < prev    next >
Text File  |  1996-09-28  |  14KB  |  403 lines

  1. Thu Nov 30 07:38:21 1995  Fred Fish  <fnf@fishfood.amigalib.com>
  2.  
  3.     From Hans Verkuil (hans@wyst.hobby.nl):
  4.     * c_sh.c (c_brkcont):  Fix problem discovered while configuring octave.
  5.     * eval.c (alt_scan): Fix problem which caused 'echo "]{x}" to
  6.     return just "]x".  This was screwing up configure's cache-file reading.
  7.  
  8. Tue Aug 31 20:32:54 1993  Simon J. Gerraty  (sjg@zen.void.oz.au)
  9.  
  10.     * patch from meulenbr@prl.phil to avoid problem in findcom().
  11.  
  12. Tue Jun  1 23:36:36 1993  Simon J. Gerraty  (sjg@zen.void.oz.au)
  13.  
  14.     * Quick hack to "handle" multi-line prompts better.
  15.     While in x_vi or x_emacs we use only the last line of the prompt.
  16.  
  17. Tue Jun  1 20:52:04 1993  Devetir Unix section <sgccdux@citecuc.citec.oz.au>
  18.  
  19.     * Serveral bug fixes from: Devetir Unix section 
  20.     <sgccdux@citecuc.citec.oz.au>
  21.  
  22.     Sorry for the delay in these, but they were stuck in transit
  23.     because zen was dead for nearly 3 months!  --sjg
  24.  
  25.     1) In history.c:hist_init(), an extra file descriptor to the
  26.     history file is created which can remain open to the old history
  27.     file when the history needs shrinking.  Thus, the old history file
  28.     survives with no name, and caused me trouble under 386BSD when
  29.     shutting down suddenly (fsck had to clean it up and have another
  30.     re-boot). 
  31.  
  32.     2) In jobs.c:exchild() changed order of setpgid() and tcsetpgrp()
  33.     as 386bsd at least does not allow tcsetpgrp() to an unused
  34.     process group.
  35.  
  36.     3) bug in jobs.c:j_reapchld(), waitpid() can return 0 if there
  37.     are no children, and even though there was code there to exit the
  38.     loop on pid == 0, the variable sigchld_caught was not being set to
  39.     0, so j_reapchld() would be continually called from j_waitj()
  40.     wasting considerable cpu time. 
  41.  
  42.     4) In jobs.c:j_resume(), fg of a job that has exited, but not yet
  43.     been flushed from pdksh's list of jobs caused the controlling
  44.     terminal's process group to be stuffed up, and pdksh to exit, on
  45.     some machines. 
  46.  
  47.  
  48. Sat May 22 21:58:49 1993  Simon J. Gerraty  (sjg@zen.void.oz.au)
  49.  
  50.     * mail.c, expr.c: bug fixes from: Carsten Heyl
  51.     <ch@jenny.informatik.uni-dortmund.de> 
  52.  
  53.     * eval.c: bug fix from: Peter Collinson <pc@hillside.co.uk>
  54.  
  55.  
  56. Sat May  8 15:48:16 1993  Simon J. Gerraty  (sjg@zen.void.oz.au)
  57.  
  58.     * Ported to 386bsd (new base system :-), only sh directory
  59.     involved though.  This mainly involved re-arranging some #if's so
  60.     that if _POSIX_TERM is defined it will take precedence over _BSD
  61.  
  62. Sat Dec  5 23:54:40 1992  Simon J. Gerraty  (sjg@zen)
  63.  
  64.     * finally fixed the fd leakage that caused pipes to not terminate
  65.     immediately.
  66.  
  67. Sat Nov 28 23:01:38 1992  Simon J. Gerraty  (sjg@zen)
  68.  
  69.     * Makefile: added install target
  70.  
  71. Wed Nov 25 09:10:11 1992  Simon J. Gerraty  (sjg@zen)
  72.  
  73.     * c_cd(c_ksh.c): fixed bug causing cd ., cd .. to look at $CDPATH.
  74.  
  75. Thu Nov 19 23:32:42 1992  Simon J. Gerraty  (sjg@zen)
  76.  
  77.     * For now bind emacs mode complete-list to ESC=
  78.  
  79. Tue Sep 15 15:24:38 1992  Simon J. Gerraty  (sjg@zen)
  80.  
  81.     * main.c: call init_editmode() between processing .profile and
  82.     .kshrc so that edit mode can be explicitly set in .kshrc
  83.     regardless of FCEDIT, EDITOR and VISUAL values.
  84.  
  85. Tue Sep 15 15:08:06 1992  Philippe Michel (michel@thomson-lcr.fr) 
  86.  
  87.     * main.c: fixed bug in command line argument processing.
  88.  
  89. Fri Aug 21 15:24:37 1992  Bruce Momjian  (root%candle.uucp@bts.com)
  90.  
  91.     * exec.c: replace all calls of execute(tree, 0) with 
  92.     execute(tree, flags & XXWHL) to ensure it is passed to children. 
  93.  
  94. Thu Aug 20 23:18:45 1992  Simon J. Gerraty  (sjg@zen)
  95.  
  96.     * fixed bug in complex_history: histsize not initialized before
  97.     call to alloc().
  98.  
  99. Thu Aug 13 00:00:42 1992  Simon J. Gerraty  (sjg@zen)
  100.  
  101.     * setstr(), varsub(): be robust when given dud args.
  102.  
  103. Wed Aug 12 23:56:29 1992  Simon J. Gerraty  (sjg@zen)
  104.  
  105.     * Fixed build problem when COMPLEX_HISTORY is not defined.
  106.     * don't make COMPLETE_LIST the default, add 
  107.         bind '^[^['=complete-list
  108.     in .kshrc if desired.
  109.  
  110.  
  111. Mon Aug  3 22:41:17 1992  Simon J. Gerraty  (sjg@zen)
  112.  
  113.     * emacs.c: correctly bind <ESC><erase>.
  114.     * var.c: treat COLUMNS and FCEDIT as special.
  115.  
  116. Sat Aug  1 17:17:02 1992  Simon J. Gerraty  (sjg@zen)
  117.  
  118.     * Incorporated massive contribution from Peter Collinson
  119.     includes new features (refer to ../Changes.pc) and support for
  120.     BSDI's BSD/386.
  121.  
  122.     * emacs.c: new command complete-list provided by
  123.     Neil.Smithline@eng.sun.com this nicer than the standard ksh
  124.     file completion.  Define COMPLETE_LIST to bind this to <ESC><ESC>
  125.     by default.
  126.  
  127. Sat May 30 15:44:56 1992  Simon J. Gerraty  (sjg@zen)
  128.  
  129.     * added flag XXWHL in tree.h, used by execute() when calling
  130.     exchild() to indicate that stdin should not be invalidated.  This
  131.     corrects handling of:  
  132.          ls | while read f; do ls -l $f; done
  133.  
  134.     Thanks to Bruce Momjian for tracking down the fault.
  135.  
  136. Tue May 12 19:23:17 1992  Simon J. Gerraty  (sjg@zen)
  137.  
  138.     * Fix bug in init_editmode() if EMACS and VI are not both defined.
  139.  
  140. Sun May  3 17:47:54 1992  Simon J. Gerraty  (sjg@zen)
  141.  
  142.     * sigact.c:  allow force build if USE_* defined.
  143.     * main.c: call init_editmode() _after_ processing /etc/profile.
  144.     * jobs.c: ensure SA_RESTART is defined.
  145.  
  146. Sat Apr 25 00:20:51 1992  Simon J. Gerraty  (sjg@zen)
  147.  
  148.     * Implemented a simple history file.
  149.     The default file is "$HOME/.pdksh_hist" but can be changed by
  150.     setting HISTFILE in any of /etc/profile,.profile or .kshrc.
  151.     The format is trivial - one line per history item.  
  152.     You can creat a set history file, by making it read-only.
  153.     History is only saved during wrap-up and only if the file is
  154.     writeable.  NOTE: if writeable the file is OVERWRITTEN.
  155.  
  156. Fri Apr 24 22:22:04 1992  Simon J Gerraty  (sjg@zen)
  157.  
  158.     * sigact.c: New file.
  159.     An implementation of sigaction() and freinds, which simply
  160.     interfaces to BSD's setsigmask() et al, BSD4.1's setsig() or plain
  161.     old signal(2).  It attempts to use the most useful available.
  162.     If it thinks the system really has sigaction() it compiles to
  163.     noting, and its header sigact.h does nothing.
  164.     At present all use of sigaction is bounded by USE_SIGACT, if/when
  165.     this approach appears to work, the alternatives will be withdrawn.
  166.  
  167. Fri Apr 24 10:42:40 1992  Simon J Gerraty  (sjg@taureau)
  168.  
  169.     * Added support for sigaction and friends!, turns out sigset() 
  170.     et al just don't handle job control.  Define USE_SIGACT if you
  171.     have sigaction().  Job control now works on this System V machine
  172.     (Bull DPX/2).
  173.  
  174.     * getsc_(lex.c), x_getc(edit.c):  Added goto's! to allow the
  175.     read() calls to be retried (on systems that don't do it
  176.     automatically) if the read() was interrupted by a SIGCHLD
  177.     (sigchld_caught > 0).  This was the cause of the problem with an
  178.     async child terminating the shell on System V.
  179.  
  180. Wed Apr 22 14:57:01 1992  Simon J Gerraty  (sjg@taureau)
  181.  
  182.     * exchild(jobs.c): block SIGCHLD when fork()ing, until safe to
  183.     receive.
  184.  
  185.     * Added support? for sigset() and friends.  Allow JOBS to work on
  186.     System V machines.  This does NOT work right yet.
  187.     With JOBS defined, an async process terminates the shell when it
  188.     (the child) exits, and ^Z does nothing!  
  189.  
  190. Tue Apr 21 15:18:08 1992  Simon J. Gerraty  (sjg@sun0)
  191.  
  192.     * removed const qualifyer from setctypes() 1st arg, as gcc-2.1
  193.     generates incorrect code for this function.  This is a temperary
  194.     hack until gcc is fixed.
  195.  
  196.     * do not install std/stdc/stdarg.h in std/h, any compiler that
  197.     will use stdarg.h should have one.
  198.  
  199. Sun Apr 19 20:16:32 1992  Simon J. Gerraty  (sjg@zen)
  200.  
  201.     * added support of stdargs to tree.c and _fixed_ the use of
  202.     varargs. 
  203.  
  204. Sat Apr 18 16:35:48 1992  Simon J. Gerraty  (sjg@zen)
  205.  
  206.     * x_read(edit.c): added logic to check $EDITOR etc.
  207.  
  208.  
  209. Fri, 10 Jan 92 13:13:52      Bullseye Software  (sumax!polari!bullseye)
  210.  
  211.     * alloc.c:afreeall() references memory it has already deallocated.
  212.  
  213. Wed, 1 Jan 92 20:03:55    Bert Gijsbers (a430mcb1@diamond.sara.nl)
  214.  
  215.     * expand(eval.c):  PS1='${PWD##/*/}[!]% ' prints also characters
  216.     with ascii = 128 
  217.  
  218.     * main(main.c): Testing whether the first letter of argv[0] is a
  219.     '-' does not work when ksh reads .kshrc.
  220.  
  221. Sun, 29 Dec 91 20:05:02  Bert Gijsbers (a430mcb1@diamond.sara.nl)
  222.  
  223.     * Support for Minix.
  224.  
  225. Wed, 11 Dec 91 12:41:31    Kees J. Bot (kjb@cs.vu.nl)
  226.  
  227.     * fixes for sun3 with 4.1.1
  228.  
  229. Wed, 4 Dec 91 15:53:43  Reg Quinton (reggers@julian.uwo.ca)
  230.  
  231.     * fixes for SGI
  232.  
  233. Mon Nov 25 12:36:42 1991  Simon J. Gerraty  (sjg at zen)
  234.  
  235.     * stdh.h:  make sure FD_CLEXEC is defined if we support F_SETFD.
  236.     
  237.     * emacs.c: Attempt to make alloc() of x_tab acceptible to more
  238.     compilers.  Not 100% yet.
  239.     
  240. Sat Nov 23 14:31:44 1991  Simon J. Gerraty  (sjg at zen)
  241.  
  242.     * Improved fd_clexec handling for systems that don't have
  243.     an F_SETFD fcntl().  The new arrangement will not blow up if an
  244.     attempt is made to fd_clexec a fd above MAXFD (64 by default).
  245.     main.c:main()  and io.c:savefd() now simply call
  246.     exec.c:fd_clexec(). 
  247.  
  248. Fri Nov 22 11:24:57 1991  Simon J. Gerraty  (sjg at zen)
  249.  
  250.     * Since many people had problems using the headers and libraries
  251.     in std/*, modified sh/* so that they can be compiled in the
  252.     absence of std/*.  This requires putting in some fixes that I had
  253.     left out from my 3.2 version.  Particularly, catering for systems
  254.     that do not have F_SETFD.
  255.  
  256.     * exec.c:
  257.     Added fd_clexec array for tracking fd's to close in child after
  258.     fork().  This is avoid wasting fd's on systems that don't have
  259.     F_SETFD.
  260.  
  261.     * jobs.c:
  262.     Allow Sun's and perhaps other BSD systems to define WAIT_T to be
  263.     union wait and thus use their native status handling for children.
  264.  
  265.     * The file sh/MACHINES now tracks systems the shell has been
  266.     compiled on.
  267.  
  268.  
  269. Sat Nov  9 14:57:30 1991  Simon J. Gerraty  (sjg at zen)
  270.  
  271.     * Release version 4.1 as a new base line.
  272.  
  273. Thu Nov  7 23:11:25 1991  Simon J. Gerraty  (sjg at zen)
  274.  
  275.     * John R MacMillan suppied a fix for a bug in yylex() that was the
  276.     cause of several odd problems such as:
  277.         $ foo=echo
  278.         $ $foo bar
  279.         bar: not found
  280.         $ pwd
  281.         $ /local/src/pdksh
  282.         $ $foo bar
  283.         bar
  284.         $
  285.  
  286. Sun Sep 15 23:19:27 1991  Simon J. Gerraty  (sjg at zen)
  287.  
  288.     * emacs.c:
  289.     Added function x_lastcp() which returns a pointer to that char in
  290.     the edit buffer that will be the last displayed on the screen.
  291.     Thus:
  292.  
  293.           cp = x_lastcp();
  294.       while (cp > xcp)
  295.             x_bs(*--cp);
  296.     
  297.     Will correctly position the cursor on the screen (regardless of
  298.     TABs etc in the buffer).  The previous method got out of sync if
  299.     there were any TABs to display.
  300.  
  301. Wed Aug  7 11:26:55 1991  Simon J. Gerraty  (sjg at sun0)
  302.  
  303.     * jobs.c:
  304.     The Sun SPARCstation 2 was proving extremely unreliable using ksh.
  305.     After puting traces in jobs.c, it turns out the problem was
  306.     multiple SIGCHLD events happening too quickly causing the handler
  307.     to be interupted and thus not recognise the job that it had just
  308.     reaped was one of its own.  Having done the waitpid(), but not
  309.     adjusted the job table entry, j_waitj() would loop forever waiting
  310.     for a job to finnish (that had already done so!)
  311.     Solution was to have the SIGCHLD handler simply record the events
  312.     by inrcrementing sigchld_caught.  The actual reaping is now done
  313.     in a new funtion j_reapchld(), which does what the old signal
  314.     handler did but blocks SIGCHLD while scanning the job table.
  315.     j_waitj() calls j_reapchld() when sigchld_caught is non-zero.
  316.     The SS2 is now much more reliable...
  317.  
  318.     * trace.c:
  319.     Added my simple _TRACE facility (used to track the j_waitj
  320.     problem).  Simply -DUSE_TRACE for it to have effect.  If USE_TRACE
  321.     is undefined, calls to _TRACE() expand to while(0) which an
  322.     optimizer will usually remove.  sh.h now includes trace.h
  323.  
  324. Mon Jun 10 10:27:14 1991  Simon J. Gerraty  (sjg at zen)
  325.  
  326.     * emacs.c:
  327.     A couple of assignments (xbp = xbuf) were not migrated from the
  328.     3.2 version.  Caused an anoying bug when retrieving history
  329.     commands. 
  330.  
  331. Mon May 27 12:50:20 1991  Simon J. Gerraty  (sjg at sun0)
  332.  
  333.     * added fixes supplied by Mike Jetzer:
  334.     These relate mainly to vi mode.  See Changes.mlj
  335.  
  336.     * c_sh.c c_exit():
  337.     Modified behavior to not imediately exit if there are stopped
  338.     jobs.  A subsequent exit will kill any jobs left and terminate the
  339.     shell. 
  340.  
  341. Fri May 24 15:20:10 1991  Simon J. Gerraty  (sjg at sun0)
  342.  
  343.     * edit.h:
  344.     Cleaned up prototypes.  Built shell on sun3.
  345.     While gcc-1.39 builds the ksh ok on the 386i, on the sun3 jobs
  346.     don't work correctly - any non-builtin command gets stopped and
  347.     put into the background.  Had same problem with 3.2, using
  348.     /usr/bin/cc works fine.
  349.  
  350. Thu May 23 13:45:20 1991  Simon J. Gerraty  (sjg at sun0)
  351.  
  352.     * migrated my 3.2 edit.c changes to the new shell.
  353.     Affects edit.c, emacs.c
  354.     Added edit.h which is now included by edit.c,emacs.c and vi.c
  355.     
  356.     * vi.c:
  357.     Fixed handling of '!' in prompt by using pprompt() as in emacs.c
  358.  
  359.     * std/stdc/vprintf.c:
  360.     Fixed bug in output of left '0' padded unsigned numbers was
  361.     always padding with ' ' which left a space in ksh's temp file
  362.     names.  This prevented fc -l from working.
  363.  
  364. Here is my 3.2 ChangeLog:
  365. Fri Mar 22 16:50:14 1991  Simon J. Gerraty  (sjg at sun0)
  366.  
  367.     * edit.c:
  368.     Added x_set_arg() and x_prev_histword().
  369.     x_set_arg() handles 'ESC''0-9' type args which are used by word
  370.     related commands.
  371.     x_prev_histword() recovers the last (default) or sepcified arg
  372.     word from the previous command line.  Bound to ESC. and ESC_ to be
  373.     compatible with real ksh.
  374.  
  375. Tue Feb 26 14:16:17 1991 Simon J. Gerraty  (sjg at zen)
  376.  
  377.     * edit.c:
  378.     Changes to handle editing of command lines longer than $COLUMNS in
  379.     a manner compatible with real ksh.
  380.  
  381. Mon Feb 25 12:20:36 1991 Simon J. Gerraty  (sjg at sun0)
  382.  
  383.     * var.c,table.h:
  384.     Implemented $RANDOM
  385.     Some scripts use [ "$RANDOM" != "$RANDOM" ] to check for ksh. 
  386.  
  387. Wed Feb 20 12:20:36 1991 Simon J. Gerraty  (sjg at sun0)
  388.  
  389.     Changes so that shell will compile on sun386i.
  390.  
  391.     * exec.c,main.c,io.c:
  392.     Handle the case where FD_CLEXEC isn't defined.
  393.  
  394.     * jobs.c:
  395.     SunOS has its own ideas about job status etc.
  396.  
  397.     * tree.c:
  398.     Fixed conflict between varargs and stdarg.
  399.  
  400.  
  401.  
  402.  
  403.