List of reported problems (problems reported and fixed before 5.0.4 not
included).  Unresolved problems (may or may not still exist) marked by *,
problems believed to be fixed marked by x.

* pdksh 5.0.3, MIPS RISC/os 5.0 (bsd universe) (noted by Michael Rendell):
  for interactive, job controlled shells, the kernel's tty state gets twisted
  in such a way that all output is lost (eg, if ttyXX is wedged then
  "echo hi > /dev/ttyXX" from a seperate login appears to succeed but produces
  no output on ttyXX).
  Work around is to run a program and hit ^C.

* pdksh 5.0.1, NetBSD 0.9a? (reported by Simon J. Gerraty): problem with
  job control not finding tty
  [from Mail.1:71]:
    Also, I have noticed (with 5.0.1 anyway) that if as root I su to a
    user I get: 
    root:511$ su foobar
    warning: won't have full job control
    [1] + Stopped (tty output) stty erase ^? 
    foobar:1$

* pdksh 5.0.8, - (reported by Sean Hogan): attempting file name completion
  on a word with a single backquote causes a "no closing quote" error and
  looses the partially entered command (vi mode).
  [see Mail.2:48]

* pdksh 5.0.9, ISC 3.2 (reported by cobra@guarany.cpd.unb.br): Running the
  following script with pdksh crashes the machine:
    cat > /tmp/foobar
  The same command in an interactive pdksh does not cause a crash.
  [see Mail.3:21]
  [This must be an OS bug, not a pdksh bug]

* pdksh 5.0.10, - (reported by Andrew Moore): no overflow checking is done
  in integer parsing code.
  [see Mail.3:78]

* pdksh 5.0.6+5.1.2, BSD43/MachTen (reported by Dan Menchaca): ksh freezes up
  terminal after a while after printing process exit message.  5.1.2 causes
  system to hang after executing two commands.
  [see Mail.3:96,5:42]

* pdksh 5.1.2, - (reported by Dan Quinlan): an error in a let statement
  causes shell to exit function/script.  at&t ksh just prints error and
  returns from let.
  [see Mail.5:17]

--------------------- put fixed problems below this line ---------------------

x pdksh 5.0.3, NetBSD 0.9a (reported by Simon J. Gerraty): pipelines
  occasionally hang.
  [from Mail.1:71]:
    Yes, I just built 5.0.3 on zen (NetBSD) and the menu stuff worked fine.
    However I've just done:

    sjg:910$ diff -cb /etc/profile profile | more

    And it has been sitting there ever since.
  [... gdb output indicating process groups set up ok - presumed problem is
   with tty process group]
  [Fixed in 5.0.4 - do tcsetpgrp() in both parent and child for first process]

x pdksh 5.0.2, ISC unix 3.01 (reported by Sean Hogan): set +o monitor (in
  interactive shell?) closes tty
  [from Mail.1:64]:
    I'm having two problems with the job control code, which I believe might
    be related.  The first one is that "set +o monitor" closes the tty,
    which causes the shell to exit since its input is gone.  According to
    the code, that would imply that FTALKING has mysteriously been turned
    off (jobs.c:343).  But my understanding of the code is that FTALKING
    would only be clear for background processes, and set would be done by
    the shell.  Do you have any insights here?  It's not a big deal of course;
    I don't need to turn off monitor anyway.
  [fixed in 5.0.5 - problem was tty process group was being restored so
   shell could no longer read from tty]

x pdksh 5.0.4, - (reported by Simon J. Gerraty and Sean Hogan):
  test "" -a x would fail.
  [fixed in 5.0.5 - t_wp being unnecessarily decremented in primary()]

x pdksh 5.0.4, -: test -p foo would always fail.
  [fixed in 5.0.5 - spell S_ISFIFO correctly]

x pdksh 5.0.4, -: test ! ! foo would generate error (unexpected !)
  [fixed in 5.0.5 - nexpr() always calls nexpr(), changes to posix code]

x pdksh 5.0.4, -: set -i would generate an internal error.
  [fixed in 5.0.5 - use OF_SET in creating set_opts]

x pdksh 5.0.4, -: let 0>22 would evaluate to true (and 0<22 false)
  [fixed in 5.0.5 - reversed order of O_LT and O_GT in enum]

x pdksh 5.0.4, - (reported by Sean Hogan): echo does not process escape
  characters (ie, echo "foo\c" doesn't to the sysV thing)
  [see Mail.1:98]
  [fixed in 5.0.5 - echo now behaves like sysv echo]

x pdksh 5.0.4, - (reported by Sean Hogan): tty process groups not restored
  properly (vi, :sh, exit causes vi to received SIGTTOU).
  [see Mail.1:98]
  [fixed in 5.0.5 - restore tty process group in j_exit]

x pdksh 5.0.4, - (reported by Sean Hogan): the exit command does not do the
  stopped jobs check.
  [see Mail.1:94,95,98]
  [fixed in 5.0.5 - added LSHELL, hack c_exitreturn to use it]

x pdksh 5.0.3, ISC unix 3.01 (reported by Sean Hogan): if notify is set,
  running cat & produces "[1] + Stopped (tty input) cat", but jobs, fg,
  etc. don't know about the job.
  [from Mail.1:76]
    I get [1] + Stopped (tty input)  cat.  Interestingly, "jobs" reports
    nothing, and "fg" doesn't see it either.  But it's definitely there in
    the ps output.  It only responds to kill -9, nothing else.  I guess this
    is a side track?
  [see also Mail.1:97,Mail.2:2,3]
  [fixed in 5.0.6 - don't remove stopped jobs in the notify code of check_job()]

x pdksh 5.0.5, - (reported by Sean Hogan): repeated history commands were being
  echoed after the command was executed.
  [see Mail.2:5,6]
  [fixed in 5.0.6 - call shf_flush() in case SHIST: of yylex()]

x pdksh 5.0.5, -: wait with no arguments would hang forever.
  [fixed in 5.0.6 - only wait for running jobs in waitfor()]

x pdksh 5.0.2, HP-UX 9.01 (reported by Sean Hogan): scipts occasionally get
  stopped with SIGTTIN
  [from Mail.1:68]:
    I noticed another small problem today, which is that occasionally
    (on an HP 9000/715, HP-UX 9.01, cc from the ANSI C developer set)
    a background process which is definitely not reading from its input
    stops with SIGTTIN.  I first noticed this with a nohup'ed process, but
    it periodically happens without as well.  The process is a perl script,
    if that makes any difference.  Have you seen this on your HP(s)?
  [hasn't been seen in 5.0.3: Mail.1:73,76]
  [not a shell bug, see Mail.2:14,15]

x pdksh 5.0.6, - (reported by Gordan Larson, Ed Ferguson): shell does not
  compile when VI isn't defined.
  [see Mail.2:22,40]
  [fixed in 5.0.7 - fixed up lex.c]

x pdksh 5.0.6, - (reported by Gordan Larson): ksh.1 font typo.
  [see Mail.2:23]
  [fixed in 5.0.7]

x pdksh 5.0.6, FreeBSd 1.1.5 (reported by Thomas Gellekum): CLK_TCK is defined
  to wrong value on FreeBSD; no depend target in Makefile; update /etc/shells
  in install target.
  [see Mail.2:28]
  [fixed in 5.0.7 - include <limits.h> in sh.h to get the right value; added
   depend target; print warning if ksh not in /etc/shells]

x pdksh 5.0.6, - (reported by Michael Haardt): shell does not compile if JOBS
  not defined.
  [see Mail.2:32]
  [fixed in 5.0.7 - added ifdefs to jobs.c(check_job)]

x pdksh 5.0.6, - (reported by Nick Holloway): exit status of command
  substitution is lost (known problem).
  [from Mail.2:33]:
    This is a variation on a theme of bug number 10 (and is one reason why
    currently ksh can not be used for Linux's MAKEDEV).

    The exit status from command substitution is not available when used with
    variable assignment.

	    x=`false` && echo "Non-zero exit status lost".
  [fixed in 5.0.7 - instead of faking :, set rv to subst_exstat]

x pdksh 5.0.7 - (reported by Sean Hogan): CMASK redefined in emacs.c
  [see Mail.2:44]
  [fixed in 5.0.8 changed CMASK to CHARMASK]

x pdksh 5.0.7 - (reported by Sean Hogan): "r" (fc -e -) doesn't work.
  [see Mail.2:45]
  [fixed in 5.0.8 - increment wp, change strcmp() test]

x pdksh 5.0.7 - (reported by Thomas Gellekum): make install typeo.
  [see Mail.2:46]
  [fixed in 5.0.8 - added missing $]

x pdksh 5.0.8 - (reported by Sean Hogan): "FOO=bar exec blah" does not
  put FOO in environment.
  [see Mail.2:50]
  [fixed in 5.0.9 - re-arranged exec/command/builtin code in comexec()]

x pdksh 5.0.8, QNX 4.2 (reported by Brian Campbell): "exec > /dev/null"
  generates an error.
  [see Mail.2:51]
  [see Mail.2.58 - caused by ambitious compiler using same label for c_exec()
   and c_builtin()]
  [fixed in 5.0.9 - c_exec() no longer an empty function.]

x pdksh 5.0.8, - (reported by Brian Campbell): "echo a{b," prints a "Missing }"
  error - at&t ksh does not.  at&t ksh always has brace-expansion on (unless
  set -o nogolob).
  [see Mail.2:51]
  [fixed in 5.0.9 - brace expansion now compatible with at&t ksh]

x pdksh 5.0.8, - (reported by Sean Hogan): ulimit output garbled; syntax error
  in c_ulimit.c; no configure check for HAVE_SETRLIMIT.
  [see Mail.2:64]
  [fixed in 5.0.9 - use shprintf instead of shellf to print values; add 
   setrlimit() check to configure]

x pdksh 5.0.7, - (reported by Jan Djarv): `echo > /foo/bar' causes a script to
  exit - POSIX says it shouldn't.
  [see Mail.2:60]
  [fixed in 5.0.9 - iosetup returns error code, error messages cleaned up, etc]

x pdksh 5.0.8, - : `more /etc/passwd &' followed by fg messes up tty settings.
  [fixed in 5.0.9 - only save new tty settings if job originally started in fg]

x pdksh 5.0.9, - (reported by Andrew Moore): a blank line causes $? to be
  set to zero, newline after a here-document marker isn't read.
  [see Mail.3:5,6]
  [fixed in 5.0.10 - don't execute null trees, read the newline]

x pdksh 5.0.9, - (reported by Michael Sullivan): mail checking reports you
  have mail, when there is only old mail.
  [fixed in 5.0.10 - use atime/mtime instead of size]

x pdksh 5.0.9, - (reported by Chris Oates): if RANDOM is in ksh's environ
  when it starts, the shell dumps core.
  [see Mail.3:7,8]
  [fixed in 5.0.10 - var.c(typeset): free t->val.s instead of
   t->val.s + t->type]

x pdksh 5.0.9, - (reported by Seah Hogan): ISC 3.01's make is confused by
  a backslash followed by a blank line.
  [see Mail.3:9,13]
  [fixed in 5.0.10 - changed make depend target to change blank lines to sh.h]

x pdksh 5.0.9, - (reported by Andrew Moore): commands without a newline cause
  syntax errors - sh/ksh execute the commands.
  [see Mail.3:15]
  [fixed in 5.0.10 - have yyparse() accept newline and EOF]

x pdksh 5.0.9, - (reported by Andrew Moore): empty arithmetic expressions not
  accepted.
  [see Mail.3:15,17]
  [fixed in 5.0.10 - v_evaluate(): if first token is END, changed to literal 0]

x pdksh 5.0.9, - (reported by Andrew Moore): nulls in input are not ignored.
  [see Mail.3:15]
  [fixed in 5.0.10 - added strip_nuls() function and calls to it]

x pdksh 5.0.9, - (reported by Andrew Moore): \241 (M-!) not passed through
  command substitutions.
  [see Mail.3:15]
  [fixed in 5.0.10 - evaluate(): cast c to a char before comparing to MAGIC]

x pdksh 5.0.9, - (reported by Andrew Moore): newlines after here-documents
  are read twice; shell reports an error if newline is missing.
  [see Mail.3:25]
  [fixed in 5.0.10 - fixed up readhere()]

x pdksh 5.0.9, - (reported with fix by Michael Jetzer): 'r r' repeats the r
  command forever.
  [see Mail.3:38]
  [fixed in 5.0.10 - start the search from the previous command]

x pdksh 5.0.9, - (reported by Michael Jetzer): edit of multi-line commands
  does not result in single history entry.
  [see Mail.3:38]
  [fixed in 5.0.10 - use hist_append() to add second+ lines]

x pdksh 5.0.9, - (reported by Dale DePriest): ksh_times.h uses BROKEN_TIMES
  [see Mail.3:43]
  [fixed in 5.0.10 - changed ksh_times.h]

x pdksh 5.0.9, - (reported by J. T. Conklin): using [ instead of test is slow.
  [see Mail.3:46]
  [fixed in 5.0.10 - put in kludgy check for [ in eval.c(glob)]

x pdksh 5.0.9, - (reported by Michael Haardt): signals do not interrupt
  read commands.
  [see Mail.3:20]
  [fixed in 5.0.10 - changed c_read() to check for fatal signals after EINTR]

x pdksh 5.0.10, BSDI (reported by David Tamkin): use of _POSIX_VDISABLE in
  tty.h causes compiler error.
  [see Mail.3:67]
  [fixed in 5.0.10.1 - new variable vdisable_c set/used in edit.c]

x pdksh 5.0.8, - (reported by Donald Craig): on systems with both union wait
  and waitpid(), waitpid() is passed a union wait pointer instead of an int
  pointer.
  [see Mail.2:54]
  [fixed in 5.1 - added ksh_waitpid() define; cast status arg as needed.]

x pdksh 5.0.10, - (reported by David Tamkin): space in vi command mode does
  nothing.
  [see Mail.3:76]
  [fixed in 5.1 - vi.c(classify[]) table got changed by accident.]

x pdksh 5.0.10, - (reported by Danial Quinlan): forward-word and
  delete-word-forward functions in emacs don't go to the right place.
  [see Mail.3:79]
  [Fixed in 5.1 - changed order of loops in emacs.c(x_fword())]

x pdksh 5.0.10, - (reported by David Tamkin): eof in multiline command
  causes shell to exit, even if ignoreeof is set.
  [see Mail.3:76]
  [Fixed in 5.1 - reset eof after longjmp() in main.c(shell)]

x pdksh 5.0.9, Ultrix 4.2 (reported by Matthew Nethook): type-ahead while
  shell is waiting for a command to finish is temporarily lost until a
  program that reads from stdin or goes a stty/gtty is run.
  [see Mail.3:61,62]
  [Fixed in 5.1 - changed aclocal.m4 to not define HAVE_TERMIOS_H on ultrix]

x pdksh 5.0.10, - (reported by David Tamkin): if INT is trapped, ^C in
  vi/emacs won't flush buffer/re-issue new prompt.
  [see Mail.3:5,76]
  [Fixed in 5.1 - use unwind() in vi/emacs to get back to shell()]

x pdksh 5.0.10, - (reported by Dale DePriest): in emacs mode, file completions
  resulting in long names (>256) cause core dumps
  [see Mail.3:72]
  [Fixed in 5.1 - use dynamically sized buffers in emacs code]

x pdksh 5.0.10, - (reported by Dale DePriest): in emacs mode, command
  completions (^[=) resulting in multiple hits caused internal memory error.
  [see Mail.4:8]
  [Fixed in 5.1 - don't call list_stash() twice in compl_command]

x pdksh 5.0.10, - (reported by Dave Hatton): autoloading functions fail
  on the first attempt, then work.
  [see Mail.4:10]
  [Fixed in 5.1 - in findcom(), check for include() returning non-0 (was 0)]

x pdksh 5.0.10, - (reported by Art Pina via Dale DePriest): when SECONDS
  parameter is assigned, it always acts as if 0 were assigned.
  [see Mail.4:12]
  [Fixed in 5.1 - set internal seconds variable to time - assigned value]

x pdksh 5.1.0 - (reported by Larry Bouzane): for/select loops don't allow
  {..} to be used instead of do...done.
  [see Mail.4:16]
  [Fixed in 5.1.1 - changed syn.c(dogroup) to allow {/} instead of do/done]

x pdksh 5.1.0 - (reported by Andrew Moore and Larry Bouzane): a command ending
  in ; or & that is not followed by a newline causes a syntax error.
  [see Mail.4:126,128]
  [Fixed in 5.1.1 - don't call syntaxerr() in get_command() if EOF is read]

x pdksh 5.1.0, - (reported by Simon J. Gerraty): ksh died reading history
  file (complex history, in hist_skip_backup()).
  [see Mail.4:24]
  [Fixed in 5.1.1 - hist_skip_back(): don't start past the end of the buffer]

x pdksh 5.1.0 BSDI 1.1 (reported by Karl Denninger): after receipt of SIGHUP,
  shell waits for foreground process to complete.
  [see Mail.4:50,57]
  [Fixed in 5.1.1 - added fatal_trap flag, check in jobs.c(j_waitj)]

x pdksh 5.1.0 - (reported by Bob Manson): a leading non-white-space IFS
  character does cause a field to be delimited.
  [see Mail.4:68]
  [Fixed in 5.1.2 - changed expand() to do the right thing.]

x pdksh 5.1.2, - (reported by Dan Quinlan): when shell prints out
  execution trees (typeset -f), if botches elif statements.
  [see Mail.5:17]
  [fixed in 5.1.3 - changed tree.c(ptree) to deal with elif.]

x pdksh 5.1.2, - (reported by Dale DePriest): fc -l -- -40 fails if there
  are fewer than 40 commands.
  [see Mail.5:19]
  [fixed in 5.1.3 - changed history.c(histget) to allow out of range numbers]

x pdksh 5.1.2, - (reported by Art Mills): file completion in command mode
  doesn't work on a single character.
  [see Mail.5:13]
  [fixed in 5.1.3 - in vi.c(vi_cmd) call complete_word() with 1 not 0]

x pdksh 5.1.2, - (reported by Art Mills): if markdirs option is set, file
  completion in vi adds two slashes to directories.
  [see Mail.5:35]
  [fixed in 5.1.3 - vi.c(complete_word), don't add / if file ends in one]

x pdksh 5.1.2, - (reported by Dale DePriest): history read from history file
  have negitive numbers and can't be accessed (fc thinks neg numbers are
  relative).
  [see Mail.5:39]
  [fixed in 5.1.3 - EASY_HISTORY/hist_init: increment line for each line]

x pdksh 5.1.2, - (reported by David Tamkin): FPATH isn't searched if PATH
  search can't find command (undocumented at&t ksh feature).
  [see Mail.5:45]
  [fixed in 5.1.3 - exec.c(findcom) search FPATH if PATH search fails]

x pdksh 5.1.2, - (reported by Dan Quinlan): output typeset -f isn't
  very pretty (no indenting done).
  [see Mail.5:17]
  [fixed in 5.1.3 - indenting added to ptree routines]
