1 $OpenBSD: BUG-REPORTS,v 1.18 2008/05/08 16:51:30 sobrado Exp $
3 List of reported problems (problems reported and fixed before 5.0.4 not
4 included). Unresolved problems (may or may not still exist) marked by *,
5 problems believed to be fixed marked by x.
7 * pdksh 5.0.3, MIPS RISC/os 5.0 (bsd universe) (noted by Michael Rendell):
8 for interactive, job controlled shells, the kernel's tty state gets twisted
9 in such a way that all output is lost (eg, if ttyXX is wedged then
10 "echo hi > /dev/ttyXX" from a separate login appears to succeed but produces
12 Work around is to run a program and hit ^C.
14 * pdksh 5.0.1, NetBSD 0.9a? (reported by Simon J. Gerraty): problem with
15 job control not finding tty
17 Also, I have noticed (with 5.0.1 anyway) that if as root I su to a
20 warning: won't have full job control
21 [1] + Stopped (tty output) stty erase ^?
24 * pdksh 5.0.8, - (reported by Sean Hogan): attempting file name completion
25 on a word with a single backquote causes a "no closing quote" error and
26 loses the partially entered command (vi mode).
28 [partly fixed in 5.2.14: backquote ok, but happens for the likes of ${.]
30 * pdksh 5.0.10, - (reported by Andrew Moore): no overflow checking is done
31 in integer parsing code.
34 * pdksh 5.0.6+5.1.2, BSD43/MachTen (reported by Dan Menchaca): ksh freezes up
35 terminal after a while after printing process exit message. 5.1.2 causes
36 system to hang after executing two commands.
39 * pdksh 5.1.3, - (reported by Brad Warkentin & others): if the last command of
40 a pipeline is a shell builtin, it is not executed in the parent shell,
41 so "echo a b | read foo bar" does not set foo and bar in the parent
42 shell (at&t ksh will).
43 [see Mail.7:32,Mail.9:65]
45 * pdksh 5.1.3, - (reported by Gabor Zahemszky): emacs/vi doesn't have \ as quote
49 * pdksh 5.1.3, - (reported by Gabor Zahemszky): emacs default bindings doesn't
50 have vt52 arrow keys or vt100 alternate keypad mode bindings.
53 * pdksh 5.1.3, SCO 3.2.2 (reported by Gabor Zahemszky): shell hangs
54 waiting for finished process to finish.
57 * pdksh 5.2.0, - (reported by Gabor Zahemszky): ^V in vi leaves cursor at
61 * enhancements that haven't been merged yet
62 - Mail.6:36-39,78,84 recursive function diffs (add hard limit on
65 * pdksh 5.2.3, - (reported by David Gast(? gast@twinsun.com)): history (fc,
66 et al) don't work in shell scripts.
69 * pdksh 5.2.4, - (reported by Gabor Zahemszky): emacs: ^P steps through
70 multiline commands - should go to start of command.
73 * pdksh 5.2.7, - (reported by Adrian Marsh): typeset -L20u xxx is ok is ksh88
77 * pdksh 5.2.7, - (reported by Gabor Zahemszky): TMOUT doesn't effect
78 select and read operations.
81 * pdksh 5.2.10, - (reported by Simon J. Gerraty): in emacs, <ESC><ESC> applied
82 to a word with a macro does not complete the word (only expands the macro).
85 * pdksh 5.2.12, - (reported by Han Holl <jeholl@euronet.nl>): pdksh does not
86 parse the whole script before executing, so some syntax errors are not
87 detected (if the shell exits before reading the whole file).
90 * pdksh 5.2.12, (reported by Michael Staats): emacs: file completion does
91 not complete as much as possible when file is ~/something (will list
92 possible completions but won't fill in to the first difference).
93 Happens since code doesn't distinguish between globbing and ~ (needs
94 special case to strip & replace a leading ~ during the completion
97 * pdksh 5.2.13, (reported by Martin Dalecki): shell dumps core when set -x
98 is used on some scripts
99 [awaiting more info...]
101 * pdksh 5.2.13, (reported by Arthor Pool): interactive shells can't be
102 interrupted when processing ${foo#bar} expressions.
103 [same goes for globbing - fixing this means checking for interrupts in
104 the `tight' loops - could slow things down quite a bit]
106 --------------------- put fixed problems below this line ---------------------
108 x pdksh 5.0.3, NetBSD 0.9a (reported by Simon J. Gerraty): pipelines
111 Yes, I just built 5.0.3 on zen (NetBSD) and the menu stuff worked fine.
112 However I've just done:
114 sjg:910$ diff -cb /etc/profile profile | more
116 And it has been sitting there ever since.
117 [... gdb output indicating process groups set up ok - presumed problem is
118 with tty process group]
119 [Fixed in 5.0.4 - do tcsetpgrp() in both parent and child for first process]
121 x pdksh 5.0.2, ISC unix 3.01 (reported by Sean Hogan): set +o monitor (in
122 interactive shell?) closes tty
124 I'm having two problems with the job control code, which I believe might
125 be related. The first one is that "set +o monitor" closes the tty,
126 which causes the shell to exit since its input is gone. According to
127 the code, that would imply that FTALKING has mysteriously been turned
128 off (jobs.c:343). But my understanding of the code is that FTALKING
129 would only be clear for background processes, and set would be done by
130 the shell. Do you have any insights here? It's not a big deal of course;
131 I don't need to turn off monitor anyway.
132 [fixed in 5.0.5 - problem was tty process group was being restored so
133 shell could no longer read from tty]
135 x pdksh 5.0.4, - (reported by Simon J. Gerraty and Sean Hogan):
136 test "" -a x would fail.
137 [fixed in 5.0.5 - t_wp being unnecessarily decremented in primary()]
139 x pdksh 5.0.4, -: test -p foo would always fail.
140 [fixed in 5.0.5 - spell S_ISFIFO correctly]
142 x pdksh 5.0.4, -: test ! ! foo would generate error (unexpected !)
143 [fixed in 5.0.5 - nexpr() always calls nexpr(), changes to posix code]
145 x pdksh 5.0.4, -: set -i would generate an internal error.
146 [fixed in 5.0.5 - use OF_SET in creating set_opts]
148 x pdksh 5.0.4, -: let 0>22 would evaluate to true (and 0<22 false)
149 [fixed in 5.0.5 - reversed order of O_LT and O_GT in enum]
151 x pdksh 5.0.4, - (reported by Sean Hogan): echo does not process escape
152 characters (ie, echo "foo\c" doesn't to the sysV thing)
154 [fixed in 5.0.5 - echo now behaves like sysv echo]
156 x pdksh 5.0.4, - (reported by Sean Hogan): tty process groups not restored
157 properly (vi, :sh, exit causes vi to received SIGTTOU).
159 [fixed in 5.0.5 - restore tty process group in j_exit]
161 x pdksh 5.0.4, - (reported by Sean Hogan): the exit command does not do the
163 [see Mail.1:94,95,98]
164 [fixed in 5.0.5 - added LSHELL, hack c_exitreturn to use it]
166 x pdksh 5.0.3, ISC unix 3.01 (reported by Sean Hogan): if notify is set,
167 running cat & produces "[1] + Stopped (tty input) cat", but jobs, fg,
168 etc. don't know about the job.
170 I get [1] + Stopped (tty input) cat. Interestingly, "jobs" reports
171 nothing, and "fg" doesn't see it either. But it's definitely there in
172 the ps output. It only responds to kill -9, nothing else. I guess this
174 [see also Mail.1:97,Mail.2:2,3]
175 [fixed in 5.0.6 - don't remove stopped jobs in the notify code of check_job()]
177 x pdksh 5.0.5, - (reported by Sean Hogan): repeated history commands were being
178 echoed after the command was executed.
180 [fixed in 5.0.6 - call shf_flush() in case SHIST: of yylex()]
182 x pdksh 5.0.5, -: wait with no arguments would hang forever.
183 [fixed in 5.0.6 - only wait for running jobs in waitfor()]
185 x pdksh 5.0.2, HP-UX 9.01 (reported by Sean Hogan): scripts occasionally get
188 I noticed another small problem today, which is that occasionally
189 (on an HP 9000/715, HP-UX 9.01, cc from the ANSI C developer set)
190 a background process which is definitely not reading from its input
191 stops with SIGTTIN. I first noticed this with a nohup'ed process, but
192 it periodically happens without as well. The process is a perl script,
193 if that makes any difference. Have you seen this on your HP(s)?
194 [hasn't been seen in 5.0.3: Mail.1:73,76]
195 [not a shell bug, see Mail.2:14,15]
197 x pdksh 5.0.6, - (reported by Gordan Larson, Ed Ferguson): shell does not
198 compile when VI isn't defined.
200 [fixed in 5.0.7 - fixed up lex.c]
202 x pdksh 5.0.6, - (reported by Gordan Larson): ksh.1 font typo.
206 x pdksh 5.0.6, FreeBSd 1.1.5 (reported by Thomas Gellekum): CLK_TCK is defined
207 to wrong value on FreeBSD; no depend target in Makefile; update /etc/shells
210 [fixed in 5.0.7 - include <limits.h> in sh.h to get the right value; added
211 depend target; print warning if ksh not in /etc/shells]
213 x pdksh 5.0.6, - (reported by Michael Haardt): shell does not compile if JOBS
216 [fixed in 5.0.7 - added ifdefs to jobs.c(check_job)]
218 x pdksh 5.0.6, - (reported by Nick Holloway): exit status of command
219 substitution is lost (known problem).
221 This is a variation on a theme of bug number 10 (and is one reason why
222 currently ksh can not be used for Linux's MAKEDEV).
224 The exit status from command substitution is not available when used with
227 x=`false` && echo "Non-zero exit status lost".
228 [fixed in 5.0.7 - instead of faking :, set rv to subst_exstat]
230 x pdksh 5.0.7 - (reported by Sean Hogan): CMASK redefined in emacs.c
232 [fixed in 5.0.8 changed CMASK to CHARMASK]
234 x pdksh 5.0.7 - (reported by Sean Hogan): "r" (fc -e -) doesn't work.
236 [fixed in 5.0.8 - increment wp, change strcmp() test]
238 x pdksh 5.0.7 - (reported by Thomas Gellekum): make install typeo.
240 [fixed in 5.0.8 - added missing $]
242 x pdksh 5.0.8 - (reported by Sean Hogan): "FOO=bar exec blah" does not
243 put FOO in environment.
245 [fixed in 5.0.9 - re-arranged exec/command/builtin code in comexec()]
247 x pdksh 5.0.8, QNX 4.2 (reported by Brian Campbell): "exec > /dev/null"
250 [see Mail.2.58 - caused by ambitious compiler using same label for c_exec()
252 [fixed in 5.0.9 - c_exec() no longer an empty function.]
254 x pdksh 5.0.8, - (reported by Brian Campbell): "echo a{b," prints a "Missing }"
255 error - at&t ksh does not. at&t ksh always has brace-expansion on (unless
258 [fixed in 5.0.9 - brace expansion now compatible with at&t ksh]
260 x pdksh 5.0.8, - (reported by Sean Hogan): ulimit output garbled; syntax error
261 in c_ulimit.c; no configure check for HAVE_SETRLIMIT.
263 [fixed in 5.0.9 - use shprintf instead of shellf to print values; add
264 setrlimit() check to configure]
266 x pdksh 5.0.7, - (reported by Jan Djarv): `echo > /foo/bar' causes a script to
267 exit - POSIX says it shouldn't.
269 [fixed in 5.0.9 - iosetup returns error code, error messages cleaned up, etc]
271 x pdksh 5.0.8, - : `more /etc/passwd &' followed by fg messes up tty settings.
272 [fixed in 5.0.9 - only save new tty settings if job originally started in fg]
274 x pdksh 5.0.9, - (reported by Andrew Moore): a blank line causes $? to be
275 set to zero, newline after a here-document marker isn't read.
277 [fixed in 5.0.10 - don't execute null trees, read the newline]
279 x pdksh 5.0.9, - (reported by Michael Sullivan): mail checking reports you
280 have mail, when there is only old mail.
281 [fixed in 5.0.10 - use atime/mtime instead of size]
283 x pdksh 5.0.9, - (reported by Chris Oates): if RANDOM is in ksh's environ
284 when it starts, the shell dumps core.
286 [fixed in 5.0.10 - var.c(typeset): free t->val.s instead of
289 x pdksh 5.0.9, - (reported by Seah Hogan): ISC 3.01's make is confused by
290 a backslash followed by a blank line.
292 [fixed in 5.0.10 - changed make depend target to change blank lines to sh.h]
294 x pdksh 5.0.9, - (reported by Andrew Moore): commands without a newline cause
295 syntax errors - sh/ksh execute the commands.
297 [fixed in 5.0.10 - have yyparse() accept newline and EOF]
299 x pdksh 5.0.9, - (reported by Andrew Moore): empty arithmetic expressions not
302 [fixed in 5.0.10 - v_evaluate(): if first token is END, changed to literal 0]
304 x pdksh 5.0.9, - (reported by Andrew Moore): nulls in input are not ignored.
306 [fixed in 5.0.10 - added strip_nuls() function and calls to it]
308 x pdksh 5.0.9, - (reported by Andrew Moore): \241 (M-!) not passed through
309 command substitutions.
311 [fixed in 5.0.10 - evaluate(): cast c to a char before comparing to MAGIC]
313 x pdksh 5.0.9, - (reported by Andrew Moore): newlines after here-documents
314 are read twice; shell reports an error if newline is missing.
316 [fixed in 5.0.10 - fixed up readhere()]
318 x pdksh 5.0.9, - (reported with fix by Mike Jetzer): 'r r' repeats the r
321 [fixed in 5.0.10 - start the search from the previous command]
323 x pdksh 5.0.9, - (reported by Mike Jetzer): edit of multi-line commands
324 does not result in single history entry.
326 [fixed in 5.0.10 - use hist_append() to add second+ lines]
328 x pdksh 5.0.9, - (reported by Dale DePriest): ksh_times.h uses BROKEN_TIMES
330 [fixed in 5.0.10 - changed ksh_times.h]
332 x pdksh 5.0.9, - (reported by J. T. Conklin): using [ instead of test is slow.
334 [fixed in 5.0.10 - put in kludgy check for [ in eval.c(glob)]
336 x pdksh 5.0.9, - (reported by Michael Haardt): signals do not interrupt
339 [fixed in 5.0.10 - changed c_read() to check for fatal signals after EINTR]
341 x pdksh 5.0.10, BSDI (reported by David Tamkin): use of _POSIX_VDISABLE in
342 tty.h causes compiler error.
344 [fixed in 5.0.10.1 - new variable vdisable_c set/used in edit.c]
346 x pdksh 5.0.8, - (reported by Donald Craig): on systems with both union wait
347 and waitpid(), waitpid() is passed a union wait pointer instead of an int
350 [fixed in 5.1 - added ksh_waitpid() define; cast status arg as needed.]
352 x pdksh 5.0.10, - (reported by David Tamkin): space in vi command mode does
355 [fixed in 5.1 - vi.c(classify[]) table got changed by accident.]
357 x pdksh 5.0.10, - (reported by Danial Quinlan): forward-word and
358 delete-word-forward functions in emacs don't go to the right place.
360 [Fixed in 5.1 - changed order of loops in emacs.c(x_fword())]
362 x pdksh 5.0.10, - (reported by David Tamkin): eof in multiline command
363 causes shell to exit, even if ignoreeof is set.
365 [Fixed in 5.1 - reset eof after longjmp() in main.c(shell)]
367 x pdksh 5.0.9, Ultrix 4.2 (reported by Matthew Nethook): type-ahead while
368 shell is waiting for a command to finish is temporarily lost until a
369 program that reads from stdin or goes a stty/gtty is run.
371 [Fixed in 5.1 - changed aclocal.m4 to not define HAVE_TERMIOS_H on ultrix]
373 x pdksh 5.0.10, - (reported by David Tamkin): if INT is trapped, ^C in
374 vi/emacs won't flush buffer/re-issue new prompt.
376 [Fixed in 5.1 - use unwind() in vi/emacs to get back to shell()]
378 x pdksh 5.0.10, - (reported by Dale DePriest): in emacs mode, file completions
379 resulting in long names (>256) cause core dumps
381 [Fixed in 5.1 - use dynamically sized buffers in emacs code]
383 x pdksh 5.0.10, - (reported by Dale DePriest): in emacs mode, command
384 completions (^[=) resulting in multiple hits caused internal memory error.
386 [Fixed in 5.1 - don't call list_stash() twice in compl_command]
388 x pdksh 5.0.10, - (reported by Dave Hatton): autoloading functions fail
389 on the first attempt, then work.
391 [Fixed in 5.1 - in findcom(), check for include() returning non-0 (was 0)]
393 x pdksh 5.0.10, - (reported by Art Pina via Dale DePriest): when SECONDS
394 parameter is assigned, it always acts as if 0 were assigned.
396 [Fixed in 5.1 - set internal seconds variable to time - assigned value]
398 x pdksh 5.1.0 - (reported by Larry Bouzane): for/select loops don't allow
399 {..} to be used instead of do...done.
401 [Fixed in 5.1.1 - changed syn.c(dogroup) to allow {/} instead of do/done]
403 x pdksh 5.1.0 - (reported by Andrew Moore and Larry Bouzane): a command ending
404 in ; or & that is not followed by a newline causes a syntax error.
406 [Fixed in 5.1.1 - don't call syntaxerr() in get_command() if EOF is read]
408 x pdksh 5.1.0, - (reported by Simon J. Gerraty): ksh died reading history
409 file (complex history, in hist_skip_backup()).
411 [Fixed in 5.1.1 - hist_skip_back(): don't start past the end of the buffer]
413 x pdksh 5.1.0 BSDI 1.1 (reported by Karl Denninger): after receipt of SIGHUP,
414 shell waits for foreground process to complete.
416 [Fixed in 5.1.1 - added fatal_trap flag, check in jobs.c(j_waitj)]
418 x pdksh 5.1.0 - (reported by Bob Manson): a leading non-white-space IFS
419 character does cause a field to be delimited.
421 [Fixed in 5.1.2 - changed expand() to do the right thing.]
423 x pdksh 5.1.2, -: ^c during $ENV or .profile kills shell; should just go
426 [fixed in 5.2.4 - added intr_ok flag to main.c(include)]
428 x pdksh 5.1.2, - (reported by Dan Quinlan): when shell prints out
429 execution trees (typeset -f), if botches elif statements.
431 [fixed in 5.1.3 - changed tree.c(ptree) to deal with elif.]
433 x pdksh 5.1.2, - (reported by Dale DePriest): fc -l -- -40 fails if there
434 are fewer than 40 commands.
436 [fixed in 5.1.3 - changed history.c(histget) to allow out of range numbers]
438 x pdksh 5.1.2, - (reported by Art Mills): file completion in command mode
439 doesn't work on a single character.
441 [fixed in 5.1.3 - in vi.c(vi_cmd) call complete_word() with 1 not 0]
443 x pdksh 5.1.2, - (reported by Dan Quinlan): an error in a let statement
444 causes shell to exit function/script. at&t ksh just prints error and
447 [fixed in 5.2.3 - added error_ok arg to evaluate() and v_evaluate()]
449 x pdksh 5.1.2, - (reported by Art Mills): if markdirs option is set, file
450 completion in vi adds two slashes to directories.
452 [fixed in 5.1.3 - vi.c(complete_word), don't add / if file ends in one]
454 x pdksh 5.1.2, - (reported by Dale DePriest): history read from history file
455 have negative numbers and can't be accessed (fc thinks neg numbers are
458 [fixed in 5.1.3 - EASY_HISTORY/hist_init: increment line for each line]
460 x pdksh 5.1.2, - (reported by David Tamkin): FPATH isn't searched if PATH
461 search can't find command (undocumented at&t ksh feature).
463 [fixed in 5.1.3 - exec.c(findcom) search FPATH if PATH search fails]
465 x pdksh 5.1.2, - (reported by Dan Quinlan): output typeset -f isn't
466 very pretty (no indenting done).
468 [fixed in 5.1.3 - indenting added to ptree routines]
470 x pdksh 5.0.9, ISC 3.2 (reported by cobra@guarany.cpd.unb.br): Running the
471 following script with pdksh crashes the machine:
473 The same command in an interactive pdksh does not cause a crash.
474 [see Mail.3:21,Mail.5:62]
475 [Fixed by Interactive - it is caused by an OS bug for which there is a patch]
477 x pdksh 5.1.3, linux - (reported by Dan Quinlan): doesn't compile under new
478 linux due to declaration conflict between basename() in unistd.h and
481 [fixed in 5.2.0 - changed basename() to arrayname()]
483 x pdksh 5.1.3, - (reported by William Hudacek): very long prompts cause
484 vi command line editor grief.
486 [fixed in 5.2.0 - initial part of prompt is stripped if its too long]
488 x pdksh 5.1.3, - (reported by Roberto Zacheo): when set -u, variable trimming
489 with always causes an error.
491 [fixed in 5.2.0 - fixed varsub() to test if variable is null]
493 x pdksh 5.1.3, - (reported by David Tamkin): when a function is autoloaded,
494 ksh complains the definition file didn't define the function, even if it did.
496 [fixed in 5.2.0 - exec.c(comexec): when checking if defined, use cp,
498 x pdksh 5.1.3, ICS unix 3.2 (reported by Robert Clark): auto configuration
499 test for memmove doesn't work
501 [fixed in 5.2.0 - special cases added for memmove, bcopy, memset]
503 x pdksh 5.1.3, Unixware (Intel-SVR4.2) (reported by Thanh Ma): auto
504 configuration test for memset doesn't work; same for rlimit type.
506 [fixed in 5.2.0 - special cases added for memmove, bcopy, memset; rlim_t
507 configuration stuff re-arranged]
509 x pdksh 5.1.3, - (reported by Mike Jetzer + fix): . in vi doesn't work
510 after history motion or after one command is completed and another is being
513 [fixed in 5.2.0 - fix up classify table, special case for empty initial
516 x pdksh 5.1.3, - Janjaap van Velthooven: ^v (version) missing in vi mode.
518 [fixed in 5.2.0 - added]
520 x pdksh 5.1.3, - : y% on or before right bracket/paren/brace doesn't yank the
521 brackets - just what is in the brackets...
522 [fixed in 5.2.0 - changes to vi.c(domove,vi_cmd)]
524 x pdksh 5.1.3, - (reported by Rob Mayoff): [[ ]] command doesn't do lazy
527 [fixed in 5.2.1 - test routines re-arranged to deal with this]
529 x pdksh 5.1.3, - (reported by Will Renkel): "r | more" doesn't work (nothing
532 [fixed in 5.2.0 - history commands now done in c_fc, not pushed onto input
535 x pdksh 5.1.3, - (reported by Rod Byrne, John Rochester): if a program leaves
536 the non-blocking (O_NONBLOCK) flag set after it exists, the shell
537 exits (multiple eofs).
538 [see Mail.7:15,16,51]
539 [fixed in 5.2.0: O_NONBLOCK is reset if read fails with EAGAIN,EWOULDBLOCK]
541 x pdksh 5.1.3, - (reported by Dale DePriest + fix): emacs: can't delete chars
542 from pattern in incremental search mode.
544 [fixed in 5.2.0 - handle it]
546 x pdksh 5.1.3, Linux 1.2.2 (reported by Fritz Heinrichmeyer + fix): siglist.sh
547 doesn't work due to bug in bash 1.4.3 (trap is called incorrectly in
548 subshell causing temp file to be removed prematurely).
550 [fixed in 5.2.0 - clear all traps in subshell so file isn't removed]
552 x pdksh 5.1.3, - (reported by Dale DePriest + fix): emacs: can't prefix
553 commands with more than single digit; many commands don't use nnumber
556 [fixed in 5.2.0 - x_set_arg reads sequence of numbers, other commands
557 changed to use x_arg]
559 x pdksh 5.1.3, - (reported by Dale DePriest): fc command line parsing
560 (and its interaction with history alias) doesn't act like at&t ksh:
561 history -40 gives bad option 4 error.
563 [fixed in 5.2.1 - kludge parsing of -40 (numbers are option letters)]
565 x pdksh 5.1.3, - (reported by Dale DePriest): if PS1 contains paramaters that
566 get expanded, and if those parameters contain any ! characters, the !'s get
567 changed to history numbers.
569 [fixed in 5.2.0 - substitution done after ! and !! substitution]
571 x pdksh 5.1.3, - (reported by Steve Wallis): set -a (set -o allexport) has
574 [fixed in 5.2.0 - changes to c_read, c_getopts, and comexec]
576 x pdksh 5.1.3, - (reported by Alexander S. Jones): (sleep 10000&) waits for
577 the sleep to complete.
579 [fixed in 5.2.0 - execute() case TASYNC clears EXEC flag in call to execute]
581 x pdksh 5.1.3, - (reported by Will Renkel): positional parameters can't be
582 accessed within temporary variable assignments (eg, "FOO=$1 blah" doesn't
585 [fixed in 5.2.0 - var.c(newblock) - copy argc/argv from previous environment]
587 x pdksh 5.1.3, SCO unix ? (reported by Sean Hogan): job control stuff doesn't
588 work as sco doesn't do job control operations on /dev/tty.
589 [see Mail.7:30,43,69,70,74]
590 [fixed in 5.2.0 - don't try opening /dev/tty if on SCO]
592 x pdksh 5.1.3, - (reported with fix by Mike Jetzer): vi globing tacks
593 * at the end of files even if there are globing chars in last component
594 of filename (at&t ksh does not).
596 [fixed in 5.2.0 - don't append * if there are unescaped globing chars]
598 x pdksh 5.1.3, - (reported with fix by Gabor Zahemszky): typoes in acconfig.h,
599 sh.h uses SVR3_PGRP insteda of SYSV_PGRP.
603 x pdksh 5.1.3, - (reported by Gabor Zahemszky): emacs doesn't have ^[^].
605 [fixed in 5.2.0 - added search-char-backward]
607 x pdksh 5.2.0, - (reported by David Tamkin): pwd -P doesn't strip .. and .
610 [fixed in 5.2.0 - include ksh_stat.h in c_ksh.c]
612 x pdksh 5.2.0, - (reported by Dale DePriest): unistd.h config test
613 doesn't include sys/types before dirent.h.
617 x pdksh 5.2.0, - (reported by Robert Gallant): emacs file/command completion
618 code can clobber memory.
620 [fixed in 5.2.1 - wrong variable being checked in buffer growing in
621 emacs.c(compl_file,compl_command)]
623 x pdksh 5.2.0, - (reported by David Tamkin): when CDPATH set and cd'ing to a
624 directory that doesn't exist, the error message contains the last element
627 [fixed in 5.2.0 - fixed error message]
629 x pdksh 5.2.0, - (reported by David Tamkin): if PS1 has an error in it
630 (eg, parameter expansion error), the shell loops forever printing
633 [fixed in 5.2.3 - create error handling environment while expanding PS1]
635 x pdksh 5.2.0, Coherent machines (reported by Gabor Zahemszky): insert after
636 movement in emacs mode replaces all chars with first char on line.
637 System's bcopy doesn't handle overlapping src/dst.
639 [fixed in 5.2.1 - check for broken memmove/bcopy in aclocal.m4]
641 x pdksh 5.2.0, - (reported by Gabor Zahemszky): ^[= in vi prints empty
642 strings for directory matches if markdirs is set.
644 [fixed in 5.2.1 - skip trailing /'s before looking for last /]
646 x pdksh 5.2.0, - (reported by Gabor Zahemszky): <ESC>^H bound to del-back-char
649 [fixed in 5.2.1 - fixed x_emacs_keys]
651 x pdksh 5.2.1, - (reported by David Tamkin): compile fails due to lack
654 [fixed in 5.2.2 - fixed put c_test.h in distribution]
656 x pdksh 5.2.2, - (reported by Simon J. Gerraty): hist_source not being
657 initialized in complex history.
659 [fixed in 5.2.3 - set it in second hist_init()]
661 x pdksh 5.2.2, - (reported by Gabor Zahemszky): set -A does not reset
664 [fixed in 5.2.3 - changed var.c(unset) to unset whole array if appropriate]
666 x pdksh 5.2.2, - (reported by Gabor Zahemszky): getopts stops after an error;
667 at&t ksh carries on with next option.
669 [fixed in 5.2.3 - remove GI_DONE flag from ksh_getopt()]
671 x pdksh 5.2.2, - (reported by Gabor Zahemszky): getopts prints shell name
672 twice in error messages.
674 [fixed in 5.2.3 - added GI_NONAME flag]
676 x pdksh 5.2.2, - (reported by Gabor Zahemszky): pdksh's test doesn't know about
679 [fixed in 5.2.3 - added test_stat() and test_eaccess()]
681 x pdksh 5.2.2, - (reported by Thomas Gellekum): config test for memmove/bcopy
686 x pdksh 5.2.2, - (reported by Donald Craig): fc string doesn't find string
687 if it is the most recent command.
689 [fixed in 5.2.3 - fixed off by one error in history.c(hist_get)]
691 x pdksh 5.2.2, - (reported by Gabor Zahemszky): pdksh doesn't do the
692 "You have running jobs" when user attempts to log out.
694 [fixed in 5.2.3 - added set -o nohup option with supporting code]
696 x pdksh 5.2.2, - (reported by Gabor Zahemszky): configure test for
697 broken memmove/bcopy doesn't work.
699 [fixed in 5.2.3 - fixed test to copy overlapping buffers]
701 x pdksh 5.1.3, - (reported by <wendt@sv5.mch.sni.de>): doesn't compile on
702 solaris 5.x with COMPLEX_HISTORY defined.
704 [fixed in 5.2.3 - undef COMPLEX_HISTORY if flock not available]
706 x pdksh 5.2.2, - (reported by Gabor Zahemszky): tilde expansion not preformed
707 in word part of ${foo[-+=?} substitution.
709 [fixed in 5.2.3 - allow ~foo to end in a close brace]
711 x pdksh 5.2.2, - (reported by Gabor Zahemszky): "fc 30" edits from 30 to
712 most recent history (should be just 30).
714 [fixed in 5.2.3 - if !-l and no last given, use first]
716 x pdksh 5.2.2, - (reported by Gabor Zahemszky): [many problems with man page]
718 [fixed in 5.2.3 - fixed problems]
720 x pdksh 5.2.2, - (reported by Gabor Zahemszky): #else followed by non-comment
723 [fixed in 5.2.3 - turn it into a comment]
725 x pdksh 5.2.2, - (reported with fix by Gabor Zahemszky): two argument form of
728 [fixed in 5.2.3 - in c_cd(), use current_wd not path]
730 x pdksh 5.2.2, - (reported with fix by Gabor Zahemszky): command -V doesn't
731 report reserved words.
733 [fixed in 5.2.3 - in c_whence(), look for reserved words if vflag set]
735 x pdksh 5.2.3, - (reported by Dale DePriest): at&t's tbl wants space
736 between font specification and end of table descrption (ie, fB . not
739 [fixed in 5.2.4 - put spaces in]
741 x pdksh 5.2.3, - (reported by David Tamkin & Claus L{gel Rasmussen): PS1
742 isn't imported from environment anymore.
744 [fixed in 5.2.4 - main: don't set PS1 if it is already set]
746 x pdksh 5.2.3, - (reported by Gary Rafe): If PS1 contains newlines, vi
747 editing mode dones't redraw lines properly.
749 [fixed in 5.2.4 - added prompt_skip stuff to vi/emacs]
751 x pdksh 5.2.3, - (reported & fixed by Mike Jetzer): cd: error message if
752 directory didn't exist was wrong.
754 [fixed in 5.2.4 - print correct string in error message]
756 x pdksh 5.2.3, - (reported & fixed by Mike Jetzer): vi: <ESC>* shouldn't append
757 a * if word contains a $.
759 [fixed in 5.2.4 - vi.c(glob_word): check for $ in word, check for null
762 x pdksh 5.2.3, - (reported & fixed by Mike Jetzer): vi: <ESC>= doesn't
763 list expansions in column form.
765 [fixed in 5.2.4 - use pr_menu to print things nicely]
767 x pdksh 5.2.3, - (reported Larry Bouzane): should be a way of installing
768 binary/man page as pdksh instead of ksh.
770 [fixed in 5.2.4 - use the --enable-shell=pdksh option to configure]
772 x pdksh 5.2.3, - (reported by Gabor Zahemszky): [many problems with man
775 [fixed in 5.2.4 - fixed problems]
777 x pdksh 5.2.3, - (reported by Gabor Zahemszky): exec 1<&9 reports
778 error with ">&9" in it.
780 [fixed in 5.2.4 - changed iosetup()]
782 x pdksh 5.2.3, - (reported by Gabor Zahemszky): man page doesn't document
785 [fixed in 5.2.4 - updated manual]
787 x pdksh 5.2.3, - (reported by Ted Coady): [[ foo/bar = foo* ]]
788 fails; should succeed.
790 [fixed in 5.2.4 - fixed problem in exec.c(dbteste_getopnd)]
792 x pdksh 5.2.3, - (reported by Ruei-wun Tu): make on NeXT/NeXTSTEP 3.3
793 doesn't understand .PRECIOUS target and so does nothing.
795 [fixed in 5.2.4 - moved .PRECIOUS after all in Makefile.in]
797 x pdksh 5.2.3, - (reported & fixed by Paul Borman): shell doesn't kill
798 foreground process when SIGHUP received; Also, CONT sent before HUP.
800 [fixed in 5.2.4 - j_exit now sends HUP to foreground process]
802 x pdksh 5.2.3, AIX 3.2.5 (reported by Ian Portsmouth): C compiler compains
803 about sigtraps[] being re-declared in trap.c.
805 [fixed in 5.2.4 - use cpp define to avoid bogus re-declaration error]
807 x pdksh 5.2.3, - (reported by Michael Haardt): ENV should not be
808 included if shell is compiled as sh and posix option not set.
810 [fixed in 5.2.4 - only include ENV if POSIX, if compiled as sh]
812 x pdksh 5.2.3, - (reported & fixed by DaviD W. Sanderson): case statements
813 don't allow {/} in place of IN/ESAC.
815 [fixed in 5.2.4 - allow {/} in case statements]
817 x pdksh 5.2.3, - (reported by Larry Daffner): $? is incorrectly zero'd
820 [fixed in 5.2.4 - don't clear exstat in main.c(shell)]
822 x pdksh 5.2.3, - (reported by Frank "Crash" Edwards): configure on linux XXX
823 doesn't detect the presence of lstat().
825 [fixed in 5.2.4 - change configure to include <sys/stat.h> in lstat() test]
827 x pdksh 5.2.3, - (reported by Gabor Zahemszky): typeset -f dumps core
828 in the after using autoload functions.
830 [fixed in 5.2.4 - c_typeset no longer traverses the array link for functions]
832 x pdksh 5.2.3, - (reported by Gabor Zahemszky): typeset -f does not report
833 undefined autoload functions
835 [fixed in 5.2.4 - c_typeset: don't ignore unset functions]
837 x pdksh 5.2.3, - (reported by Dale DePriest): alias -t -r does not
840 [fixed in 5.2.4 - c_alias: call ksh_getopt_reset() before calling c_unalias]
842 x pdksh 5.2.3, - (reported & fixed by Jason Tyler): 'echo abc^Jfc -e - a=b e'
845 [fixed in 5.2.4 - hist_replace: use s, not last]
847 x pdksh 5.2.3, - (reported by Jason Tyler): 'fc -e -' when there is
848 no history causes infinite loop.
850 [fixed in 5.2.4 - histbackup: allow histptr to go below history]
852 x pdksh 5.2.4, - (reported by David Tamkin): jmp_buf is used instead of
855 [fixed in 5.2.5 - added ksh_jmp_buf and defined appropriately]
857 x pdksh 5.2.4, - (reported by Stephen Coffin): /<RETURN> in vi mode does not
860 [fixed in 5.2.5 - vi.c(vi_hook) - make it repeat last search]
862 x pdksh 5.2.4, - (reported by Gabor Zahemszky): functions containing select
863 commands aren't printed correctly by typeset.
865 [fixed in 5.2.5 - tree.c(ptree) - add case for TSELECT]
867 x pdksh 5.2.4, - (reported & fixed by Stefan Dalibor): COLUMNS isn't set on
868 shell start up (and window size is ignored) 'cause tty_fd isn't valid when
871 [fixed in 5.2.5 - call x_init() after j_init() is called]
873 x pdksh 5.2.4, - (reported by Will Renkel): "echo -" just prints a blank
874 line - should print the minus.
876 [fixed in 5.2.5 - c_ksh.c(c_print): don't do argument parsing on lone -]
878 x pdksh 5.1.3, - (reported by Gabor Zahemszky): emacs doesn't have ^[*.
882 x pdksh 5.2.3, - (reported by Mike Jetzer): in vi, <ESC>= doesn't append
883 a / after directories.
887 x pdksh 5.2.0, - (reported by Gabor Zahemszky): can set readonly variables
888 via command assignments (eg, "readonly x=y; x=z /bin/echo hi" should
891 [fixed in 5.2.5 - LOCAL_COPY flag passed from comexec() down to local()]
893 x pdksh 5.2.4, - (reported by Tom Karches): history: "r old=new", with
894 no commands prefix given, prints "fc: too mnay arguments" - it should
895 do the subst on the previous command.
899 x pdksh 5.2.3, - (reported by Vigen Pogosyan): assignments in $(( ... ))
900 remember the base that was assigned in pdksh - does not in at&t ksh.
902 [fixed in 5.2.5: uset setint() in expr.c(evalexpr)]
904 x pdksh 5.2.4, - (reported by Gabor Zahemszky): emacs: ^O steps down
905 two lines (should be 1).
907 [fixed in 5.2.5: convert history line to command number, then convert back]
909 x pdksh 5.2.3, - (reported by David Gast(? gast@twinsun.com)): fc -ln -1 -1
910 reports the current command, not the previous command.
914 x pdksh 5.2.3, - (reported by Matthew Green): foo=`^Jecho bar` doesn't
915 set foo to bar (foo is empty).
917 [fixed in 5.2.5: syn.c: set multiline.on when source is SSTRING]
919 x pdksh 5.2.5, - (reported by Gabor Zahemszky): continue/break: if n
920 is too big, shell prints internal error message.
922 [fixed in 5.2.6: fix c_brkcont to use last loop if n is too big]
924 x pdksh 5.2.5, - (reported by Gabor Zahemszky): set: +o in ksh93
925 prints command that sets various options.
927 [fixed in 5.2.6: changed misc.c(printoptions)]
929 x pdksh 5.2.5, - (reported by Gabor Zahemszky): COLUMNS/LINES variables
932 [fixed in 5.2.6: use typeset() in edit.c(x_init) to export COLUMNS/LINES]
934 x pdksh 5.2.5, - (reported by Gabor Zahemszky): emacs: <ESC><ESC> puts
935 space after completed directories.
937 [fixed in 5.2.6: check for single/non-directory match in emacs.c(do_complete)]
939 x pdksh 5.2.5, - (reported by Gabor Zahemszky): vi: # removes comment
940 and executes if command already commented.
942 [fixed in 5.2.6: added vi.c(do_comment)]
944 x pdksh 5.2.7, - (reported by Adrian Marsh): test doesn't have == operator.
946 [fixed in 5.2.8: added == to c_test.c operator table]
948 x pdksh 5.2.7, - (reported by Mike Jetzer): pdksh sets/exports COLUMNS/LINES
949 which causes applications not to respond to window size changes.
951 [fixed in 5.2.8: COLUMNS/LINES no longer exported automatically]
953 x pdksh 5.2.7, - (reported by Gabor Zahemszky): getopts sets OPTIND differently
954 that at&t ksh when a bad option is given.
956 [fixed in 5.2.8: OPTIND not set if option was bad - fragile fix - may go away]
958 x pdksh 5.2.7, - (reported with fix by Marc Olzheim): sh version shouldn't
959 have mail check stuff, macro expansion in PS[0-9].
960 [fixed in 5.2.8: added lots of ifdefs]
962 x pdksh 5.2.7, - (reported by Gabor Zahemszky): sub commands in PS1 cause
963 a warning message to be printed.
965 [fixed in 5.2.8: lex.c(set_prompt) - don't print the warning message]
967 x pdksh 5.2.7, - (reported by Tom Watson): some environment variables
968 (eg, PATH) are converted to uppercase on 16-bit int machine.
970 [fixed in 5.2.8: struct tbl.flag (32 bit thing) was being treated as an
973 x pdksh 5.2.7, - (reported by Gabor Zahemszky): unset always returns 0 - should
974 return 1 if variable/function is not set.
976 [fixed in 5.2.8: fixed c_sh.c(c_unset)]
978 x pdksh 5.2.7, - (reported by Gabor Zahemszky): select should only print the
979 menu the first time, if REPLAY is empty, or if a blank line is entered.
981 [fixed in 5.2.8: fixed up exec.c(execute,do_selectargs)]
983 x pdksh 5.2.7, - (reported by Gabor Zahemszky): shell reports "cannot execute"
984 error if file exists, even if . not in path.
986 [fixed in 5.2.8: fixed up exec.c(comexec)]
988 x pdksh 5.1.3, - (reported with partial fix by ra@rhi.hi.is): shell doesn't
990 [see Mail.7:7 and related]
991 [fixed in 5.2.8: changed edit.c(x_init) to catch sigwinch]
993 x pdksh 5.2.7, - (reported by Gabor Zahemszky): typeset doesn't report
994 variables that have attributes (like export) but no values.
996 [fixed in 5.2.8: fixed up c_ksh.c(c_typeset)]
998 x pdksh 5.2.7, - (reported by Gabor Zahemszky): error message printed as
999 a result of "set -o nounset" is different from at7t ksh.
1001 [fixed in 5.2.8: fixed error messges in eval.c]
1003 x pdksh 5.2.7, - (reported by Gabor Zahemszky): vi/emacs: when listing
1004 command/file completions, should go back at most one space. Also, should
1005 allow completions on zero length names.
1007 [fixed in 5.2.8: fixed edit.c(x_locate_word); now allows zero-length
1008 file completions (but not command)]
1010 * pdksh 5.2.7, - (reported by Gabor Zahemszky): emacs: <esc># doesn't do
1013 [fixed in 5.2.8: added emacs.c(x_comment) et al.]
1015 x pdksh 5.2.7, - (reported by Gabor Zahemszky): arithmatic expressions
1016 containing variables not expanded as in at&t ksh. eg, "x=1+2, let y=x"
1019 [fixed in 5.2.8: added evaling/INEXPREVAL/ET_RECURSIVE code to expr.c]
1021 x pdksh 5.2.7, - (reported by Gabor Zahemszky): unsetting the 0th element
1022 of an array kills the whole array.
1024 [fixed in 5.2.8: var.c(unset) - allow ARRAY to be preserved]
1026 x pdksh 5.2.7, - (reported by Gabor Zahemszky): unsetting a function while
1027 it is being executed can result in core dump.
1029 [fixed in 5.2.8: table.c(texpand) - dont free if FINUSE is set]
1031 * pdksh 5.2.7, - (reported by Gabor Zahemszky): exec 3<&p doesn't close
1032 shells copy of the coprocess file desc.
1034 [fixed in 5.2.8: coprocess stuff made to act like ksh93 co-processes]
1036 x pdksh 5.2.8, - (reported with fix by Lars Hecking): doesn't compile as
1037 sh - c_ksh.c and jobs.c boom out.
1039 [fixed in 5.2.9: added ifdef KSH to appropriate places]
1041 x pdksh 5.2.8, - (reported by Paolo Zeppegno): assignments containing brackets
1042 are treated as commands.
1044 [fixed in 5.2.9: fixed bug in vars.c(skip_wdvarname).]
1046 x pdksh 5.2.5, - (reported by Adrian Marsh): configuration on Linux FT fails.
1047 Caused by configure script using -g flag - gcc passes -lg to ld, ld fails
1048 to find -lg (autoconf or Linux FT bug).
1050 [fixed in 5.2.9: changed autoconf's -g test to do linking as well.]
1052 x pdksh 5.2.8, Solaris 2.5.1 (reported by Stefan Dalibor): 2 tests
1053 (xxx-exec-environment-1 and 2) fail because printenv isn't found.
1055 [fixed in 5.2.9: changed test to use env instead]
1057 x pdksh 5.2.8, - (reported by Stefan Dalibor): shell assumes 80 columns when
1058 it starts up if COLUMNS is set correctly in the environ.
1060 [fixed in 5.2.9: fixed so window size is checked at startup]
1062 x pdksh 5.2.8, NeXT machines (reported by Kai Wong): clock_t, which lives
1063 in sys/time.h, isn't found by configure (causes warning messages).
1064 [fixed in 5.2.9: configure now checks in sys/time.h]
1066 x pdksh 5.2.3, - (reported by Mike Jetzer): in vi, <ESC>= on word with ~
1067 but no /, beeps (or prints final path component?).
1069 [fixed in 5.2.9: fixed edit.c(add_glob) so no * is appended to ~username]
1071 x pdksh 5.1.3, NeXT machines (reported by Jason Baugher): job control doesn't
1072 work on NeXT machines (both m68k and x86 based) in rlogin sessions.
1073 (caused by open("/dev/tty") failing - rlogin on NeXT doesn't set up
1074 controlling tty properly).
1076 [fixed in 5.2.9: added hack to main to get a controlling tty]
1078 x pdksh 5.2.8, NeXT 3.2 (reported by Andrew S Townley): the output of the
1079 siglist.sh script fills the disk. Also, the signal list generated (by the
1080 fixed script) is mostly empty.
1082 [fixed in 5.2.9: fixed siglist.sh script to avoid infinite loops. Added
1083 comment to README warning of problem with NeXT's native cc -E]
1085 x pdksh 5.2.9, - (reported by Loris Talpo): long prompts are messed up in
1088 [fixed in 5.2.9: lex.c(pprompt) was broken]
1090 x pdksh 5.2.9, - (reported by Will Renkel): a double backslash followed
1091 by a newline in an unquoted here document results in one of the backslashes
1092 and the newline being stripped.
1094 [fixed in 5.2.10: fixed backslash-newline processing in lex.c]
1096 x pdksh 5.2.9, - (reported by Han Holl): read x?prompt doesn't work
1097 on non-interactive shells when the input is from a tty.
1099 [fixed in 5.2.10: changed test in c_read() from FTALKING to isatty]
1101 x pdksh 5.2.10, - (reported by Dale DePriest): expanding aliases causes
1104 [fixed in 5.2.11: fixed syn.c(c_list).]
1106 x pdksh 5.2.10, - (reported by John Rochester): window size changes don't
1107 happen on Dec unix (osf) because TIOCGWINSZ is defined in <sys/ioctl.h>
1110 [fixed in 5.2.12: sys/ioctl.h included with termios.h/termio.h if possible]
1112 x pdksh 5.2.11, - (reported by Randy Bouzane): aliases in command substitutions
1113 result in code dumps.
1115 [fixed in 5.2.12: lex.c(getsc__): break if eof is read]
1117 x pdksh 5.2.11, - (reported by Will Renkel): aliases containing ;<newline>
1118 or <newline><newline> aren't fully read/executed.
1120 [fixed in 5.2.12: syn.c(get_command): call inalias()]
1122 x pdksh 5.2.11, SGI/IRIX 5.2 (reported by bert@xpilot.com): pipelines
1123 containing built in commands hang forever.
1125 [fixed in 5.2.12: fixed pgrp sync code in jobs.c]
1127 x pdksh 5.2.11, - (reported by Herbert Thielen via Larry Daffner): shell leaves
1128 temp files around when executing shell scripts that have functions with
1129 here documents which end in an exec.
1131 [fixed in 5.2.12: call main.c(cleanup_proc_env()) from exec.c(execute()).]
1133 x pdksh 5.2.12, - (reported with fix by Eric J. Chet via Thomas Gellekum):
1134 . can cause core dump when cleaning up.
1136 [fixed in 5.2.13: call shf_close() before quitenv()]
1138 x pdksh 5.2.12, - (reported by Bruce Burns): test with a single -t option
1139 always returns true (does a string test instead of isatty(1)).
1141 [fixed in 5.2.13: do the isatty(1) unless in posix mode]
1143 x pdksh 5.2.12, - (reported by David Tamkin): aliases ending in "; "
1144 cause continuation prompt to be printed.
1146 [fixed in 5.2.13: syn.c(c_list) now handles blank lines, removed cf=CONTIN
1147 in syn.c(get_command)]
1149 x pdksh 5.2.12, - (reported by Herbert Thielen via Larry Daffner): set
1150 does not allow +o and -o options in the same command line.
1152 [fixed in 5.2.13: changed ksh_getopt to remove exclusion code.]
1154 x pdksh 5.2.12, - (reported by Han Holl <jeholl@euronet.nl>):
1155 set -A foo -- bar doesn't skip the --.
1157 [fixed in 5.2.13: changed misc.c(parse_args) so A takes an option]
1159 x pdksh 5.2.12, - (reported by David Tamkin): -e (errexit) should be ignored
1160 when processing profile and ENV.
1162 [fixed in 5.2.13: errexit saved/cleared/restored in main()]
1164 x pdksh 5.2.12, - (reported by Han Holl <jeholl@euronet.nl>):
1165 [ -x foo ] succeeds for root if foo exists.
1167 [fixed in 5.2.13: changed c_test.c(test_access) to use stat in this case]
1169 x pdksh 5.2.4, - (reported by Gabor Zahemszky): echo ${foo[*]#/} generates
1170 bad substsitution error, newer ksh's don't (older ones do);
1171 error includes {...#@(/)}.
1172 [fixed in 5.2.13: moved the @(..) hack from yylex() to expand()]
1174 x pdksh 5.2.8, - : extended pattern globing doesn't handle nested parens (),
1175 e.g., [[ aby = +(a|b(x|y)) ]]
1177 x pdksh 5.2.12, - (reported by Marc Olzheim <marcolz@stack.nl>):
1178 "echo a | (echo b | echo c)" causes a core dump.
1180 [fixed in 5.2.13: clear XPIPEI,XPIPEO at start of jobs.c(exchild)]
1182 x pdksh 5.2.12, - (reported by Curt Finch <curt@pnk.com>): in an interactive
1183 shell, globbing isn't done on redirections if the command is part of
1184 a pipeline. e.g., in "cat < /tmp/*gz | grep foo", the /tmp/*gz is
1187 [fixed in 5.2.13: clear XPIPEI,XPIPEO at start of jobs.c(exchild)]
1189 x pdksh 5.2.12, - (reported with fix by Greg A. Woods <woods@most.weird.com>):
1190 in emacs, ^[_ (aka ^[.) gets the word from the previous line relative to
1191 where the current line came from in the history. It should get it from
1192 the last executed line ala at&t ksh.
1194 [fixed in 5.2.13: use absolute last command]
1196 x pdksh 5.2.12, - (reported by Gabor Zahemszky): MAILCHECK and MAIL
1197 don't report `new mail' unless MAIL is re-assigned.
1199 [fixed in 5.2.13: mail code was using variables memory, which was later
1200 trashed by exporting the MAIL variable. Fixed by saving copy of value.]
1202 x pdksh 5.2.12, - (reported by Gabor Zahemszky): memory gets badly fragmented
1203 when reversing a (large) file using a simple while read loop and variable
1206 [fixed in 5.2.13: alloc.c changed to allow malloc() to deal with large
1209 x pdksh 5.2.12, - (reported by Bernd Eggink <eggink@rrz.uni-hamburg.de>)
1210 ksh style functions don't save/reset/restore OPTIND.
1212 [fixed in 5.2.13: save and restore user_opt for ksh-style functions.]
1214 x pdksh 5.2.12, - (reported by Marc Olzheim <marcolz@stack.nl>)
1215 ${..%..} stuff don't work in SH mode.
1217 [fixed in 5.2.13: removed ifdef KSH from misc.c(do_gmatch)]
1219 x pdksh 5.2.12, - (reported with fix by George Robbins
1220 <grr@shandakor.tharsis.com>)
1221 in sh, "exec 3>&1" does not keep fd 3 open in executed commands.
1223 [fixed in 5.2.13: c_sh.c(c_exec): added ifdef KSH around fd_clexec() call]
1225 x pdksh 5.2.12, - (reported with fix by George White
1226 <gwhite@bodnext.bio.dfo.ca>)
1227 in remove_temps(main.c), space for name field is not allocated correctly.
1229 [fixed in 5.2.13: initialize t->name in new structure]
1231 x pdksh 5.2.12, - (reported with fix by Marc Olzheim <marcolz@stack.nl>):
1232 when at (past) end of the line, word/command completion will skip back
1234 [fixed in 5.2.13: edit.c(x_locate_word): delete special handling of
1237 x pdksh 5.2.12, - (reported by Mike Kelly <tfsmiles@ecst.csuchico.edu>):
1238 doting a directory (or a empty path) is allowed.
1240 [fixed in 5.2.13: exec.c(search_access): don't do non-regular files for R_OK]
1242 x pdksh 5.2.13, - (reported by Mike Kelly <tfsmiles@ecst.csuchico.edu>):
1243 typeset -f FUNC doesn't print follows command (and expression) substitutions.
1245 [fixed in 5.2.14: tree.c(tputS): add wp++]
1247 x pdksh 5.2.13, - (reported by Thomas Gellekum):
1248 make check fails on freebsd with "chmod 644 abcx failed - Inappropriate ...".
1250 [fixed in 5.2.14: make test/th convert permissions to octal]
1252 x pdksh 5.2.13, - (reported with fix by David E. Wexelblat):
1253 when re-allocating memory, too much may be copied from old memory.
1255 [fixed in 5.2.14: use min old old size and new size]
1257 x pdksh 5.2.13, - (reported with fix by David E. Wexelblat):
1258 set -o printed some options sans names.
1260 [fixed in 5.2.14: use 0 instead of null in options[] table]
1262 x pdksh 5.2.13, - (reported by Gabor Zahemszky):
1263 emacs mode: <esc>. in very fist command causes core dump.
1265 [fixed in 5.2.14: ring bell if no history in emacs.c(x_prev_histword)]
1267 x pdksh 5.2.13, - (reported by Keith S McCabe): pdksh dumps core
1270 [fixed in 5.2.14: exec.c(flushcom) was setting bits in table entry, instead
1271 of clearing a single bit]
1273 x pdksh 5.2.12, - (reported by Jaime A. Urquidi): typeset -i reports
1274 on array elements that have no value (at&t ksh reports on array
1275 base name - no index).
1277 [fixed in 5.2.14: hack to c_ksh.c(c_typeset) to generate the ksh88 style
1280 x pdksh 5.2.13, - (reported with fix by Todd C. Miller):
1281 ulimit -ctn unlimittttted kills shell (resource exceeded).
1283 [fixed in 5.2.14: hacked c_ulimit to generate error val is 0 and expr doesn't
1286 x pdksh 5.2.13, - (reported with fix by Theo de Raadt):
1287 ". /dev/null" says access denied.
1289 [fixed in 5.2.14: exec.c(search_access): allow non-regular file if reading]
1291 x pdksh 5.2.13, - (reported with fix by Eric Youngdale): flag field in aliases
1292 incorrectly changed (all flags set instead of clearing ISSET) in
1295 [fixed in 5.2.14: exec.c(flushcom): change = ~ISSET to &= ~ISSET]
1297 x pdksh 5.2.13, - (reported by Andre Delafontaine): ${#array[*]} prints
1298 largest index instead of number of (set) elements in an array (ksh88 does
1301 [fixed in 5.2.14: eval.c(varsub): count number of elements]
1303 x pdksh 5.2.13, - (reported by Clifford Wolf): sys_siglist[] doesn't
1304 always have NSIG non-null entries...
1306 [fixed in 5.2.14: trap.c(inittrap): check for null sys_siglist entries.]
1308 x pdksh 5.2.13, - (reported with fix by Todd C. Miller): waitfor in jobs.c
1309 can cause core dump if j_lookup fails.
1310 [fixed in 5.2.14: jobs.c(waitfor): return if j_lookup fails]
1312 x pdksh 5.2.13, - (reported by Martin Bond): if shell is started several
1313 times in quick succession, echo $RANDOM produces the same results.
1314 [fixed in 5.2.14: main.c(main): seed RANDOM using time, pid, ppid]
1316 x pdksh 5.2.13, - (reported by Martin Bond): repeating "echo `echo $RANDOM`"
1317 will always produce the same number.
1318 [fixed in 5.2.14: call var.c(change_random) from jobs.c(exchild)]
1320 x pdksh 5.2.13, hpux 10.x (reported by Mike Kelly): pwd will dump core if
1321 current directory is not readable.
1322 [fixed in 5.2.14: config test & code to work around hpux C library bug]
1324 x pdksh 5.2.13, linux (reported by Mike Jetzer): getwd warning from linker
1325 [fixed in 5.2.14: configure.in/misc.c: check for getcwd, use it over getwd]
1327 x pdksh 5.2.13, (reported by Dmitri Kulginov): "trap exit 1" does not set a
1328 trap for HUP (exit is mistaken as a signal name, not a command).
1329 [fixed in 5.2.14: c_sh.c(c_trap): use case sensitive lookup for first arg]
1331 x pdksh 5.2.13, (reported by Mark Funkenhauser): eval "$(false)" does not
1332 result in $? being set to 1 (is 0).
1333 [fixed in 5.2.14: c_sh.c(c_eval): set exstat to subst_exstat before shell()]
1335 x pdksh 5.2.13, (reported with fix by Kevin Schoedel): word boundaries in
1336 file completion are only spaces - at&t ksh uses ()<>&| and spaces.
1337 [fixed in 5.2.14: edit.c(IS_WORDC): changed macro to be LEX1 + quotes]
1339 x pdksh 5.2.13.5, (reported with fix by Martin Lucina <mato@kotelna.sk>):
1340 exit status parsing in exit command incorrect (sets status to random
1341 value if no argument given).
1342 [fixed in 5.2.14: c_sh.c(c_exitreturn): only set exstat if arg given]
1344 x pdksh 5.2.13.5, (reported with fix by Martin Lucina <mato@kotelna.sk>):
1345 KSH_CHECK_H_TYPE in aclocal.m4 has too many [] around the patterns.
1346 [fixed in 5.2.14: aclocal.m4(KSH_CHECK_H_TYPE): remove two pairs on []]
1348 x pdksh 5.2.13.5, (reported by Charles M. Hannum <root@ihack.net>): An exit
1349 trap set in a subshell is not executed (unless explicit exit used).
1350 [fixed in 5.2.14: exec.c(execute): changed exit(rv) to unwind(LEXIT).]
1352 x pdksh 5.2.12, - : MAILCHECK isn't preserved from the environment on startup.
1353 [fixed in 5.2.14: changed main's initcoms[].]
1355 x pdksh 5.2.13, (reported by Marc Olzheim): time at the end of a pipeline
1356 doesn't print anything.
1357 [fixed in 5.2.14: exec.c(execute): clear XEXEC when calling timex().]
1359 x pdksh 5.2.13, (reported by David J. McMahon): here documents in subshells
1360 don't work if the parent exits before the subshell.
1361 [fixed in 5.2.14: heredocs now saved in memory, written to temp when needed.]
1363 x pdksh 5.2.13, (reported by Seiichi Namba): emacs: keys bound in .profile/$ENV
1364 are overridden by stty settings (eg, binding ^U in .profile has no effect).
1365 [fixed in 5.2.14: emacs.c: added x_bound array to track what user has set.]
1367 x pdksh 5.2.13: vi: failed redo (.) commands caused line to be returned to the
1368 shell (eg, "echo hi/there^[Bdf/.").
1369 [fixed in 5.2.14: vi.c(vi_hook): removed !=0 from VREDO switch expression]
1371 x pdksh 5.2.13, (reported by Arthor Pool): man page: (a) the time reserved
1372 word is not described; (b) description of command line wrapping is in vi
1373 section only (not in emacs); (c) limit on array indices not mentioned;
1374 (d) ignoreeof ignored if eof read 13 times.
1375 [fixed in 5.2.14: man page updated]
1377 x pdksh 5.2.13, (reported by Arthor Pool): set -u causes loss of stdout
1378 when command substitution with undefined parameter reference is run
1379 in an interactive shell.
1380 [fixed in 5.2.14: jobs.c(fill_command): don't eval TCOM arguments]
1382 XXX fd 1 lost (general fd pool handler?, error handler for comsub?)
1388 typeset -f ... "$(jasdsjh)" ...
1390 os2 interrupts + pattern
1393 set -u -> comsub errors & fill_command eval
1395 x pdksh 5.2.13, (reported by Dave Hillman): test -nt
1396 and test -ot do not succeed if file2 (file2) does not exist.
1397 [fixed in 5.2.14: c_test.c(test_eval): return true if appropriate stat fails]