summaryrefslogtreecommitdiff
path: root/bin/ksh/BUG-REPORTS
blob: e6ab6c6ddf27a182aa7d93b32e8e75dd3b9a83cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
$OpenBSD: BUG-REPORTS,v 1.12 1999/07/14 13:37:23 millert Exp $

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 separate 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
  loses the partially entered command (vi mode).
  [see Mail.2:48]
  [partly fixed in 5.2.14: backquote ok, but happens for the likes of ${.]

* 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.3, - (reported by Brad Warkentin & others): if the last command of
  a pipeline is a shell builtin, it is not executed in the parent shell,
  so "echo a b | read foo bar" does not set foo and bar in the parent
  shell (at&t ksh will).
  [see Mail.7:32,Mail.9:65]

* pdksh 5.1.3, - (reported by Gabor Zahemszky): emacs/vi doesn't have \ as quote
  character.
  [see Mail.7:87]

* pdksh 5.1.3, - (reported by Gabor Zahemszky): emacs default bindings doesn't
  have vt52 arrow keys or vt100 alternate keypad mode bindings.
  [see Mail.7:87]

* pdksh 5.1.3, SCO 3.2.2 (reported by Gabor Zahemszky): shell hangs
  waiting for finished process to finish.
  [see Mail.7:87]

* pdksh 5.2.0, - (reported by Gabor Zahemszky): ^V in vi leaves cursor at
  start of the line.
  [see Mail.8:43]

* enhancements that haven't been merged yet
	- Mail.6:36-39,78,84 recursive function diffs (add hard limit on
	  depeth of recursion)

* pdksh 5.2.3, - (reported by David Gast(? gast@twinsun.com)): history (fc,
  et al) don't work in shell scripts.
  [see Mail.10:49]

* pdksh 5.2.4, - (reported by Gabor Zahemszky): emacs: ^P steps through
  multiline commands - should go to start of command.
  [see Mail.XXX:XXX]

* pdksh 5.2.7, - (reported by Adrian Marsh): typeset -L20u xxx is ok is ksh88
  but not in pdksh.
  [see Mail.XXX:XXX]

* pdksh 5.2.7, - (reported by Gabor Zahemszky): TMOUT doesn't effect
  select and read operations.
  [see Mail.XXX:XXX]

* pdksh 5.2.10, - (reported by Simon J. Gerraty): in emacs, <ESC><ESC> applied
  to a word with a macro does not complete the word (only expands the macro).
  [see Mail.XXX]

* pdksh 5.2.12, - (reported by Han Holl <jeholl@euronet.nl>): pdksh does not
  parse the whole script before executing, so some syntax errors are not
  detected (if the shell exits before reading the whole file).
  [see Mail.XXX]

* pdksh 5.2.12, (reported by Michael Staats): emacs: file completion does
  not complete as much as possible when file is ~/something (will list
  possible completions but won't fill in to the first difference).
  Happens since code doesn't distinguish between globbing and ~ (needs
  special case to strip & replace a leading ~ during the completion
  process).

* pdksh 5.2.13, (reported by Martin Dalecki): shell dumps core when set -x
  is used on some scripts
  [awaiting more info...]

* pdksh 5.2.13, (reported by Arthor Pool): interactive shells can't be
  interrupted when processing ${foo#bar} expressions.
  [same goes for globbing - fixing this means checking for interrupts in
  the `tight' loops - could slow things down quite a bit]

--------------------- 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 Mike 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 Mike 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, -: ^c during $ENV or .profile kills shell; should just go
  to prompt.
  [see Mail.5:14]
  [fixed in 5.2.4 - added intr_ok flag to main.c(include)]

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 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]
  [fixed in 5.2.3 - added error_ok arg to evaluate() and v_evaluate()]

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]

x 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,Mail.5:62]
  [Fixed by Interactive - it is caused by an OS bug for which there is a patch]

x pdksh 5.1.3, linux - (reported by Dan Quinlan): doesn't compile under new
  linux due to declaration conflict between basename() in unistd.h and
  pdksh'd basename.
  [see Mail.5:90]
  [fixed in 5.2.0 - changed basename() to arrayname()]

x pdksh 5.1.3, - (reported by William Hudacek): very long prompts cause
  vi command line editor grief.
  [see Mail.6:2]
  [fixed in 5.2.0 - initial part of prompt is stripped if its too long]

x pdksh 5.1.3, - (reported by Roberto Zacheo): when set -u, variable trimming
  with always causes an error.
  [see Mail.6:21]
  [fixed in 5.2.0 - fixed varsub() to test if variable is null]

x pdksh 5.1.3, - (reported by David Tamkin): when a fucntion is autoloaded,
  ksh complains the definition file didn't define the function, even if it did.
  [see Mail.6:52]
  [fixed in 5.2.0 - exec.c(comexec): when checking if defined, use cp,

x pdksh 5.1.3, ICS unix 3.2 (reported by Robert Clark): auto configuration
  test for memmove doesn't work
  [see Mail.6:65]
  [fixed in 5.2.0 - special cases added for memmove, bcopy, memset]

x pdksh 5.1.3, Unixware (Intel-SVR4.2) (reported by Thanh Ma): auto
  configuration test for memset doesn't work; same for rlimit type.
  [see Mail.6:67]
  [fixed in 5.2.0 - special cases added for memmove, bcopy, memset; rlim_t
   configuration stuff re-arranged]

x pdksh 5.1.3, - (reported by Mike Jetzer + fix): . in vi doesn't work
  after history motion or after one command is completed and another is being
  edited.
  [see Mail.6:85]
  [fixed in 5.2.0 - fix up classify table, special case for empty initial
   insert]

x pdksh 5.1.3, - Janjaap van Velthooven: ^v (version) missing in vi mode.
  [see Mail.6:98]
  [fixed in 5.2.0 - added]

x pdksh 5.1.3, - : y% on or before right bracket/paren/brace doesn't yank the
  brackets - just what is in the brackets...
  [fixed in 5.2.0 - changes to vi.c(domove,vi_cmd)]

x pdksh 5.1.3, - (reported by Rob Mayoff): [[ ]] command doesn't do lazy
  evaluation.
  [see Mail.7:2]
  [fixed in 5.2.1 - test routines re-arranged to deal with this]

x pdksh 5.1.3, - (reported by Will Renkel): "r | more" doesn't work (nothing
  is sent to more).
  [see Mail.7:13]
  [fixed in 5.2.0 - history commands now done in c_fc, not pushed onto input
   stack]

x pdksh 5.1.3, - (reported by Rod Byrne, John Rochester): if a program leaves
  the non-blocking (O_NONBLOCK) flag set after it exists, the shell
  exits (multiple eofs).
  [see Mail.7:15,16,51]
  [fixed in 5.2.0: O_NONBLOCK is reset if read fails with EAGAIN,EWOULDBLOCK]

x pdksh 5.1.3, - (reported by Dale DePriest + fix): emacs: can't delete chars
  from pattern in incremental search mode.
  [see Mail.7:17]
  [fixed in 5.2.0 - handle it]

x pdksh 5.1.3, Linux 1.2.2 (reported by Fritz Heinrichmeyer + fix): siglist.sh
  doesn't work due to bug in bash 1.4.3 (trap is called incorrectly in
  subshell causing temp file to be removed prematurely).
  [see Mail.7:21]
  [fixed in 5.2.0 - clear all traps in subshell so file isn't removed]

x pdksh 5.1.3, - (reported by Dale DePriest + fix): emacs: can't prefix
  commands with more than single digit; many commands don't use nnumber
  prefix.
  [see Mail.7:26,40]
  [fixed in 5.2.0 - x_set_arg reads sequence of numbers, other commands
  changed to use x_arg]

x pdksh 5.1.3, - (reported by Dale DePriest): fc command line parsing
  (and its interaction with history alias) doesn't act like at&t ksh:
  history -40 gives bad option 4 error.
  [see Mail.7:41,49]
  [fixed in 5.2.1 - kludge parsing of -40 (numbers are option letters)]

x pdksh 5.1.3, - (reported by Dale DePriest): if PS1 contains paramaters that
  get expanded, and if those parameters contain any ! characters, the !'s get
  changed to history numbers.
  [see Mail.7:44]
  [fixed in 5.2.0 - substitution done after ! and !! substitution]

x pdksh 5.1.3, - (reported by Steve Wallis): set -a (set -o allexport) has
  no effect.
  [see Mail.7:47]
  [fixed in 5.2.0 - changes to c_read, c_getopts, and comexec]

x pdksh 5.1.3, - (reported by Alexander S. Jones): (sleep 10000&) waits for
  the sleep to complete.
  [see Mail.7:54]
  [fixed in 5.2.0 - execute() case TASYNC clears EXEC flag in call to execute]

x pdksh 5.1.3, - (reported by Will Renkel): positional parameters can't be
  accessed within temporary variable assignments (eg, "FOO=$1 blah" doesn't
  set FOO to $1.
  [see Mail.7:57]
  [fixed in 5.2.0 - var.c(newblock) - copy argc/argv from previous environment]

x pdksh 5.1.3, SCO unix ? (reported by Sean Hogan): job control stuff doesn't
  work as sco doesn't do job control operations on /dev/tty.
  [see Mail.7:30,43,69,70,74]
  [fixed in 5.2.0 - don't try opening /dev/tty if on SCO]

x pdksh 5.1.3, - (reported with fix by Mike Jetzer): vi globing tacks
  * at the end of files even if there are globing chars in last component
  of filename (at&t ksh does not).
  [see Mail.7:71]
  [fixed in 5.2.0 - don't append * if there are unescaped globing chars]

x pdksh 5.1.3, - (reported with fix by Gabor Zahemszky): typoes in acconfig.h,
  sh.h uses SVR3_PGRP insteda of SYSV_PGRP.
  [see Mail.7:87]
  [fixed in 5.2.0]

x pdksh 5.1.3, - (reported by Gabor Zahemszky): emacs doesn't have ^[^].
  [see Mail.7:87]
  [fixed in 5.2.0 - added search-char-backward]

x pdksh 5.2.0, - (reported by David Tamkin): pwd -P doesn't strip .. and .
  properly.
  [see Mail.7:98]
  [fixed in 5.2.0 - include ksh_stat.h in c_ksh.c]

x pdksh 5.2.0, - (reported by Dale DePriest): unistd.h config test
  doesn't include sys/types before dirent.h.
  [see Mail.8:2]
  [fixed in 5.2.0]

x pdksh 5.2.0, - (reported by Robert Gallant): emacs file/command completion
  code can clobber memory.
  [see Mail.8:11]
  [fixed in 5.2.1 - wrong variable being checked in buffer growing in
   emacs.c(compl_file,compl_command)]

x pdksh 5.2.0, - (reported by David Tamkin): when CDPATH set and cd'ing to a
  directory that doesn't exist, the error message contains the last element
  of the CDPATH.
  [see Mail.8:8]
  [fixed in 5.2.0 - fixed error message]

x pdksh 5.2.0, - (reported by David Tamkin): if PS1 has an error in it
  (eg, parameter expansion error), the shell loops forever printing
  the error.
  [see Mail.8:32]
  [fixed in 5.2.3 - create error handling environment while expanding PS1]

x pdksh 5.2.0, Coherent machines (reported by Gabor Zahemszky): insert after
  movement in emacs mode replaces all chars with first char on line.
  System's bcopy doesn't handle overlapping src/dst.
  [see Mail.8:38,43]
  [fixed in 5.2.1 - check for broken memmove/bcopy in aclocal.m4]

x pdksh 5.2.0, - (reported by Gabor Zahemszky): ^[= in vi prints empty
  strings for directory matches if markdirs is set.
  [see Mail.8:48]
  [fixed in 5.2.1 - skip trailing /'s before looking for last /]

x pdksh 5.2.0, - (reported by Gabor Zahemszky): <ESC>^H bound to del-back-char
  not del-back-word
  [see Mail.8:50-52]
  [fixed in 5.2.1 - fixed x_emacs_keys]

x pdksh 5.2.1, - (reported by David Tamkin): compile fails due to lack
  of c_test.h
  [see Mail.8:58]
  [fixed in 5.2.2 - fixed put c_test.h in distribution]

x pdksh 5.2.2, - (reported by Simon J. Gerraty): hist_source not being
  initialized in complex history.
  [see Mail.8:64]
  [fixed in 5.2.3 - set it in second hist_init()]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): set -A does not reset
  the array contents.
  [see Mail.8:65]
  [fixed in 5.2.3 - changed var.c(unset) to unset whole array if appropriate]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): getopts stops after an error;
  at&t ksh carries on with next option.
  [see Mail.8:65]
  [fixed in 5.2.3 - remove GI_DONE flag from ksh_getopt()]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): getopts prints shell name
  twice in error messages.
  [see Mail.8:65]
  [fixed in 5.2.3 - added GI_NONAME flag]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): pdksh's test doesn't know about
  /dev/fd/n.
  [see Mail.8:65]
  [fixed in 5.2.3 - added test_stat() and test_eaccess()]

x pdksh 5.2.2, - (reported by Thomas Gellekum): config test for memmove/bcopy
  missing semi-colon
  [see Mail.8:67]
  [fixed in 5.2.3]

x pdksh 5.2.2, - (reported by Donald Craig): fc string doesn't find string
  if it is the most recent command.
  [see Mail.8:76]
  [fixed in 5.2.3 - fixed off by one error in history.c(hist_get)]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): pdksh doesn't do the
  "You have running jobs" when user attempts to log out.
  [see Mail.8:74]
  [fixed in 5.2.3 - added set -o nohup option with supporting code]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): configure test for
  broken memmove/bcopy doesn't work.
  [see Mail.8:93]
  [fixed in 5.2.3 - fixed test to copy overlapping buffers]

x pdksh 5.1.3, - (reported by <wendt@sv5.mch.sni.de>): doesn't compile on
  solaris 5.x with COMPLEX_HISTORY defined.
  [see Mail.8:98]
  [fixed in 5.2.3 - undef COMPLEX_HISTORY if flock not available]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): tilde expansion not preformed
  in word part of ${foo[-+=?} substitution.
  [see Mail.9:7]
  [fixed in 5.2.3 - allow ~foo to end in a close brace]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): "fc 30" edits from 30 to
  most recent history (should be just 30).
  [see Mail.9:7]
  [fixed in 5.2.3 - if !-l and no last given, use first]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): [many problems with man page]
  [see Mail.9:12]
  [fixed in 5.2.3 - fixed problems]

x pdksh 5.2.2, - (reported by Gabor Zahemszky): #else followed by non-comment
  in sigact.c.
  [see Mail.9:13]
  [fixed in 5.2.3 - turn it into a comment]

x pdksh 5.2.2, - (reported with fix by Gabor Zahemszky): two argument form of
  cd doesn't work.
  [see Mail.9:14]
  [fixed in 5.2.3 - in c_cd(), use current_wd not path]

x pdksh 5.2.2, - (reported with fix by Gabor Zahemszky): command -V doesn't
  report reserved words.
  [see Mail.9:30]
  [fixed in 5.2.3 - in c_whence(), look for reserved words if vflag set]

x pdksh 5.2.3, - (reported by Dale DePriest): at&t's tbl wants space
  between font specification and end of table descrption (ie, fB . not
  fB.).
  [see Mail.9:41]
  [fixed in 5.2.4 - put spaces in]

x pdksh 5.2.3, - (reported by David Tamkin & Claus L{gel Rasmussen): PS1
  isn't imported from environment anymore.
  [see Mail.9:43,76]
  [fixed in 5.2.4 - main: don't set PS1 if it is already set]

x pdksh 5.2.3, - (reported by Gary Rafe): If PS1 contains newlines, vi
  editing mode dones't redraw lines properly.
  [see Mail.9:63]
  [fixed in 5.2.4 - added prompt_skip stuff to vi/emacs]

x pdksh 5.2.3, - (reported & fixed by Mike Jetzer): cd: error message if
  directory didn't exist was wrong.
  [see Mail.9:66]
  [fixed in 5.2.4 - print correct string in error message]

x pdksh 5.2.3, - (reported & fixed by Mike Jetzer): vi: <ESC>* shouldn't append
  a * if word contains a $.
  [see Mail.9:66]
  [fixed in 5.2.4 - vi.c(glob_word): check for $ in word, check for null
   expansion]

x pdksh 5.2.3, - (reported & fixed by Mike Jetzer): vi: <ESC>= doesn't
  list expansions in column form.
  [see Mail.9:66]
  [fixed in 5.2.4 - use pr_menu to print things nicely]

x pdksh 5.2.3, - (reported Larry Bouzane): should be a way of installing
  binary/man page as pdksh instead of ksh.
  [see Mail.9:100]
  [fixed in 5.2.4 - use the --enable-shell=pdksh option to configure]

x pdksh 5.2.3, - (reported by Gabor Zahemszky): [many problems with man
  page]
  [see Mail.10:20]
  [fixed in 5.2.4 - fixed problems]

x pdksh 5.2.3, - (reported by Gabor Zahemszky): exec 1<&9 reports
  error with ">&9" in it.
  [see Mail.10:20]
  [fixed in 5.2.4 - changed iosetup()]

x pdksh 5.2.3, - (reported by Gabor Zahemszky): man page doesn't document
  /dev/fd/N
  [see Mail.10:20]
  [fixed in 5.2.4 - updated manual]

x pdksh 5.2.3, - (reported by Ted Coady): [[ foo/bar = foo* ]]
  fails; should succeed.
  [see Mail.10:32]
  [fixed in 5.2.4 - fixed problem in exec.c(dbteste_getopnd)]

x pdksh 5.2.3, - (reported by Ruei-wun Tu): make on NeXT/NeXTSTEP 3.3
  doesn't understand .PRECIOUS target and so does nothing.
  [see Mail.10:43]
  [fixed in 5.2.4 - moved .PRECIOUS after all in Makefile.in]

x pdksh 5.2.3, - (reported & fixed by Paul Borman): shell doesn't kill
  foreground process when SIGHUP received; Also, CONT sent before HUP.
  [see Mail.10:44]
  [fixed in 5.2.4 - j_exit now sends HUP to foreground process]

x pdksh 5.2.3, AIX 3.2.5 (reported by Ian Portsmouth): C compiler compains
  about sigtraps[] being re-declared in trap.c.
  [see Mail.10:73]
  [fixed in 5.2.4 - use cpp define to avoid bogus re-declaration error]

x pdksh 5.2.3, - (reported by Michael Haardt): ENV should not be
  included if shell is compiled as sh and posix option not set.
  [see Mail.10:83]
  [fixed in 5.2.4 - only include ENV if POSIX, if compiled as sh]

x pdksh 5.2.3, - (reported & fixed by DaviD W. Sanderson): case statements
  don't allow {/} in place of IN/ESAC.
  [see Mail.10:77,78]
  [fixed in 5.2.4 - allow {/} in case statements]

x pdksh 5.2.3, - (reported by Larry Daffner): $? is incorrectly zero'd
  at start of traps.
  [see Mail.11:9]
  [fixed in 5.2.4 - don't clear exstat in main.c(shell)]

x pdksh 5.2.3, - (reported by Frank "Crash" Edwards): configure on linux XXX
  doesn't detect the presence of lstat().
  [see Mail.11:36]
  [fixed in 5.2.4 - change configure to include <sys/stat.h> in lstat() test]

x pdksh 5.2.3, - (reported by Gabor Zahemszky): typeset -f dumps core
  in the after using autoload functions.
  [see Mail.11:74?]
  [fixed in 5.2.4 - c_typeset no longer traverses the array link for functions]

x pdksh 5.2.3, - (reported by Gabor Zahemszky): typeset -f does not report
  undefined autoload functions
  [see Mail.11:74?]
  [fixed in 5.2.4 - c_typeset: don't ignore unset functions]

x pdksh 5.2.3, - (reported by Dale DePriest): alias -t -r does not
  reset aliases.
  [see Mail.11:99]
  [fixed in 5.2.4 - c_alias: call ksh_getopt_reset() before calling c_unalias]

x pdksh 5.2.3, - (reported & fixed by Jason Tyler): 'echo abc^Jfc -e - a=b e'
  echos b, not bbc.
  [see Mail.11:100?]
  [fixed in 5.2.4 - hist_replace: use s, not last]

x pdksh 5.2.3, - (reported by Jason Tyler): 'fc -e -' when there is
  no history causes infinite loop.
  [see Mail.11:100?]
  [fixed in 5.2.4 - histbackup: allow histptr to go below history]

x pdksh 5.2.4, - (reported by David Tamkin): jmp_buf is used instead of
  sigjmp_buf.
  [see Mail.XXX:XXX]
  [fixed in 5.2.5 - added ksh_jmp_buf and defined appropriately]

x pdksh 5.2.4, - (reported by Stephen Coffin): /<RETURN> in vi mode does not
  repeat last search.
  [see Mail.XXX:XXX]
  [fixed in 5.2.5 - vi.c(vi_hook) - make it repeat last search]

x pdksh 5.2.4, - (reported by Gabor Zahemszky): functions containing select
  commands aren't printed correctly by typeset.
  [see Mail.XXX:XXX]
  [fixed in 5.2.5 - tree.c(ptree) - add case for TSELECT]

x pdksh 5.2.4, - (reported & fixed by Stefan Dalibor): COLUMNS isn't set on
  shell start up (and window size is ignored) 'cause tty_fd isn't valid when
  x_init() is called.
  [see Mail.XXX:XXX]
  [fixed in 5.2.5 - call x_init() after j_init() is called]

x pdksh 5.2.4, - (reported by Will Renkel): "echo -" just prints a blank
  line - should print the minus.
  [see Mail.XXX:XXX]
  [fixed in 5.2.5 - c_ksh.c(c_print): don't do argument parsing on lone -]

x pdksh 5.1.3, - (reported by Gabor Zahemszky): emacs doesn't have ^[*.
  [see Mail.7:87]
  [fixed in 5.2.5]

x pdksh 5.2.3, - (reported by Mike Jetzer): in vi, <ESC>= doesn't append
  a / after directories.
  [see Mail.9:66]
  [fixed in 5.2.5]

x pdksh 5.2.0, - (reported by Gabor Zahemszky): can set readonly variables
  via command assignments (eg, "readonly x=y; x=z /bin/echo hi" should
  fail and doesn't).
  [see Mail.8:50,65]
  [fixed in 5.2.5 - LOCAL_COPY flag passed from comexec() down to local()]

x pdksh 5.2.4, - (reported by Tom Karches): history: "r old=new", with
  no commands prefix given, prints "fc: too mnay arguments" - it should
  do the subst on the previous command.
  [see Mail.XXX:XXX]
  [fixed in 5.2.5]

x pdksh 5.2.3, - (reported by Vigen Pogosyan): assignments in $(( ... ))
  remember the base that was assigned in pdksh - does not in at&t ksh.
  [see Mail.10:54]
  [fixed in 5.2.5: uset setint() in expr.c(evalexpr)]

x pdksh 5.2.4, - (reported by Gabor Zahemszky): emacs: ^O steps down
  two lines (should be 1).
  [see Mail.XXX:XXX]
  [fixed in 5.2.5: convert history line to command number, then convert back]

x pdksh 5.2.3, - (reported by David Gast(? gast@twinsun.com)): fc -ln -1 -1
  reports the current command, not the previous command.
  [see Mail.10:49]
  [fixed in 5.2.5]

x pdksh 5.2.3, - (reported by Matthew Green): foo=`^Jecho bar` doesn't
  set foo to bar (foo is empty).
  [see Mail.XXX:XXX]
  [fixed in 5.2.5: syn.c: set multiline.on when source is SSTRING]

x pdksh 5.2.5, - (reported by Gabor Zahemszky): continue/break: if n
  is too big, shell prints internal error message.
  [see Mail.XXX:XXX]
  [fixed in 5.2.6: fix c_brkcont to use last loop if n is too big]

x pdksh 5.2.5, - (reported by Gabor Zahemszky): set: +o in ksh93
  prints command that sets various options.
  [see Mail.XXX:XXX]
  [fixed in 5.2.6: changed misc.c(printoptions)]

x pdksh 5.2.5, - (reported by Gabor Zahemszky): COLUMNS/LINES variables
  are not exported.
  [see Mail.XXX:XXX]
  [fixed in 5.2.6: use typeset() in edit.c(x_init) to export COLUMNS/LINES]

x pdksh 5.2.5, - (reported by Gabor Zahemszky): emacs: <ESC><ESC> puts
  space after completed directories.
  [see Mail.XXX:XXX]
  [fixed in 5.2.6: check for single/non-directory match in emacs.c(do_complete)]

x pdksh 5.2.5, - (reported by Gabor Zahemszky): vi: # removes comment
  and executes if command already commented.
  [see Mail.XXX:XXX]
  [fixed in 5.2.6: added vi.c(do_comment)]

x pdksh 5.2.7, - (reported by Adrian Marsh): test doesn't have == operator.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: added == to c_test.c operator table]

x pdksh 5.2.7, - (reported by Mike Jetzer): pdksh sets/exports COLUMNS/LINES
  which causes applications not to respond to window size changes.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: COLUMNS/LINES no longer exported automatically]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): getopts sets OPTIND differently
  that at&t ksh when a bad option is given.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: OPTIND not set if option was bad - fragile fix - may go away]

x pdksh 5.2.7, - (reported with fix by Marc Olzheim): sh version shouldn't
  have mail check stuff, macro expansion in PS[0-9].
  [fixed in 5.2.8: added lots of ifdefs]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): sub commands in PS1 cause
  a warning message to be printed.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: lex.c(set_prompt) - don't print the warning message]

x pdksh 5.2.7, - (reported by Tom Watson): some environment variables
  (eg, PATH) are converted to uppercase on 16-bit int machine.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: struct tbl.flag (32 bit thing) was being treated as an
   int in some places]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): unset always returns 0 - should
  return 1 if variable/function is not set.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: fixed c_sh.c(c_unset)]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): select should only print the
  menu the first time, if REPLAY is empty, or if a blank line is entered.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: fixed up exec.c(execute,do_selectargs)]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): shell reports "cannot execute"
  error if file exists, even if . not in path.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: fixed up exec.c(comexec)]

x pdksh 5.1.3, - (reported with partial fix by ra@rhi.hi.is): shell doesn't
  listen to sigwinch.
  [see Mail.7:7 and related]
  [fixed in 5.2.8: changed edit.c(x_init) to catch sigwinch]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): typeset doesn't report
  variables that have attributes (like export) but no values.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: fixed up c_ksh.c(c_typeset)]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): error message printed as
  a result of "set -o nounset" is different from at7t ksh.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: fixed error messges in eval.c]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): vi/emacs: when listing
  command/file completions, should go back at most one space.  Also, should
  allow completions on zero length names.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: fixed edit.c(x_locate_word); now allows zero-length
   file completions (but not command)]

* pdksh 5.2.7, - (reported by Gabor Zahemszky): emacs: <esc># doesn't do
  the comment thing.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: added emacs.c(x_comment) et al.]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): arithmatic expressions
  containing variables not expanded as in at&t ksh. eg, "x=1+2, let y=x"
  fails.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: added evaling/INEXPREVAL/ET_RECURSIVE code to expr.c]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): unsetting the 0th element
  of an array kills the whole array.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: var.c(unset) - allow ARRAY to be preserved]

x pdksh 5.2.7, - (reported by Gabor Zahemszky): unsetting a function while
  it is being executed can result in core dump.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: table.c(texpand) - dont free if FINUSE is set]

* pdksh 5.2.7, - (reported by Gabor Zahemszky): exec 3<&p doesn't close
  shells copy of the coprocess file desc.
  [see Mail.XXX:XXX]
  [fixed in 5.2.8: coprocess stuff made to act like ksh93 co-processes]

x pdksh 5.2.8, - (reported with fix by Lars Hecking): doesn't compile as
  sh - c_ksh.c and jobs.c boom out.
  [see Mail.XXX:XXX]
  [fixed in 5.2.9: added ifdef KSH to appropriate places]

x pdksh 5.2.8, - (reported by Paolo Zeppegno): assignments containing brackets
  are treated as commands.
  [see Mail.XXX:XXX]
  [fixed in 5.2.9: fixed bug in vars.c(skip_wdvarname).]

x pdksh 5.2.5, - (reported by Adrian Marsh): configuration on Linux FT fails.
  Caused by configure script using -g flag - gcc passes -lg to ld, ld fails
  to find -lg (autoconf or Linux FT bug).
  [see Mail.XXX:XXX]
  [fixed in 5.2.9: changed autoconf's -g test to do linking as well.]

x pdksh 5.2.8, Solaris 2.5.1 (reported by Stefan Dalibor): 2 tests
  (xxx-exec-environment-1 and 2) fail because printenv isn't found.
  [see Mail.XXX:XXX]
  [fixed in 5.2.9: changed test to use env instead]

x pdksh 5.2.8, - (reported by Stefan Dalibor): shell assumes 80 columns when
  it starts up if COLUMNS is set correctly in the environ.
  [see Mail.XXX:XXX]
  [fixed in 5.2.9: fixed so window size is checked at startup]

x pdksh 5.2.8, NeXT machines (reported by Kai Wong): clock_t, which lives
  in sys/time.h, isn't found by configure (causes warning messages).
  [fixed in 5.2.9: configure now checks in sys/time.h]

x pdksh 5.2.3, - (reported by Mike Jetzer): in vi, <ESC>= on word with ~
  but no /, beeps (or prints final path comonent?).
  [see Mail.9:66]
  [fixed in 5.2.9: fixed edit.c(add_glob) so no * is appended to ~username]

x pdksh 5.1.3, NeXT machines (reported by Jason Baugher): job control doesn't
  work on NeXT machines (both m68k and x86 based) in rlogin sessions.
  (caused by open("/dev/tty") failing - rlogin on NeXT doesn't set up
  controlling tty properly).
  [see Mail.7:29]
  [fixed in 5.2.9: added hack to main to get a controlling tty]

x pdksh 5.2.8, NeXT 3.2 (reported by Andrew S Townley): the output of the
  siglist.sh script fills the disk.  Also, the signal list generated (by the
  fixed script) is mostly empty.
  [see Mail.XXX]
  [fixed in 5.2.9: fixed siglist.sh script to avoid infinite loops.  Added
   comment to README warning of problem with NeXT's native cc -E]

x pdksh 5.2.9, - (reported by Loris Talpo): long prompts are messed up in
  vi mode.
  [see Mail.XXX]
  [fixed in 5.2.9: lex.c(pprompt) was broken]

x pdksh 5.2.9, - (reported by Will Renkel): a double backslash followed
  by a newline in an unquoted here document results in one of the backslashes
  and the newline being stripped.
  [see Mail.XXX]
  [fixed in 5.2.10: fixed backslash-newline processing in lex.c]

x pdksh 5.2.9, - (reported by Han Holl): read x?prompt doesn't work 
  on non-interactive shells when the input is from a tty.
  [see Mail.XXX]
  [fixed in 5.2.10: changed test in c_read() from FTALKING to isatty]

x pdksh 5.2.10, - (reported by Dale DePriest): expanding aliases causes
  extra input.
  [see Mail.XXX]
  [fixed in 5.2.11: fixed syn.c(c_list).]

x pdksh 5.2.10, - (reported by John Rochester): window size changes don't
  happen on Dec unix (osf) because TIOCGWINSZ is defined in <sys/ioctl.h>
  not in <termios.h>.
  [see Mail.XXX]
  [fixed in 5.2.12: sys/ioctl.h included with termios.h/termio.h if possible]

x pdksh 5.2.11, - (reported by Randy Bouzane): aliases in command substitutions
  result in code dumps.
  [see Mail.XXX]
  [fixed in 5.2.12: lex.c(getsc__): break if eof is read]

x pdksh 5.2.11, - (reported by Will Renkel): aliases containing ;<newline>
  or <newline><newline> aren't fully read/executed.
  [see Mail.XXX]
  [fixed in 5.2.12: syn.c(get_command): call inalias()]

x pdksh 5.2.11, SGI/IRIX 5.2 (reported by bert@xpilot.com): pipelines
  containing built in commands hang forever.
  [see Mail.XXX]
  [fixed in 5.2.12: fixed pgrp sync code in jobs.c]

x pdksh 5.2.11, - (reported by Herbert Thielen via Larry Daffner): shell leaves
  temp files around when executing shell scripts that have functions with
  here documents which end in an exec.
  [see Mail.XXX]
  [fixed in 5.2.12: call main.c(cleanup_proc_env()) from exec.c(execute()).]

x pdksh 5.2.12, - (reported with fix by Eric J. Chet via Thomas Gellekum):
  . can cause core dump when cleaning up.
  [see Mail.XXX]
  [fixed in 5.2.13: call shf_close() before quitenv()]

x pdksh 5.2.12, - (reported by Bruce Burns): test with a single -t option
  always returns true (does a string test instead of isatty(1)).
  [see Mail.XXX]
  [fixed in 5.2.13: do the isatty(1) unless in posix mode]

x pdksh 5.2.12, - (reported by David Tamkin): aliases ending in "; "
  cause continuation prompt to be printed.
  [see Mail.XXX]
  [fixed in 5.2.13: syn.c(c_list) now handles blank lines, removed cf=CONTIN
   in syn.c(get_command)]

x pdksh 5.2.12, - (reported by Herbert Thielen via Larry Daffner): set
  does not allow +o and -o options in the same command line.
  [see Mail.XXX]
  [fixed in 5.2.13: changed ksh_getopt to remove exclusion code.]

x pdksh 5.2.12, - (reported by Han Holl <jeholl@euronet.nl>):
  set -A foo -- bar doesn't skip the --.
  [see Mail.XXX]
  [fixed in 5.2.13: changed misc.c(parse_args) so A takes an option]

x pdksh 5.2.12, - (reported by David Tamkin): -e (errexit) should be ignored
  when processing profile and ENV.
  [see Mail.XXX]
  [fixed in 5.2.13: errexit saved/cleared/restored in main()]

x pdksh 5.2.12, - (reported by Han Holl <jeholl@euronet.nl>):
  [ -x foo ] succeeds for root if foo exists.
  [see Mail.XXX]
  [fixed in 5.2.13: changed c_test.c(test_access) to use stat in this case]

x pdksh 5.2.4, - (reported by Gabor Zahemszky): echo ${foo[*]#/} generates
  bad substsitution error, newer ksh's don't (older ones do);
  error includes {...#@(/)}.
  [fixed in 5.2.13: moved the @(..) hack from yylex() to expand()]

x pdksh 5.2.8, - : extended pattern globing doesn't handle nested parens (),
  e.g., [[ aby = +(a|b(x|y)) ]]

x pdksh 5.2.12, - (reported by Marc Olzheim <marcolz@stack.nl>):
  "echo a | (echo b | echo c)" causes a core dump.
  [see Mail.XXX]
  [fixed in 5.2.13: clear XPIPEI,XPIPEO at start of jobs.c(exchild)]

x pdksh 5.2.12, - (reported by Curt Finch <curt@pnk.com>): in an interactive
  shell, globbing isn't done on redirections if the command is part of
  a pipeline.  e.g., in "cat < /tmp/*gz | grep foo", the /tmp/*gz is
  not expanded.
  [see Mail.XXX]
  [fixed in 5.2.13: clear XPIPEI,XPIPEO at start of jobs.c(exchild)]

x pdksh 5.2.12, - (reported with fix by Greg A. Woods <woods@most.weird.com>):
  in emacs, ^[_ (aka ^[.) gets the word from the previous line relative to
  where the current line came from in the history.  It should get it from
  the last executed line ala at&t ksh.
  [see Mail.XXX]
  [fixed in 5.2.13: use absolute last command]

x pdksh 5.2.12, - (reported by Gabor Zahemszky): MAILCHECK and MAIL
  don't report `new mail' unless MAIL is re-assigned.
  [see Mail.XXX]
  [fixed in 5.2.13: mail code was using variables memory, which was later
   trashed by exporting the MAIL variable.  Fixed by saving copy of value.]

x pdksh 5.2.12, - (reported by Gabor Zahemszky): memory gets badly fragmented
  when reversing a (large) file using a simple while read loop and variable
  contatenation.
  [see Mail.XXX]
  [fixed in 5.2.13: alloc.c changed to allow malloc() to deal with large
   blocks.]

x pdksh 5.2.12, - (reported by Bernd Eggink <eggink@rrz.uni-hamburg.de>)
  ksh style functions don't save/reset/restore OPTIND.
  [see Mail.XXX]
  [fixed in 5.2.13: save and restore user_opt for ksh-style functions.]

x pdksh 5.2.12, - (reported by Marc Olzheim <marcolz@stack.nl>)
  ${..%..} stuff don't work in SH mode.
  [see Mail.XXX]
  [fixed in 5.2.13: removed ifdef KSH from misc.c(do_gmatch)]

x pdksh 5.2.12, - (reported with fix by George Robbins
  <grr@shandakor.tharsis.com>)
  in sh, "exec 3>&1" does not keep fd 3 open in executed commands.
  [see Mail.XXX]
  [fixed in 5.2.13: c_sh.c(c_exec): added ifdef KSH around fd_clexec() call]

x pdksh 5.2.12, - (reported with fix by George White
  <gwhite@bodnext.bio.dfo.ca>)
  in remove_temps(main.c), space for name field is not allocated correctly.
  [see Mail.XXX]
  [fixed in 5.2.13: initialize t->name in new structure]

x pdksh 5.2.12, - (reported with fix by Marc Olzheim <marcolz@stack.nl>):
  when at (past) end of the line, word/command completion will skip back
  [see Mail.XXX]
  [fixed in 5.2.13: edit.c(x_locate_word): delete special handling of
   end-of-buffer]

x pdksh 5.2.12, - (reported by Mike Kelly <tfsmiles@ecst.csuchico.edu>):
  doting a directory (or a empty path) is allowed.
  [see Mail.XXX]
  [fixed in 5.2.13: exec.c(search_access): don't do non-regular files for R_OK]

x pdksh 5.2.13, - (reported by Mike Kelly <tfsmiles@ecst.csuchico.edu>):
  typeset -f FUNC doesn't print follows command (and expression) substitutions.
  [see Mail.XXX]
  [fixed in 5.2.14: tree.c(tputS): add wp++]

x pdksh 5.2.13, - (reported by Thomas Gellekum):
  make check fails on freebsd with "chmod 644 abcx failed - Inappropriate ...".
  [see Mail.XXX]
  [fixed in 5.2.14: make test/th convert permissions to octal]

x pdksh 5.2.13, - (reported with fix by David E. Wexelblat):
  when re-allocating memory, too much may be copied from old memory.
  [see Mail.XXX]
  [fixed in 5.2.14: use min old old size and new size]

x pdksh 5.2.13, - (reported with fix by David E. Wexelblat):
  set -o printed some options sans names.
  [see Mail.XXX]
  [fixed in 5.2.14: use 0 instead of null in options[] table]

x pdksh 5.2.13, - (reported by Gabor Zahemszky):
  emacs mode: <esc>. in very fist command causes core dump.
  [see Mail.XXX]
  [fixed in 5.2.14: ring bell if no history in emacs.c(x_prev_histword)]

x pdksh 5.2.13, - (reported by Keith S McCabe): pdksh dumps core
  after a cd command.
  [see Mail.XXX]
  [fixed in 5.2.14: exec.c(flushcom) was setting bits in table entry, instead
   of clearing a single bit]

x pdksh 5.2.12, - (reported by Jaime A. Urquidi): typeset -i reports
  on array elements that have no value (at&t ksh reports on array
  base name - no index).
  [see Mail.XXX]
  [fixed in 5.2.14: hack to c_ksh.c(c_typeset) to generate the ksh88 style
   output]

x pdksh 5.2.13, - (reported with fix by Todd C. Miller):
  ulimit -ctn unlimittttted kills shell (resource exceeded).
  [see Mail.XXX]
  [fixed in 5.2.14: hacked c_ulimit to generate error val is 0 and expr doesn't
   start with a digit]

x pdksh 5.2.13, - (reported with fix by Theo de Raadt):
  ". /dev/null" says access denied.
  [see Mail.XXX]
  [fixed in 5.2.14: exec.c(search_access): allow non-regular file if reading]

x pdksh 5.2.13, - (reported with fix by Eric Youngdale): flag field in aliases
  incorrectly changed (all flags set instead of clearing ISSET) in
  exec.c(flushcom).
  [see Mail.XXX]
  [fixed in 5.2.14: exec.c(flushcom): change = ~ISSET to &= ~ISSET]

x pdksh 5.2.13, - (reported by Andre Delafontaine): ${#array[*]} prints
  largest index instead of number of (set) elements in an array (ksh88 does
  the former).
  [see Mail.XXX]
  [fixed in 5.2.14: eval.c(varsub): count number of elements]

x pdksh 5.2.13, - (reported by Clifford Wolf): sys_siglist[] doesn't
  always have NSIG non-null entries...
  [see Mail.XXX]
  [fixed in 5.2.14: trap.c(inittrap): check for null sys_siglist entries.]

x pdksh 5.2.13, - (reported with fix by Todd C. Miller): waitfor in jobs.c
  can cause core dump if j_lookup fails.
  [fixed in 5.2.14: jobs.c(waitfor): return if j_lookup fails]

x pdksh 5.2.13, - (reported by Martin Bond): if shell is started several
  times in quick succession, echo $RANDOM produces the same results.
  [fixed in 5.2.14: main.c(main): seed RANDOM using time, pid, ppid]

x pdksh 5.2.13, - (reported by Martin Bond): repeating "echo `echo $RANDOM`"
  will always produce the same number.
  [fixed in 5.2.14: call var.c(change_random) from jobs.c(exchild)]

x pdksh 5.2.13, hpux 10.x (reported by Mike Kelly): pwd will dump core if
  current directory is not readable.
  [fixed in 5.2.14: config test & code to work around hpux C library bug]

x pdksh 5.2.13, linux (reported by Mike Jetzer): getwd warning from linker
  [fixed in 5.2.14: configure.in/misc.c: check for getcwd, use it over getwd]

x pdksh 5.2.13, (reported by Dmitri Kulginov): "trap exit 1" does not set a
  trap for HUP (exit is mistaken as a signal name, not a command).
  [fixed in 5.2.14: c_sh.c(c_trap): use case sensitive lookup for first arg]

x pdksh 5.2.13, (reported by Mark Funkenhauser): eval "$(false)" does not
  result in $? being set to 1 (is 0).
  [fixed in 5.2.14: c_sh.c(c_eval): set exstat to subst_exstat before shell()]

x pdksh 5.2.13, (reported with fix by Kevin Schoedel): word boardaries in
  file completion are only spaces - at&t ksh uses ()<>&| and spaces.
  [fixed in 5.2.14: edit.c(IS_WORDC): changed macro to be LEX1 + quotes]

x pdksh 5.2.13.5, (reported with fix by Martin Lucina <mato@kotelna.sk>):
  exit status parsing in exit command incorrect (sets status to random
  value if no argument given).
  [fixed in 5.2.14: c_sh.c(c_exitreturn): only set exstat if arg given]

x pdksh 5.2.13.5, (reported with fix by Martin Lucina <mato@kotelna.sk>):
  KSH_CHECK_H_TYPE in aclocal.m4 has too many [] around the patterns.
  [fixed in 5.2.14: aclocal.m4(KSH_CHECK_H_TYPE): remove two pairs on []]

x pdksh 5.2.13.5, (reported by Charles M. Hannum <root@ihack.net>): An exit
  trap set in a subshell is not executed (unless explicit exit used).
  [fixed in 5.2.14: exec.c(execute): changed exit(rv) to unwind(LEXIT).]

x pdksh 5.2.12, - : MAILCHECK isn't preserved from the envirnment on startup.
  [fixed in 5.2.14: changed main's initcoms[].]

x pdksh 5.2.13, (reported by Marc Olzheim): time at the end of a pipeline
  doesn't print anything.
  [fixed in 5.2.14: exec.c(execute): clear XEXEC when calling timex().]

x pdksh 5.2.13, (reported by David J. McMahon): here documents in subshells
  don't work if the parent exits before the subshell.
  [fixed in 5.2.14: heredocs now saved in memory, written to temp when needed.]

x pdksh 5.2.13, (reported by Seiichi Namba): emacs: keys bound in .profile/$ENV
  are overridden by stty settings (eg, binding ^U in .profile has no effect).
  [fixed in 5.2.14: emacs.c: added x_bound array to track what user has set.]

x pdksh 5.2.13: vi: failed redo (.) commands caused line to be returned to the
  shell (eg, "echo hi/there^[Bdf/.").
  [fixed in 5.2.14: vi.c(vi_hook): removed !=0 from VREDO switch expression]

x pdksh 5.2.13, (reported by Arthor Pool): man page: (a) the time reserved
  word is not described; (b) description of command line wrapping is in vi
  section only (not in emacs); (c) limit on array indicies not mentioned;
  (d) ignoreeof ignored if eof read 13 times.
  [fixed in 5.2.14: man page updated]

x pdksh 5.2.13, (reported by Arthor Pool): set -u causes loss of stdout
  when command substitution with undefined parameter reference is run
  in an interactive shell.
  [fixed in 5.2.14: jobs.c(fill_command): don't eval TCOM arguments]

  XXX fd 1 lost (general fd pool handler?, error handler for comsub?)

  AP messages:
      time not descr
      vi/emacs <+>
      trap
      typeset -f ... "$(jasdsjh)" ...
      array
      os2 interrupts + pattern 
      ignoreeof
      set -A --
      set -u -> comsub errors & fill_command eval

x pdksh 5.2.13, (reported by Dave Hillman): test -nt
  and test -ot do not succeed if file2 (file2) does not exist.
  [fixed in 5.2.14: c_test.c(test_eval): return true if appropriate stat fails]