File: ChangeLog

package info (click to toggle)
tn5250 0.16.2-2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 1,764 kB
  • ctags: 1,626
  • sloc: ansic: 11,846; sh: 7,882; makefile: 285; perl: 70
file content (1396 lines) | stat: -rw-r--r-- 62,730 bytes parent folder | download
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
2001-07-30 Carey Evans  <carey@paradise.net.nz>
- Updated FieldExit and FieldPlus keys in man page.

2001-07-16 Scott Klement <klemscot@klements.com>
- Added support for a simple "ruler" (like the "rule lines" in CAE/400)
   to try it, add '+ruler' to your tn5250rc.

2001-06-29 Scott Klement <klemscot@klements.com>
- Applied Martin Rowe's patch to fix 80 to 132 col screen resizing when
    changing fonts. (along with my own update to his patch)
    
2001-06-20 Carey Evans  <carey@paradise.net.nz>
- Add --enable-os-dir option to configure.in for selecting linux or
  freebsd directory.
- Change xt5250.in to set xterm icon name as well as window title; patch
  from Richard Griswold.

2001-06-17 Carey Evans  <carey@paradise.net.nz>
- Update man pages and README to refer to SourceForge web pages.

2001-06-02 Scott Klement <klemscot@klements.com>
- Applied Carey Evans' patch to clean up configure.in and use 
   sysconfdir properly.
- Installed a termcap-neutral version of XTerm for BSD compatability
- Changed configure.in to install linux dir for linux and freebsd 
   diredtory for freebsd.
- Misc other fixes for FreeBSD compatability

2001-06-02  Carey Evans  <carey@paradise.net.nz>
- Add variant of LaMont Jones' patch from Debian bug #97380, removing
  preprocessor conditionals from within printf() for usage message, to
  work with gcc 3.0.

2001-05-29 Scott Klement <klemscot@klements.com>
- Fixed bug where SYSCONFDIR wasn't being run through 'eval' in 
   configure script.

2001-01-23 Scott Klement <klemscot@klements.com>
- Wired Field+ to C-x in cursesterm.c
- Made keys to exit FER state match those on an IBM 3487
- Fixed Field- in "numeric only" field.  Prior to this fix, instead of 
   changing the sign bit, it was adding a zero with a negative sign
   bit ('}').  Effectively, hitting 1<FIELD-> now gives -1 instead of
   -10 in these "numeric only" fields.

2001-01-18 Scott Klement <klemscot@klements.com>
- Fix for sign not being set when field minus / field plus 
   pressed in an auto-enter field.

2001-01-04 Scott Klement <klemscot@klements.com>
- Added xterm font support requested by Frank Richter
- to use: set the font_80 and font_132 config options in ~/.tn5250rc

2000-12-27 Rich Duzenbury <theduz@theduz.com>
- Added Experimental scs2ps (SCS to Postscript) program.  
- call by:  cat myscsfile | scs2ps

2000-12-06 Jay 'Eraserhead' Felice <jfelice@cronosys.com>
- Applied Cary Evans' patch updating man pages.
- Fixed text of LGPL exception clause in src/*.[ch]

2000-11-27 Jay 'Eraserhead' Felice <jfelice@cronosys.com>
- Applied Carey Evans' patch fixing configure script under ash.

2000-11-10 Jay 'Eraserhead' Felice <jfelice@cronosys.com>
- Apply Scott Klement's patch for fixing `Delete' key behavior.

2000-10-31 Jay 'Eraserhead' Felice <jfelice@cronosys.com>
- Patch from Scott Klement to beep when a message is received.
- Second patch from Dave McKenzie fixing cursor positioning issues when the
  emulator is sent more than one WTD.

2000-10-30 Jay 'Eraserhead' Felice <jfelice@cronosys.com>
- Fix for install-exec-local bug when python bindings not enabled.

2000-10-30 Jay 'Eraserhead' Felice <jfelice@cronosys.com>
- Applied patch from Dave McKenzie fixing cursor positioning issues when the
  screen is sent in more than one WTD.
- Added makefile rules and support files for building python language bindings
  using swig.

2000-07-19 Mike Madore <mmadore@turbolinux.com>
- Send negative response if we get an invalid command.
	
2000-07-18 Mike Madore <mmadore@turbolinux.com>
- Preliminary fix for emulator hang when pressing attention key from the
  sysrequest menu.
	
2000-07-11 Mike Madore <mmadore@turbolinux.com>
- Preliminary fix for emulator hang when pressing sys-request from the 
  sysrequest menu.
	
2000-07-08 Mike Madore <mmadore@turbolinux.com>
- Applied Scott Klement's patch to use the config file system for lp5250d
	
2000-06-30 Mike Madore <mmadore@turbolinux.com>
- Applied Scott Klement's fix for the broken SYSREQ function.
	
2000-06-28 Mike Madore <mmadore@turbolinux.com>
- Preliminary fix for Scott Klement's bogus negative response error.
- Cleaned up some compiler warnings.
	
2000-06-21 Mike Madore <mmadore@turbolinux.com>
- Fixed off by one errors when checking screen position validity.  Emulator was
  erroneously sending negative responses when output was to the last row of the
  screen.
- Add more validity checking of orders and commands.  The emualtor now produces
  the same error messages as a real terminal while running Scott Klement's 
  test program.
	
2000-06-20 Mike Madore <mmadore@turbolinux.com>
- Modified the following functions so that they now send a negative response
  when they encounter illegal parameters:
     start_of_header
     repeat_to_address 
     insert_cursor
     and others...
  This fixes a number of the assertions when viewing 'non-printable' 
  characters.  There are still several of these cases to code for, so it's 
  possible to get assertions if you view binary data.
	
2000-06-15 Mike Madore <mmadore@turbolinux.com>
- Fixed bug with missing break statement in telnetstr.c.  Was causing IAC
  escapes to fail.
	
2000-06-14 Mike Madore <mmadore@turbolinux.com>
- Added logic to check for clear print buffer in printsession.c.  Need to test
  to see if it fixes Scott's problem.
	
2000-06-01 Jay 'Eraserhead' Felice <jfelice@cronosys.com>
- Applied Scott Klement's fix (slightly modified) for accepting appropriate
  aidcodes when there is no read, etc.  (Crashing issues).
	
2000-05-31 Jay 'Eraserhead' Felice <jfelice@cronosys.com>
- Updated version to 0.16.0pre1, did tag-and-branch versions.
- Released 0.16.0pre1 and 0.17.0

2000-05-30 Mike Madore <mmadore@turbolinux.com>
- Noticed that Jason is a wise guy ;-)
	
2000-05-30 Jay 'Eraserhead' Felice <jfelice@cronosys.com>
- Updated man pages per Carey Evans.
- Noticed Mike Madore doesn't know today's date. <g>

2000-05-29 Mike Madore <mmadore@turbolinux.com>
- Started adding 3270 support.  Lots of new files and some minor changes to 
  existing 5250 stuff.
	
2000-05-26 Mike Madore <mmadore@turbolinux.com>
- Fixed bug where fields starting in column 0 were not being saved during save
  screen.
- Removed EPROTO when checking accept errors.  Posix says check for 
  ECONNABORTED instead.
	
2000-05-25 Mike Madore <mmadore@turbolinux.com>
- Started adding logic to conf.c to handle lists.  A list looks like:
  mylist = [
     one
     two
     three
  ]
  I need this functionality for specifying lists of valid ip addresses that
  are allowed to connect to the 5250 server.  Might be useful for the client
  also.
- Changed constants in scs.h/scs2ascii.c/scs2pdf.c so they don't conflict with
  standard defines on UnixWare.
- Changed library order in tn5250-config.in.  gtk-5250 now compiles and runs
  on UnixWare 7.
- Switched to select scheme instead of bare accept so we can handle both
  a client socket and a daemon management socket.
	
2000-05-25 Jay 'Eraserhead' Felice <jfelice@cronosys.com>
- Fixed syntax usage message in tn5250.c
- Backed out pending_aid stuff. System request/reset now work when X SYSTEM
  or X CLOCK.

2000-05-24 Mike Madore <mmadore@mmadore@turbolinux.com>
- Updated Makefile.am to build tn5250d daemon.  Fixes to sig_child in utility.c
  for UnixWare.  Changed handling of return code from accept to account for 
  interrupted system calls.  Necessary for UnixWare for some reason.  Moved
  setting of default env.TERM and map to display.c from conf.c.  This is to
  make conf.c more generic so I can use it for the 5250 server configuration
  file.
	
2000-05-24 Jay 'Eraserhead' Felice <jfelice@cronosys.com>
- SIGCHLD/SIGCLD #ifdef magic; should now compile on *BSD again.

2000-05-23 Mike Madore <mmadore@turbolinux.com>
- More work on 5250 server.  Server now runs as a daemon and you can connect
  to it multiple times with different tn5250 clients.
	
2000-05-23 Jay 'Eraserhead' Felice <jfelice@cronosys.com>
- Not handling K_FIELDPLUS right!

2000-05-22 Jay 'Eraserhead' Felice <jfelice@cronosys.com>
- Not handling K_FIELDPLUS!

2000-05-22 Mike Madore <mmadore@turbolinux.com>
- Merged in more 5250 server code and started work on a 5250 server daemon.

2000-05-16 Jay 'Eraserhead' Felice <jfelice@cronosys.com>
- Moved config sanity checks out of conf.c into tn5250.c so we can re-use the
  argv-parsing code for gnome-5250, gtk-5250.

2000-05-16 Mike Madore <mmadore@turbolinux.com>
- Tracked down the last of the unitialized variable bugs.  The emulator now 
  runs on UnixWare 7, although the key handling isn't correct.
	
2000-05-16 Mike Madore <mmadore@turbolinux.com>
- One more UnixWare fix.  This time to the curses terminal initialization.
  I set the r->conf member to NULL.  Fixes a segfault.  Did the same thing to
  the session and streamInit code in the last update.
	
2000-05-16 Mike Madore <mmadore@turbolinux.com>
- UnixWare fixes.  Now it doesn't segfault, but it hangs before we get a 
  signon. More fun to come.
	
2000-05-15 Mike Madore <mmadore@turbolinux.com>
- Applied patch from Greg Swenson <swenson@cross-works.com> for 5250 server
  telnet negotiation.
	
2000-05-09 Jay 'Eraserhead' Felice <jfelice@cronosys.com>
- Per Scott Klement, indicators not updated until first keystroke in some
  cases (should now be resolved).
- Removed tn5250_session_message_on/tn5250_session_message_off - One-line
  functions are silly more often than not.

2000-05-05 Jay 'Eraserhead' Felice <jfelice@cronosys.com>
- Minor tweak to tn5250.h (still including formattable.h)

2000-04-27 Mike Madore <mmadore@turbolinux.com>
- Applied Scott Klement's patches to improve handling of undisplayable 
  characters.
	
2000-04-14 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- Removed accidentally released debugging code from new config stuff.
- Do not require a host if +/-version or +/-help is specified.

2000-04-13 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- getopt.c: Now includes "tn5250-config.h" instead of <config.h>
- Added conf.[ch], rewrote argument parsing, hacked stream.c to use
  new config method, added configuration methods to relevent `classes',
  etc.  Beware the new command-line syntax.

2000-04-12 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- Updated ltmain.sh and ltconfig files from libtool-1.3.4 package.

2000-04-12 Mike Madore <mmadore@turbolinux.com>
- Added cast to return value of tgetstr to get rid of compiler warning.
- Moved aid pending logic into display from session.
- Moved check for locked keyboard until after any possible start of field 
  orders.  This fixes the cursor positioning bug when going into STRSST, DFU, 
  etc.	
- Fixed typo in xt5250 ("$bindir/tn5250 -V" is now "$bindir/tn5250" -V). 
  Reported by Sean Porterfield, fixed by Scott Klement.
	
2000-04-11 Mike Madore <mmadore@turbolinux.com>
- Changed the save screen code to include an IC order.  This ensures that we
  end up in the correct field when the screen is restored.  This fixes the bug
  where the cursor would always end up in the first non-bypass field after a
  break message. 
- Merged in Ron's fix so that K_DELETE returns the correct code.

2000-04-11 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- Added the -u option back to force underscores on.

2000-04-10 Mike Madore <mmadore@turbolinux.com>
- Fixed problem where we were processing aid keys when we weren't in a read 
  state.  The new behavior is to save the aid code and process it when we are
  in a read state.
- Fixed improper behavior where we were moving to the first non-bypass field
  even when the display was in an unlocked state.  The proper behavior for the
  unlocked state is to leave the cursor where it is.
	
2000-04-07 Mike Madore <mmadore@turbolinux.com>
- Created a tests directory and placed the DDS and RPG source file from James 
  Rich <james.rich@m.cc.utah.edu> there.

2000-04-03 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- `tic' not running shouldn't make the install fail; also 5250.terminfo
  now properly referenced as being in $(srcdir) in makefile.
- Don't build/distribute transmaps.h.html
- Put tn5250.m4 in $(datdir)/aclocal, not /usr/share/aclocal.
  (after releasing 0.15.8 - ugh):
- Changed license in tn5250.m4 to read `TN5250' instead of `GUILE'.
- Added LGPL exception clause to headers of src/*.[ch] except for
  src/scs2pdf.c, src/tn5250.c, and src/scs2ascii.c; in other words,
  everything in `lib5250.a' is now LGPL.

2000-03-26 Mike Madore <mmadore@turbolinux.com>
- Added documentation to tn5250_stream_open function

2000-03-21 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- Added updated manual pages per Carey Evans, including new manual pages
  for lp5250d and scs2pdf.

2000-03-06 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- More work on new configuration method (including configuration file
  parsing and command-line parsing).
- Fixed S/Lang interface's hard-coded message line.

2000-03-01 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- Added instructions on running `autogen.sh for building from CVS.

2000-02-28 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- Added configuration parser, partially contributed by Gomez, but mostly
  rewritten by me.

2000-02-22 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- Fixed `curses-compatibale' spelling error in configure script.
- Some versions of tic have problems with aliased names already being
  installed (e.g. if /usr/share/terminfo/x/xterm-5250 is already installed,
  it will not be updated).
- `make install' for Linux platform will now install terminfo entry in
  ~/.terminfo if not run as root.
- <Key>Home put in XTerm file.

2000-02-19 Mike Madore <mmadore@blarg.net>
- Added more syslog calls in printer session code.
- Documented some printer session functions.
- Added logfile option.

2000-02-18 Mike Madore <mmadore@blarg.net>
- tn5250_print_session_main_loop now checks the return value of
  tn5250_stream_handle_recieve.  This keeps us from going into a tight loop
  and consuming all the CPU if the host end of the socket gets closed.  

2000-02-18 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- Added +xb to xt5250.in
- Tab and Reset keys now work in FER state.

2000-02-13 Mike Madore <mmadore@blarg.net>
- Added call to clear_unit when we receive a Restore Screen opcode (0x05). 
  This seems to fix the problem where the screen is not properly restored when
  exiting from help windows.
- Removed printing functionality from tn5250.c
- Fixed translation map bugs.  To and from translation were reversed.  Also
  replaced references to en with 37.

2000-02-13 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- Replaced src/transmaps with the new submission by Carey Evans which will
  translate to different ISO code-pages (based on closest match to IBM
  codepage).
- Added `tn5250.m4' automake macro, and it installs in proper place.  Can
  now say `AM_PATH_TN5250' or `AM_PATH_TN5250(version)' in configure.in
  for programs which link with the 5250 library.
- Added --version flag to tn5250-config script.

2000-02-12 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- Moved all includes, including conditionals into tn5250-private.h, which
  is now included by all C sources.
- Added getopt.[ch] to the package, including configure.in code to detect
  whether they are needed.
- Some work on re-adding WINE/WIN32 support.
- Don't need to install the transmaps.h header for developers.
- Added configure.in checks for some headers (fcntl.h, syslog.h,
  sys/wait.h, ...) for lp5250d
- Prettied up syntax/usage for tn5250.
- Commented out 0x7f => K_DELETE mapping from cursesterm.c
- Allow C-g+x to do same thing as Esc+x again.
- tn5250_display_set_cursor_home:  Will now move to first non-bypass field
  instead of 0,0 if a non-bypass field exists in the format table.
- tn5250_session_write_to_display: If IC or MC order wasn't received, use
  tn5250_display_set_cursor_home() which could set the cursor to the 
  previous IC position (if one was sent).
- Properly implemented backspace to wrap to last cell of previous field
  (and inhibit display if pressed while not on field).
- Detect whether terminal supports underlining at run-time from the
  termcap entry.  Remove '-u' option and function.

2000-02-12 Mike Madore <mmadore@blarg.net>
- Removed file descriptor 0 from select() in
  tn5250_print_session_wait_event.  Since this is a daemon, fd 0 is
  non-existent.  Having it in there was causing lp5250d to consume massive
  amounts of CPU.
- Cleaned up lp5250d a little, and moved some funtions into utility.c
  
2000-02-11 Mike Madore <mmadore@blarg.net>
- First pass at creating a 5250 print daemon.  Look in lp5250d.c for
  details.

2000-02-11 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- Removed all tn5250_display_update calls which occur during the processing
  of the data stream, placed one at the end of the handling of the data
  stream.  This should make more tolerable on slow connections by avoiding
  unnecessary display updates.

2000-02-10 Mike Madore <mmadore@blarg.net>
- Moved printer session specific environment options inside the
  if(printsession) block.

2000-02-09 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- Removed config.guess and config.sub from CVS since they should be
  provided by autogen.sh.
- Added --enable-old-keys switch to configure to compile in the old
  keyboard handler (preparation for 0.15.7).
- Fixed bugs with handling response code for printer sessions.
- Added a response code/error message lookup table so that we can get
  the error message in Plain English (tm).
- Apply patch from Mike Madore regarding IBMTRANSFORM set incorrectly
  (for printer sessions).

2000-02-08 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- Documented `-P cmd' option in usage message, removed `-p' option to 
  indicate print session as `-P cmd' is required for a working session
  anyway.
- Fixed typo in new key-parsing code preventing PgDn from working.
- Added code to handle Esc+Del = Ins vt100 key mapping.
- Added stuff to XTerm resources to turn on real underlining and turn
  off silly color-instead-of-underline mode.
- Throw away weird keys we get from ncurses4 after before first
  keypress.
- Implemented FER (Field-Exit Required) state (not tested).

2000-01-20 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- Use 'TERM' to determine if terminal is an xterm or xterm-5250, as it
  *works* :) (Thanks to Frank Richter for pointing out bug).
- Apply Frank Richter's cursor-position-on-status-line patch. 
- Implement rest of keys for #defined USE_OWN_KEY_PARSING.

2000-01-17 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- Finally object-orientized translation map stuff, but will have to be
  modified later to handle wide characters/DBCS characters/Unicode - 
  however we intend to support different character sets better.
- In Field Exit handling for signed numeric fields, don't NUL-out the last
  (sign) position of the field - this is what Field- and Field+ are for.
- Home key when already in home position should send the Home aid code,
  even when we have a pending insert.  Also, home key should move to the
  beginning of the *first non-bypass field* not the *current field* when
  there is no pending insert (IC address).
- Clear pending insert flag on Clear Unit or Clear Unit Alternate command.

2000-01-11 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Reported by Phil Gregory - display is not inhibited and cursor is not in
  proper place after Write Error Code.
- Implemented Read Immediate Alternate and Read MDT Fields Alternate commands,
  modified tn5250_session_query_reply to indicate that we now support them to
  the host.
- Implemented TD (Transparent Data) order.  There is apparently nowhere to
  indicate this to the host. (This may have been the cause of earlier binary
  data issues).
- Implemented MC (Move Cursor) order.  This is now indicated to the host.
- Move remaining keyboard handling from session.c to display.c, make
  tn5250_display_waitevent NOT return keyboard events. (Might we want to
  pass along ones we don't understand?  Nah...)
- Save/restore message line when Write Error Code is used by the host to
  inhibit display.  Also, use the correct message line (according to the
  format table header).
- Added refresh() call to cursesterm.c.  Hopefully, this will resolve the
  80 -> 132 column switch refresh issues reported by some users.
- Wrote a quick hack of a Perl script to insert Robodoc comment headers
  for all the functions (and manually did all the structures).  Yeah, it's
  ugly, but no-one produces a tool as good as Javadoc which works on C.

2000-01-07 Jay 'Eraserhead' Felice <jasonf@nacs.net>
- tn5250_dbuffer_send_data_for_fields(): A *SET* bit inhibits the transmission
  of field data, not a clear one.  Also, fine point of spec, all three aid key
  bytes must be present before the 5294 controller will obey any of them.

2000-01-06 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Carey Evans' suggestions for new xt5250 script portability, security
  incorporated.
- xt5250: Now changes window title to name of host.
- cursesterm.c: Now obeys the information returned from ENQ about what
  type of terminal, and only uses xterm resize escape when on an xterm
  again.

2000-01-05 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Extensively modified xt5250 script to prompt for hostname if not given,
  automagically use xrdb to load the keyboard mappings.  Inspired by Henri
  (Thanks!)
- Renamed Xdefaults to xt5250.keys, installs in $pkgdatadir, also
  installs Linux keyboard maps there.
- Removed smacs, rmacs, and acsc from 5250.terminfo - we don't use them and
  they don't seem to work under an xterm.  Makes 'dialog' draw all sorts of
  funny looking characters.
- If installing on Linux system, automatically 'tic 5250.terminfo' if
  tic command is found (and user is root).
- Fixed bit-ordering issue causing beeps/screen flashes all the time
  (hopefully).

2000-01-04 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Happy Y2K!
- Changed handling of Field+ and Field- in regards to number-only-type
  fields per discussions on list.
- No longer ignores the function key bits in the format table header.  This
  means that we won't transmit the field data for a function key unless the
  AS/400 has requested it.

1999-12-31 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Rolled Tn5250Table functionality into Tn5250DBuffer, removed
  formattable.[ch] and resulting duplicate functionality in display.c
- Apparently, the AS/400 and S/36 differ in how they send the client the
  Restore Screen data.  The AS/400 just sends the data raw, while the 
  System/36 prefixes it with a X'04' X'12' (Restore Screen) opcode.  This
  is now ignored.
- Removed portsnoop. It doesn't belong here and there's better stuff out
  there (check freshmeat.net).  nc seems to work well, and is installed on
  most distributions by default.

1999-12-20 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Attention and System Request keys now transmit appropriate requests to the
  host again.
- Removed some files which are generated, added autogen.sh script to generate
  those files when you check out sources from CVS repository.
- Some funky sed-based magic with config.h/tn5250-config.h resolves issue with
  VERSION and PACKAGE multiply-defined in pacakages which use lib5250.
- Removed tn5250_session_set_terminal, now use tn5250_display_set_terminal.

1999-12-19 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- CC1/CC2 bytes processed for Read MDT Fields and Read Input Fields commands
  as they should be (previously only processed for Write to Display command).
- save/restore screen rewrite seems to work now - added wtd.c and wtd.h which
  manage a ``WTD Context'' which can be used for generating commands and WTD
  orders for creating a particular display and format table.  This is designed
  so that we can later do differentials (as in, for the 5250 server).

1999-12-17 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Partial work on save/restore screen rewrite finished.

1999-12-04 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- 0x0D is treated as a printable data character, since the AS/400 seems to
  send it as one.  Of course, we don't know what it should look like :(
- Ditto for 0x16, 0x0a.
- Add -w flag for automated testing from a tracefile.

1999-11-28 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Fixed certain key handlers not setting a field's modified flag (Delete key
  was one of them).  Reported by Martin Rowe.
- In insert mode, shift characters all the way to the end of the field as
  reported by Sean Porterfield.  Also, display is inhibited if last cell of
  field is full and user is trying to insert a character into the field.
- slangterm.c: Delete key is now handled properly.
- session.c: The display is now updated after queued keystrokes are
  handled.

1999-11-27 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- 'End' key now mapped properly in Xdefaults for xterm-5250.
- End key now moves to the cell just after the last non-null cell, unless the
  last cell in the field is non-null, then it just moves to the last cell.

1999-11-23 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Terminals now take pointers to displays instead of display buffers to
  update.  Moved indicators from display buffer to display.  This allows us
  to be flexible enough that we can add an html front-end at a later date,
  since we need access to the format table to do that level of translation.
- slangterm.c: fixed bug causing core on slang terminal bell.
- debug.c: fixed bug causing core on debug terminal bell.
- dbuffer.c: fixed assert submitted by Sean Porterfield.
- Indicators are only updated when necessary.

1999-11-22 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- session.c: Fixed bug in Read MDT Fields handler where sign position was
  being sent for signed numeric fields which were negative.

1999-11-21 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- utility.c: Removed tn5250_isnumeric, only called from one place, and
  isdigit works just fine there as that code already checks for ,. -+
- display.c: Two stoopid bugs in tn5250_display_shift_right, one stoopid
  bug making it's appearence in tn5250_display_field_minus and
  tn5250_display_field_plus.  Number Only fields now work with positive
  or negative numbers.  Fixed some confusion as to whether the character
  was currently ebcdic or ascii in tn5250_display_interactive_addch.

1999-11-17 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Field Exit and Field + are now seperate functions. '+' in numeric field
  maps to Field +.  Field + changes the sign of the number like it should.
- Re-implemented transmitting signed fields to host.
- Re-implemented Field -.
- Numeric Only and Signed Number field types are handled according to spec
  now, even though the spec is really weird about how they are handled
  (The last digit's zone is changed on Numeric Only on Field -/+, but the
  sign position is changed from ' ' to '-' with Field -/+, and the zone
  shift for that one takes place at transmit.)
- Now ignore garbage keys again.  Why are we getting two decimal 410s when
  we type the first character?  This doesn't make sense unless it's related
  to how we detect the xterm.

1999-11-16 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Fixed insert cursor handling.
- Started the move of the keyboard handling functionality into Tn5250Display.
- Packaged up for 0.15.1 release.

1999-11-15 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Created tn5250_field_valid_char() predicate which determines whether a the
  supplied character is allowed in the field.  Removed code from session.c
  key handler and call tn5250_field_valid_char() instead.
- Remove more code which places data in the format table.
- The death of `curfield' in the format table.
- The death of storing field data in the format table (only stored on the
  display buffer).
- Move code which handles normal data characters entered at keyboard into
  a function in display.c: tn5250_display_interactive_addch

1999-11-09 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- tn5250_field_start_row() and tn5250_field_start_col() return zero-based
  answers and are *finally* consistent with the rest of the code.
- Implemented destroy method for debug stream, destroy method for debug
  terminal now frees data structures appropriately.
- Removed Tn5250Table::next_save_id - not used.
- Remove tn5250_field_count_eof, only called from one place anyway, where
  using tn5250_field_end_(row|col) was a better choice.
- If 'End' key is pressed, but not in a field, inhibit the display.
- Removed 'too many options on SysRequest' bug ... that's apparently what
  other emulators do as well.
- The stream implementation no longer moves the record back 10 bytes (for no
  good reason).  References to the header data are no longer moved back by
  header_length; indeed, header_length no longer exists.
- Changed Tn5250DisplayBuffer so that the display buffer is an array of
  unsigned chars as opposed to an array of arrays of unsigned chars.  This
  is a step along the way of removing the `data' field on the Tn5250Field
  structure.

1999-11-08 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Created tn5250_display_cursor_x()/tn5250_display_cursor_y().  These return
  the cursor position on the current display buffer.
- session.c: replaced all occurences of tn5250_dbuffer_cursor_?(This->dsp)
  with tn5250_display_cursor_?(This->display).

1999-11-07 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Create Tn5250Display structure, which manages format tables and display
  buffers (hopefully somewhat transparently).  Removed:
    Tn5250TableSaveBuffer
    tn5250_table_save()
    tn5250_table_restore()
    Tn5250Table::saved_bufs
    Tn5250Display::saved_bufs

1999-11-01 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Removed Tn5250Session::inhibited - no longer used.
- Some prep-work for the 0.15.x series - renamed Tn5250Display to
  Tn5250DBuffer.  Also renamed display.[ch] to dbuffer.[ch]
- Fix problems reported by Scott Klement for Dup key/Field Minus key not
  advancing to the next field (hopefully ;)
- Added contributed FreeBSD keyboard map stuff and README to package ...
  Thanks to Scott Klement again.  Move Linux keyboard map and termcap
  definitions into a linux/ subdirectory.  Removed doc/rfc1205.txt --
  _why_ did I put that in there, anyway?

1999-10-24 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Implemented Help key/aid code.  (I thought we already did this... twice!)
- Fixed some field exit/field minus strangeness with cursor position after
  the fact.
- Implemented the Field Minus key (Esc+M, K_FIELDMINUS) - uses same code
  as '-' in a signed numeric field.
- Implemented Dup key.
- Various problems with 'curfield' in display, format table, session
  keeping in sync.

1999-10-13 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Reset key is now handled like System Request key -- that is, it will still
  be processed when the keyboard is locked (per William Suetholz).
- Allow System Request to be processed if display is inhibited
- Removed a bug where the Reset key might throw away the next key pressed.

1999-10-12 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Various adaptations of configure.in and #ifdefs per Scott Klement.  Should
  now compile cleanly under FreeBSD.

1999-10-12 Carey Evans <c.evans@clear.net.nz>

- field.c: Fix for processing right blank fill fields.

1999-10-04 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- tn5250_session_handle_cc1 was counting bits from the wrong end of the byte.
  Or rather the *right* end, damn IBM.  Anyway, this fixes Carey Evan's REXX/
  nslookup program not clearing the input line.
- Repeat To Address order now also copies the data to the format table if we
  write over a field.
- In tn5250_table_add_char(), removed extra function call to get field ptr.
- Removed tn5250_table_put_char() function, did _exactly_ the same thing as 
  tn5250_table_add_char().  Nobody calling it, anyway ;)

1999-10-01 Jay 'Eraesrhead' Felice <jasonf@nacs.net>

- Now dumping the record (so we can re-read it via a debug session) when
  the record is received, instead of when the record is processed.  They
  both should be in the same order, but new evidence suggests we are
  fubaring the order in certain cases.
- Fixed problem where most recently added record always becomes head of
  list; therefore we are handling the records in "mostly LIFO" order instead
  of FIFO order.  This should fix "Display Program Messages" sign-on
  problems, and signon problems when more than one display are active.
- Cleaned up TODO file and split it into TODO and BUGS.  Removed bugs and
  todo items that were already handled, reformatted the documents into
  XML so that we can make an HTML interface later (mmm... bugtracking).

1999-09-28 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Corrected problems with the order of #include directives in tn5250.h,
  other applications can now use tn5250.h :) 

1999-09-19 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Applied Carey Evans' patch for (more proper?) handling of displaying
  unprintable characters.
- Applied Carey Evans' patch updating tn5250.1 man page.

1999-09-03 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Added portsnoop utility for developers.
- Fixed record queuing/eating problem which caused many hangs and
  left the emulator in X SYSTEM states and caused much display
  corruption.

1999-08-30 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Re-enabled locking of keyboard when data is sent.
- Added tn5250.h to be used by applications outside of the tn5250
  package.
- Package now installs the 5250 headers.

1999-08-20 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- The terminal is considered `invited' after a PUT/GET opcode as well
  as after an INVITE opcode according to RFC1205.
- Removed duplicate handling of WTD data characters (inside a field and
  outside a field).  This should resolve a buttload of problems, and 
  hopefully it won't create any.
- Removed tn5250_table_add_field2() and cleaned up SF order handling.
- tn5250_field_set_mdt() is now a function (instead of a macro), and it
  sets the table's master MDT flag also.
- Implemented handling of the CC1 byte in WTD command.
- Removed IC2 opcode (X'03') RFC1205 notes this as document errata with
  the manual I have.

1999-08-08 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Applied patch by Mike Madore fixing a case in which it would be impossible
  to regain keyboard control since the X SYSTEM indicator is left set.
- Applied patch by Mike Madore adding print-key handler.
- Applied patch(es) from Ron Colcernian regarding field exit handling and
  (possible?) SEGVs.  Moved resulting tn5250_field_shift_right_fill to field.c
  and declaration to field.h
- Removed Windows/Wine support and documentation - horribly out of date, will
  not compile, and should be replaced shortly with the GTK+ port and Tor
  Lillqvist's port of GTK+ to Windows.
- session.c,formattable.c: When a format table is saved then restored, clear
  the master table MDT unless some field's MDT is set.  Moved code from
  session.c to keep the display in sync into formattable.c 
  tn5250_table_restore().
- Removed *all* clearing of field MDT flags, as this was very incorrect.  We
  have not implemented any of the ways in which the host can clear the field
  MDT flags, but this should still *work*.

1999-08-03 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- session.c: Applied Field Exit patch from Mike Madore.
- display.c: Fixed Del-key handling to clear last position
  of field to a space.
- terminal.h,cursesterm.c,slangterm.c,debug.c: Changed symantics
  of tn5250_terminal_waitevent() - new kbenable flag, if not set,
  terminal leaves keys queued for later.
- session.c: Pass kbenable flag as false when X SYSTEM indicator
  is on.  Note that we might get into a few problems with X SYSTEM
  being stuck on.  Ick.
- session.c: Stop reading keys in key handler if X SYSTEM indicator
  is on.  Removed `send' flag, renamed `done' flag `send' for 
  clarity's sake.
- session.c: Applied Home patch from Mike Madore.
- tn5250.c: Validate -y option with lookup table.

1999-08-01 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Table master MDT was not being cleared after transmitting fields.
- Read Immediate was being handled completely innacurately (it was
  being handled _exactly_ like Read MDT Fields).
- Read MDT Fields was not truncating trailing NULs from the field
  as described in the 5250 Function Reference.
- Cleaned up handling of Read Input Fields.  Also, Read Input Fields
  was not clearing the MDT flag on the fields.

1999-07-30 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- formattable.c: tn5250_table_save():  Fixed improper assigning of save
  buffer id; the id would be random (and likely out-of-bounds) for the
  topmost save.
- tn5250.c: `-u' option flag being reset, so underscores wouldn't be
  displayed.
- formattable.c: Fixed assertion due to formattable having incorrect idea
  of which field was the current field.
- session.c: tn5250_session_handle_key(): Removed `int attrib'.  Value was
  being calculated but never used.
- session.c: Field's MDT being set at inapropriate time... We were probably
  sending damn near all of the fields even when only the modified ones were
  requested.
- session.c: During WTD, if you SBA into the middle of a field and write
  data (or attributes), it sets the MDT flag for that field.  This was causing
  problems with sending bogus data back to the 400 during 'Read MDT Fields',
  since EMAIL was SBA'ing to the end of the last message id field (which
  was a bypass field), and writing attribute 0x22.  Now it doesn't set MDT
  and I hope that doesn't break anything, although 5494 reference implies
  that this is the way to do it.  Bug reoported by Barry L. Kline.

1999-07-24 Dave McKenzie <davemck@galois.com>

- Fixed tn5250_session_start_of_field to terminate after number of
  input-field data bytes = field length.  It was incorrectly assuming that
  input-field data would be immediately followed by a (non-displayable)
  order byte.  Symptom: enter STRSST cmd, then options 1,4,1,3,1 -- dumps
  core.
- In tn5250_field_process_adjust, changed
  for (; i++; i < This->length)
    to:  for (; i < This->length; i++)
  Symptom: core dump when field-exit key is pressed.
- Fixed tn5250_record_dump to interpret bytes as EBCDIC in chars at right.
- Fixed tn5250_session_restore_screen to update Tn5250Table.display ptr to
  point to new Tn5250Display struct.  Also update same ptr in all fields
  in field list.  Symptom: key any AS/400 cmd on a cmd line, press F4, F1
  F3, F3 -- dumps core.
- Fixed calculation of number of chars to repeat for Repeat-to-Address
  order.  Symptom: stair-stepped screen in Display/Alter/Dump in STRSST cmd.
- Fixed Printable function to include 0x1C and 0xFF as printable chars.
  Symptom: a screen with 1C or FF in data dumps core.

1999-07-22 Jay 'Erasehread' Felice <jasonf@nacs.net>

- Deleted tn5250.h: not being used.  Added debug.h, moved some stuff from
  utility.h to debug.h

1999-07-21 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Modified Tn5250Stream structure so that it is modular in the same manner
  as Tn5250Terminal structure (e.g., there can be stream drivers).  This
  does two things: a) allow us to handle SNA or other protocols one day
  and b) allow:
- Wrote a `debug' stream driver that doesn't connect, but reads records
  from a tracefile.
- Wrote a `debug' terminal that shrink-wraps some other terminal that
  reads keystrokes from a tracefile.  It should now be possible to
  recreate a session, and therefore recreate bugs that happen on systems
  you don't have access to, or in (some) environments that you don't have
  access to.
- Removed tn5250_stream_new and replaced it with tn5250_stream_open(name).
  You can say debug:/path/to/tracefile to recreate a session or
  telnet:host:port or tn5250:host:port or host:port (tn5250 is assumed).

1999-07-20 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- codes5250.h: Added definitions for additional orders from 5494 reference -
  although you can't use them (yet), they are good for reference purposes.
- all files: Change calls to assert() macro to call TN5250_ASSERT() macro
  instead.  TN5250_ASSERT logs the assert failure message to the tracefile
  as well as printing it to standard error.

1999-07-19 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- cursesterm.c,slangterm.c: Use the C setlocale()/isprint() to determine
  whether the character is printable.
- session.c: Fixed possible SEGV when Shift+Tab not on a field.
- win5250.c,stream.c: Changed C++ style comments to C style comments.
- session.c: Messed around with tn5250_session_start_of_field()'s logging so
  that if James' "happened-one-time" problem shows up again, we can catch
  it...
- Updated libtool from 1.2b to 1.3.3 to solve static linking problems.
- slangterm.c,configure.in: Check for <slang.h> and <slang/slang.h>
  and use whichever one is present.

1999-07-18 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- version.c: Now #include's config.h and uses the VERSION macro
  defined by configure.
- utility.c: assert() that asciimap and ebcdic map are non-null.

1999-07-16 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- If the tty size is >= 132 columns and >= 27 rows and the user hasn't
  specified which kind of IBM terminal to emulate, pick a 132 column
  type.

1999-07-12 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Big cleanup:
- Added `lclint' target to Makefile to check sources with
  lclint.  Added some lclint-style comments to sources
  so lclint can check more effectively.
- formattable.[ch]: Removed Tn5250Table::old_numfields 
  - not used.
- formattable.c: tn5250_table_new() wasn't initializing
  Tn5250Table::MasterMDT.  May have been ok.
- session.c,formattable.c,formattable.h: Removed `dsp'
  parameter from tn5250_table_field_exit() - not used.
- Added .lclintrc to project.  Found lots more errors :(
  -- all small, tho.
- session.[ch]: Removed Tn5250Session::termname - not used.
- session.c: Removed Tn5250Session::cur_opcode - only used in 1
  function: tn5250_session_handle_receive().
- session.c: tn5250_session_new() is now NULL-safe.
- Other such minor problems as reported by lclint, most
  noteably a slew (maybe ten) unused local variables
  removed.

1999-07-02 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Big cleanup:
- Removed u_int8/16/32, s_int8/16/32 types ... not being used.
  u_int16 was, is now replaced with Tn5250Uint16 to keep our
  naming conventions straight.
- Prefixed all the functions in utility.[ch] with tn5250_
- Removed the following functions:
	tn5250_table_clear_screen_to_eof - not used
	tn5250_table_clear_field_buffer_to_eof - redundant
- About 1/2 the functions took positions in x, y order, the other
  half in y, x order.  (Ugh... bit me a few times).  Changed all
  functions to y, x order.  This affects the following functions:
	tn5250_table_next_field2
	tn5250_table_prev_field2
	tn5250_table_field_number
	tn5250_table_field_exit
	tn5250_table_del_char
	tn5250_table_ins_char
	tn5250_table_add_char
	tn5250_table_put_char
	tn5250_table_process_adjust
- Moved appropriate functions from formattable.c to field.c and
  renamed:
  	tn5250_table_count_eof -> tn5250_field_count_eof
	tn5250_table_is_full -> tn5250_field_is_full
	tn5250_table_count_left -> tn5250_field_count_left
	tn5250_table_count_right -> tn5250_field_count_right
	tn5250_table_get_char -> tn5250_field_get_char
	tn5250_table_char -> tn5250_field_put_char
	tn5250_table_set_minus_zone_screen -> tn5250_field_set_minus_zone
	tn5250_table_process_adjust -> tn5250_field_process_adjust
	tn5250_table_clear_field_buffer_to_eof -> tn5250_field_right_fill
  These functions used to take a table pointer and a field number,
  but now just take a field pointer.

1999-06-07 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Fixed configure bug: `./configure: test: =: unary operator expected' again :)
- chmod +x config.guess config.sub
- Added support for S/Lang library, can now use S/Lang instead of
  curses or ncurses for screen management. (Use --with-slang configure
  option, see slangterm.h and slangterm.c)

1999-05-18 Jay 'Eraserhead' Felice <jasonf@nacs.net>

- Fixed configure bug: `./configure: test: =: unary operator expected'
- Added lots of asserts in the display code so that we can nail down
  some strange, rarely duplicatable problems reported on occasion.
- Fixed Shift+Tab/SEGV which could be a Shift+Tab/Cursor Pos problem
  on some systems.

1999-04-30 Michael Madore <mmadore@blarg.net>

- Fixed cursesterm and xt5250 so that 132 column mode now works when the 
  xterm doesn't start out 132X27.

- Fixed permissions on files so that everything isn't execute.

1999-04-29 Jason M. Felice <jasonf@nacs.net>

- Added initial code to resize xterm dynamically for 132 column mode.

1999-04-26 Jason M. Felice <jasonf@nacs.net>

- Implemented tn5250_field_dump, replaced calls to tn5250_table_dump_field
  with calls to tn5250_field_dump.
- Moved some other miscellaneous functions into field.c, where they belong.
- Changed all instances of ``STream'' to ``stream''.  I was _supposed_ to
  do that before submitting the 0.13.0 patch.
- Added tn5250_field_hit_test(), changed tn5250_table_field_number() to
  cycle through the list of fields and try to find a hit, removed screen_map
  and all references to it.
- Fixed bug introduced during C conversion when handling K_END.
- Ick.  Did the same thing for K_DELETE.
- In tn5250_session_start_of_field, fixed problem that might possibly cause
  erratic cursor placement.  (I can't say how likely).  Has to do with cursor
  placement after drawing output-only fields.
- That should be good riddance to the last of the code that depends on the
  display being 80 columns wide.
- Added checks for -lsocket and -lnsl for UnixWare as reported by Bill
  Suetholz.
- Added checks for <sys/filio.h> for UnixWare as reported by Bill Suetholz.
- Added #include <stddef.h>, #include <stdlib.h> to catch UnixWare problem
  with NULL not being defined as reported by Bill Suetholz.
- Made functions defined in scs2ascii.c static, prefixed them with 
  scs2ascii_ to fix -lncurses clash on UnixWare as reported by you-know-who.
  (a.k.a. fun with sed ;)
- Added tn5250_session_clear_unit_alternate, which sets the 'virtual' display
  to 132x27.  You need a large enough x-term (or need to use SVGATextMode at
  the console) to ses all of it, as it doesn't affect the tty any.
- Moved all terminal selection logic into tn5250.c, added -y option to
  specify the IBM terminal type.  Put in TODO that we probably want to list
  the terminal types available in the man page, but I have _no idea_ how
  to format documents for nroff.  It's all greek to me.
- Modified cursesterm.c to keep track of size of last display rendered, and
  do a clear() when the size changes, so that you don't have lines 25-27 of
  the display hanging around when it goes back to 24x80 mode.
- Added --with-extra-libs=xxx option to configure... this is nice for
  linging against Electric Fence or ccmalloc to test for memory problems.

1999-04-21 Richard V <ricv@denhaag.org>

- Nice 5250 icon.

1999-04-19 Jason M. Felice <jasonf@Baldwingroup.COM>

- Fixed MW indicator typo.

- Fixed uninitialized pointer which just _happened_ to work under Linux.
  (tn5250_session_new() didn't set This->STream = NULL).  Found by Scott
  Klement on FreeBSD.

- Check to see if getopt.h is needed added to configure.in.  This should
  solve all known compile problems on BSD.  Also reported by Scott Klement.
  (We had an extended email exchange today where we both rambled on and
  admitted we'd had a bit too much caffeine today ;).

- INADDR_NONE is no longer checked for by configure.  It's a #define, duh,
  so it's #ifndef INADDR_NONE'd in stream.c (I feel silly..)

1999-04-12 Jason M. Felice <jasonf@Baldwingroup.COM>

- Converted cursesterm.cc, displaybuf.cc, cursesterm.h, terminal.h,
  displaybuf.h from C++ to C.
- Changed references to ``objects'' in those files to C method from session.cc,
  formattable.cc, others.
- Added autoconf detections for various reported compilation problems, mostly
  reported by Scott Klement under FreeBSD.
- Reworked winterm.h, winterm.cc into C from C++, modified configure script to
  detect if Wine is installed, if so, will compile ``win5250''.  Can use
  --with-wine=<source-prefix> as an argument to configure.  See the comments
  added to README.nt about this.
- Converted the record.h, record.cc files from C++ to C.  Changed references
  in session.cc, session.h (among others) to use the C method.
- Added field.h, moved declarations having to do with fields from
  formattable.h, made a Tn5250Field structure, which is a list node.  Replaced
  fixed field references with new dynamically linked list structures
  everywhere.  Maximum number of fields is now INT_MAX. (like you need _that_!)
- Remove Packet class.  This class was used to queue packets before translating
  them to Tn5250Record classes.  Now data is accumulated into a Tn5250Record
  `class' instead of a Packet class, then just handed off to the PrintSession
  or Session without all the funky computations and reallocations.  Much
  smoother, less code.  I am slapink myself for doink this in the first
  place.
- While changing Buffer references in stream5250.cc, noticed an interesting
  ``feature'' that I introduced a while ago. IAC SB ... IAC SE sequences will
  only be processed correctly if they are processed in the same nonblocking
  block of data.  In otherwords, if the server pauses between sending IAC SB
  <data> and IAC SE, or the network device MTU causes a packet split in the
  middle and the machine is fast enough -- kersplut.  The chances of this are
  one in a million, but I'm anal.
- buffer.cc -> buffer.c, Tn5250Buffer exists.  It's usage is weird (to avoid
  allocating them).
- Eliminated use of BufferPool class, removed bufferpool.c, bufferpool.h files
  from project.  It was only used in formattable.cc to save/restore format
  table data.  Now handled by a circularly linked list in formattable.cc.
- While patching up to 0.12.51, removed tn5250_stream_set_terminal_type,
  sessionname and transformmap args to tn5250_stream_connect (that'll quickly
  get ridiculous...  I looked at that spec a while ago).  Now we have:
	  tn5250_stream_setenv ()
	  tn5250_stream_unsetenv ()
	  tn5250_stream_getenv ()
  Examples:
  	  tn5250_stream_setenv (the_stream, "TERM", "IBM-9999-11");
	  tn5250_stream_setenv (the_stream, "IBMTRANSFORM", "1");
	  printf ("%s\n", tn5250_stream_getenv (the_stream, "IBMTRANSFORM"));
	  tn5250_stream_unsetenv (the_stream, "IBMTRANSFORM");

  All strings are sent in no particular order on a NEW_ENVIRON.  Yes, I know
  'TERM' isn't one of the ones in the spec, but it's obviously the one that
  is used in 'nix for that sort of thing, and the rfc says you should ignore
  ones you don't understand.
- Removed hosttransform variable.  Value wasn't getting used.
- Did lots of hacking of the Windows version to get it to compile under Wine.
  It does compile, without warnings, and partially runs.  You can't interact
  with it, though, because Wine has not yet implemented WSAAsyncSelect, so
  the program does not receive notifications when there is data received in
  the typical Windowsish manner.  Also, DNS or hosts resolution blows up for
  some strange reason which I have to figure out, so you have to use the
  dotted TCP address notation.

1999-04-04  Ron Colcernian <rcc@dresults.com>

- tn5250 now properly handles the 0x1C character.  This is an asterisk with
an overbar.  Apparently this is generated by pressing the DUP key.

1999-04-04  Michael Madore <mmadore@blarg.net>

- Added two new command line options to tn5250. -P pipes the output of a
print session to the specified command(s).  -T causes the AS/400 to perform
the host print transform.  The argument to this option is the name of the
printer model to use during the translation.  For example *HP4 is for the HP
LaserJet 4 and compatibles.  If -T is not specified, no translation is done,
and the resulting stream will be an SCS stream.

1999-04-03  Michael Madore <mmadore@blarg.net>

- scs2ascii now supports more of the SNA Character Stream.  It is now
possible to create a printer session that does not depend on the AS/400 to
do translation.  The output can be sent to a file, or piped into a command
like a2ps to print on a postscript printer (or any printer supported by
Ghostscript).

1999-04-01  Carey Evans  <c.evans@clear.net.nz>

- session.cc: Backtab to start of field, then to previous field.

1999-03-28  Carey Evans  <c.evans@clear.net.nz>

- cursesterm.cc: Don't hide printable ISO-8859-1 characters.

1999-03-28  Carey Evans  <c.evans@clear.net.nz>

- Man page updates, including a new man page for scs2ascii.

1999-03-23  Luca Paleari <lpaleari@saatimc.saati.it>

- Added Italian 5250 keyboard map for linux console.

1999-03-22  Michael Madore <mmadore@blarg.net>

- Rudimentary printer session support.  Sends printer stream to lpr after
  filtering through scs2ascii program.  The code currently relies on the
  AS/400 to perform the EBCDIC to ASCII transformation.  The printer session
  options are currently hardcoded in stream5250.cc.  In particular, it assumes
  an HP LaserJet 4 compatible printer.

1999-03-18  Michael Madore <mmadore@blarg.net>

- Added check for INADDR_NONE to configure.in (For Solaris)

1999-03-11  Carey Evans  <c.evans@clear.net.nz>

- cursesterm.cc: Made three more fields non-display.

1999-03-06 Jason M. Felice <jasonf@Baldwingroup.COM>

- Improved Win32 support

1999-03-01 Michael Madore <mmadore@blarg.net>

- Fixed memory allocation error in AddField

- Updated sample Xdefaults to handle backtab properly

1999-02-28 Michael Madore <mmadore@blarg.net>

- Added Attention key functionality.  

- Added term->update to RestoreScreen function.  Otherwise, the screen isn't
  redrawn after a restore operation.

- Added -p option to indicate that this is a printer session.  Started
  implementing printer session.  Doesn't do anything useful yet.

- The home key should now do the right thing.

1999-02-28  Carey Evans  <c.evans@clear.net.nz>

- Rewrote most of the man page.  Added copyright, new options, list of 
  character sets, description of keyboard mapping, and notes on
  display.

1999-02-28 Ron Colcernian <rcc@dri2.dresults.com>

- Modified 5250.terminfo to include the kent=\EOM which is defined in the
Xdefaults file. Also, added to cursesterm.cc the logic to detect that the user entered
the keypad enter key and mapped it to field exit logic.

1999-02-23  Carey Evans  <c.evans@clear.net.nz>

- Set MDT when Field Exit is pressed.

- Don't require the (unused) argument to "-u" switch.


1999-02-19 Jason Felice <jasonf@Baldwingroup.COM>

- Modifed configure.in to check for c++ bool type, and adjust if necessary.

1999-02-19 Michael Madore <mmadore@blarg.net>

(One or more of these fixes squashed "The operation at row/col xx,yyy
is invalid. Press Enter" error in SDA)

- Added PutChar function to formattable.  This function is just like
  AddChar, except it doesn't set the MDT flag for the field the character is
  being added to.  AddChar cannot be used for filling fields with initial data 
  because it leaves the MDT bit set, which is not always correct.

- Fixed off by one error in ReadMDT function.  Was sending one character too
  many.

- Sendfields function now sets the header opcode to PUT_GET instead of
  NO_OP.

- We now store embedded character attributes.  Before we were only
  displaying them.

1999-02-18 Jason Felice <jasonf@Baldwingroup.COM>

- Security paranoia: If a tracefile is generated, set file mode to 0600
  since it will contain the user's password.  Just because I'm paranoid
  doesn't mean that they _aren't_ out to get me. ;)
  (Hrm, maybe that last note was the codeine-based cough syrup talking)

- Added -u option, which will do the following pseudo-code (in
  CursesTerminal::update):

	if the -u option was given
		if the curses attribute has the A_UNDERLINE bit set
			clear the A_UNDERLINE bit
			if the character is a space
				change it to an underscore ('_')
			endif
		endif
	endif

  (Since the A_VERTICAL attribute is translated before this, it works
  on S/36 fields also.)
  This makes it workable on a linux vga console, which doesn't seem to
  support A_UNDERLINE (no wonder, I don't recall vga hardware supporting
  anything like it from my DOS days).  

1999-02-17  Michael Madore <mmadore@blarg.net>

- <CTRL-R> and <ESC><R> are now both error reset.  The original behavior
  (arrow and tab keys) is now removed.

- New 5250.terminfo.  This one is based on the Linux console, and should
  hopefully handle colors properly.

- Updated README file.

1999-02-17  Carey Evans  <c.evans@clear.net.nz>

	* transmaps: Rewritten in Perl, with the following enhancements:
	it's faster, it outputs translations for IBM's numeric code pages
	(like IBM037, which is the standard AS/400 US English code page)
	and it lets the argument to "-m" be the suffix of any of the
	ebcdic* names listed, or the number of the codepage.

1999-02-16 Ron Colcernian <rcc@dri2.dresults.com>

- Fixes to field exit handling

1999-02-16 Michael Madore <mmadore@blarg.net>

- Modified Stream5250 to handle printer packets.
 
- Changed WriteErrorCode to set inhibited = 1

- Modified saved_bufs to hold up to 256 saved buffers

1999-02-15 Michael Madore <mmadore@blarg.net>

- Modified format table to dynamically allocate memory for fields.  The
  solves the buffer overflow on the Screen Design aid.

- Fixed off by one error (should be 24, not 25) in StartOfField code in
  session.cc.  This fixes the assertion failure in screen design aid.

- Brought the README file a little more up to date.

1999-02-14 Michael Madore <mmadore@blarg.net>

- Fixed bug in RepeatToAddress in calculation of count of characters to
  draw.  Was shy two characters.

- Moved diagnostic messages from stream5250 into tn5250.  Errors encountered 
  during inital connection now print to the screen.

1999-02-14 Jason Felice <jasonf@Baldwingroup.COM>

- Fixed assertion when tab or backtab is used on a protected area of the
  display.
- Added code to FormatTable class to determine the next or previous field
  if there is no current field.
- Had problems with program blowing up, due to fact that both 0xFF and -1
  are used in different places to signify 'no field'.  Changed all references
  to use -1.  (including FieldNum ()).
- Preliminary Windows support.  Added Makefile.nt, config.h.nt  (don't worry,
  it works under Win95 -- that just seems to be convention).  If compiling
  with CygWin32, ignore these, since ./configure will work.  I'm using Samba
  to get to the source, using gvim (vi for Windows!), since it's the only
  editor that won't muck with CRLF -- it uses LF or CRLF depending on what it
  finds when it loads the file!  I tried a stint of using vi on Linux then
  compile under Windows, and, well, Windows is apparently overzealous with
  cacheing, and thus I'd end up compiling the wrong version of the file.
  ("Hey, wait!  I fixed that!")
- If WIN32 is defined, Stream5250 will use the braindead Windows socketing.
  It may not work if you define this and use CygWin32.
- Whenever displaying a character with the A_VERTICAL attribute,
  CursesTerminal uses A_UNDERLINE instead.  I'd like to use the official
  middle-dot (a period-sized dot in the middle of the cell), but that
  wouldn't work on the majority of terminals.   Graphical versions should,
  though.  Gee, now people can see where the fields are on a 36!
- Modified DisplayBuffer to use "kinda the old method."  It is now a 
  pretend array of unsigned chars instead of ints again, and attributes are
  stored the same way as characters are.  This fixes the underline problem
  on the initial screen.  May fix other display problems with incorrect
  attributes as well.  Complementary modifications made to CursesTerminal.
- Modified Session::MainLoop, Session::HandleReceive, Stream5250::getnext,
  Stream5250::GetByte, Stream5250::HandleReceive so that we now exit
  gracefully when the connection is dropped (either on purpose or abnormally
  aborted).
- Hmm, I thought my code broke color support on the signon screen this
  whole time (half the fields are white), but it turns out that it's
  a bug with either nxterm color support or the xterm-color terminfo
  entry.  The color is fine when using xt5250.  That should clean up all
  display problems that I caused (I think).

1999-02-13 Carey Evens <c.evens@clear.net.nz>

- Fix for Ctrl-Q core dump

- Fix for double printing of command line options

- Updated man page

1999-02-13 Mike Madore <mmadore@blarg.net>

- Fixed off by one error in attribute_map.  Could cause some display
   display screens to crash.

1999-02-08  Carey Evans  <c.evans@clear.net.nz>

	* AUTHORS: New for automake support.  Used to be CREDITS.

	* NEWS: New for automake support.  Used to be CHANGES.

	* Makefile.am: New for automake support.

	* configure.in: New for automake support.

** Version 0.13 **
   -- Command line now accepts hostnames as well as addresses.
   -- Displays descriptive text if TCP/IP connection fails.
   -- CTRL-C now stops the emulator cleanly.
   -- Implemented Write Error Code command.
   -- Added Shift Tab to move backwards through fields.
   -- Partial overtyping of fields now preserves existing contents.
   -- Input into multiline field now works for all cases.
   -- Fixed buffer overrun error when sending fields after and aid
      generating key was pressed.
   -- Color support.
   -- Better telnet negotiation
   -- Fixed some refresh problems
   -- Implements 'Read Input Fields' command.
   -- Implements 'Clear Format Table' command.
   -- Now handle more than two FCWs
   -- Roll command implemented
   -- Compiles without warnings using -Wall
   -- Some dead code removed
   -- Works on terminals of more than 80 characters
   -- Variable length buffers
   -- Code reorganization
   -- Preliminary DEVICE name selection support
   -- Bug fix in inhibited mode
   -- Update current field when cursor moves
   
** Version 0.12 **

   -- Fixed bug where IAC characters in the header were not being doubled
   -- Properly handle Insert Cursor commands
   -- Added message waiting indicator and supporting functions.
   -- Start Of Header order now clears format table   
   -- Can now save more than one screen at a time
   -- Fixed bug where ending column of fields was being mis-calculated
   -- When a field is full, the cursor now goes on to the next field.
   -- Typing in non-field areas is no longer permitted.
   -- Attention key menu now displays properly.

** Version 0.11 **
   Major Rewrite

** Version 0.10 **
   Initial release