File: ChangeLog

package info (click to toggle)
recode 3.4.1-11
  • links: PTS
  • area: main
  • in suites: slink
  • size: 1,560 kB
  • ctags: 622
  • sloc: ansic: 10,572; perl: 339; makefile: 317; lisp: 243; sh: 173; lex: 165; awk: 127; sed: 10
file content (1699 lines) | stat: -rw-r--r-- 63,912 bytes parent folder | download | duplicates (2)
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
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
Thu Dec  1 09:27:52 1994  Francois Pinard  (pinard@icule)

	* configure.in, Makefile.in, acconfig.h, recode.c: Rename PRODUCT
	to PACKAGE.

	* configure.in, Makefile.in, recode.c, recode.h: Adjust for GNU
	locale as per sharutils'.
	* LOCALE, libintl.c, libintl.h: New files, from elsewhere.
	* fr.tt: New file, for French.
	* Makefile.in: Define SOURCEX and use it to prepare the .cod file,
	because extract-msgs cannot grok Flex sources yet.

Wed Nov 23 23:58:33 1994  Francois Pinard  (pinard@icule)

	* recode.h, recode.c, txtelat1.l: Rename _ to __P.
	* recode.h: For now, declare _ as a macro returning its argument.
	* recode.c, charset.c: Use _ macro over all localizable strings.

Wed Nov 16 11:14:24 1994  Francois Pinard  (pinard@icule)

	* lat1ltex.c, ltexlat1.l: Add \copyright{} and \pound{}.
	Use !` and ?` instead of erroneous !' and ?'.
	Reported by Christian Rolland.

Tue Nov 15 09:42:27 1994  Francois Pinard  (pinard@icule)

	* lat1html.c: Added "other" code 34, and "normal" codes 160-191.
	Changed &([AEIOUaeiou])circu; to &\1circ;, &([AEIOUaeiouy])diaer;
	to &\1uml;, &AE; to Æ, &ae; to æ, &MULT; to ×,
	&DIVIS; to ÷, &([Oo])stroke; to &\1slash; and &ssharp; to
	ß.
	* htmllat1.l: Changed accordingly.  But accept previous codings as
	well as new ones.  Accept &#NNN; where NNN is a Latin-1 code.
	Accept &brkbar; for ¦, and Đ for Ð, accounting
	for HTF conventions.  So, html:l1 | l1:html could be used for
	normalizing.
	Reported by Christian Rolland, Mikko Silvonen and Per Steinar
	Iversen.

	* htmllat1.l (module_html_latin1): Declare ISO_8879:1886 as the
	official charset name, and HTML as an alias.  Add other aliases:
	entity and SGML.
	* lat1html.c (module_latin1_html): Idem.
	Reported by Christian Rolland.

Mon Nov 14 20:29:16 1994  Francois Pinard  (pinard@icule)

	* Makefile.os2, config_h.dos: Updated.
	Reported by Kai Uwe Rommel.

	* configure.in: Check for <libintl.h> and <locale.h>.
	* recode.h: Include <libintl.h> or declare gettext.
	* recode.c: Possibly include <locale.h> and call setlocale.

	* recode.c: Clean most #ifdef's into #if's.

	* recode.h: Declare error_print_progname.
	* recode.c: Initialize it.
	(error_print_prefix): New routine.
	PERROR, PERROR1: New macros, use them.

	* recode.c (main): Abolish the distinction between program_name
	and program_path.  Let program_name convey more information.

Fri Nov 11 22:57:52 1994  Francois Pinard  (pinard@icule)

	* recode.c (perform_auto_check): Avoid a NULL dereference.
	Reported by Andreas Schwab.

Tue Nov  8 14:13:43 1994  Francois Pinard  (pinard@icule)

	* Makefile.in: Define PERL as perl, and use it.
	Reported by Michael Shields.

	Remaking the MSDOS port:
	* configdos: All revised.
	* config_h.dos: Renamed from config.h.dos, and revised.
	* Makefile.in (distdos): All revised.
	(Makefile.tcc, libobjs.tcc, objects.tcc): New goals.
	* dosfname: New Perl script.
	* recode.c (setup_signals): Forget SIGPIPE if not defined.

Mon Nov  7 21:16:23 1994  Francois Pinard  (pinard@icule)

	* Makefile.in (stamp-vti): Use new -r option to date.

	* charname.pl: Escape @ into \@, for Perl 5.
	Reported by Eric Backus and Michael Shields.

	* Makefile.in (merged.c): Typo.
	Reported by Eric Backus.

	* recode.h: Move the typedef enum QUALITY declaration forward,
	because of the HP-UX 9.01 compiler which needs it.
	Reported by Eric Backus.

Sat Nov  5 15:56:48 1994  Francois Pinard  (pinard@icule)

	* Version 3.4.

	* Makefile.in (realclean): Also remove stamp-vti.

	* recode.c (main): For now, inhibit -s with a warning, when -g.
	This is only a temporary non-solution for a coredump problem.
	Reported by David E. A. Wilson.

	* recode.c (main): When diagnosing an irreversible recoding, do
	not falsely say that the -f option was not specified.
	(usage): Insist on the fact that -f is currently always selected.
	Reported by David E. A. Wilson.

Wed Nov  2 00:49:34 1994  Francois Pinard  (pinard@icule)

	* configure.in: Check for const only after having found possible
	ANSIfying compiler flags, this is of no use to check it before.

Mon Oct 31 01:26:40 1994  Francois Pinard  (pinard@icule)

	* unhexify.l: Deleted.  Not up to GNU standards for distribution.
	* Makefile.in (BACKLOG): Goal deleted.  It was depending on files
	which are not part of the distribution.
	Reported by Jim Meyering.

	* checkit: Force -f on most recode calls, to avoid diagnostics.

	* Makefile.in: Clean up, following the one in GNU sharutils.  I
	will not detail all the changes here.
	* configure.in: Likewise.
	* recode.c: Use PRODUCT and VERSION instead of version_string.
	* acconfig.h: Document PRODUCT and VERSION.
	* recode.h: Interface with dmalloc if WITH_DMALLOC.

Sun Oct 30 16:52:37 1994  Francois Pinard  (pinard@icule)

	* recode.h, recode.c: Use #if rather than #ifdef to test __STDC__.

Tue Oct 11 00:26:30 1994  Francois Pinard  (pinard@icule)

	* mergelex.awk: Declare yywrap only if not already a preprocessor
	symbol, because some versions of Flex define it.
	Reported by David van Leeuwen.

Mon Oct 10 20:19:45 1994  Francois Pinard  (pinard@icule)

	* lat1asci.c: Implement O and o with stroke, y with diaeresis, and
	german sharp s (as s overstroken with double quote).
	* ascilat1.l: Corresponding changes.
	Reported by Michael Gschwind.

	* lat1txte.c (init_latin1_texte): Ensure diaeresis_char will be
	used in the computed translation table.  It was ignored.
	* txtelat1.l: Ensure diaresis_char is recognized where it should.

	* ascilat1.l: Remove all references to diaeresis_char, because
	backspaced ASCII was never meant to be sensible to option -c.

Sun Oct  9 08:34:37 1994  Francois Pinard  (pinard@icule)

	* recode.h: Get rid of CONFIG_BROKETS.

Tue Sep 13 12:55:30 1994  Francois Pinard  (pinard@icule)

	* recode.c (usage): Use fputs instead of printf when possible.

	* recode.c: Implement -k option for searching through recodings.
	* charset.c (decode_known_pairs): New function.
	(list_all_charsets): Accept a parameter and obey restrictions.
	* recode.h: Declarations adjusted.
	Reported by Ghislain Plamondon.

	* acconfig.h: Document PROTOTYPES.  Strange enough: how did it
	ever work without this?

	* configure.in: Adjust for Autoconf 2.0.
	* install-sh: New name for install.sh.
	* Makefile.in: Put date in stamp files.
	(DISTFILES): Adjust.

Tue Sep  6 12:09:44 1994  Francois Pinard  (pinard@icule)

	* Makefile.in (TAGS): Remove -t from etags call.

Fri Jul  8 00:15:14 1994  Francois Pinard  (pinard@icule)

	* ansi2knr.1: New file, from elsewhere.
	* Makefile.in (DISTFILES): Distribute it.

Fri Jun  3 12:58:05 1994  Francois Pinard  (pinard@icule)

	* recode.c (usage): Spell `Texinfo' with a capital.

Wed Apr 13 13:40:46 1994  Francois Pinard  (pinard@icule)

	* Makefile.in (Makefile, etc.): Adapt for Autoconf 1.8.

Sat Mar 19 05:52:45 1994  Francois Pinard  (pinard at icule)

	* lat1asci.c (init_latin1_ascii): Do not allocate pool separately
	from table, so they can be freed at once.
	* lat1html.c (init_latin1_html): Idem.
	* lat1ltex.c (init_latin1_latex): Idem.
	* lat1txte.c (init_latin1_texte): Idem.

	* recode.c (simplify_sequence): Despite not reversible, accept
	producing RFC 1345 short mnemonics, outside any double step,
	constructing a one-to-many table on the fly.  When exploring foreign
	files, there might be no other easy choice.
	* charset.c (init_table_for_rfc1345): New.
	* recode.h: Declare it.
	Reported by Roman Czyborra.

Fri Mar 11 09:35:55 1994  Francois Pinard  (pinard at icule)

	* lat1ltex.c: Recode 160 as `~', not as `\ '.
	* ltexlat1.l: Recode `~' (instead of `\ ') to 160.
	Reported by Nicolas Anquetil.

	* ltexlat1.l: Ensure that recode does not match only part of the
	identifier following `\'.  This was easily solved by adding a few
	Flex rules at end and relying on the Flex longest match law.
	For example, because Latin-1 misses the latin `oe' diphtong (!),
	`\oe' was seen as the recodable `\o' followed by an isolated `e'.
	Reported by Mac Pigman and Nicolas Anquetil.

	* ltexlat1.l: Reformatted for a more uniform Flex quoting.

	* recode.c (execute_popen_sequence): Ensure -d option is properly
	transmitted to subprocesses.
	Reported by David Kastrup.

	* lat1html.c, htmllat1.l: New, for supporting HTML conversions.
	* lat1ltex.c: Add a few static specifiers to tables.
	* Makefile.in: Adjusted.
	Reported by David Lebel.

Mon Feb  7 11:42:07 1994  Francois Pinard  (pinard at icule)

	* Makefile.in: Avoid $(CFLAGS) while linking.

	* configdos: Link to locally installed configdos.
	* dosfn: Replaced by a link to locally installed dosfn.
	* dosfn.pl: Deleted, included in installed configdos and dosfn.
	* configdos.pl: Deleted.
	* Makefile.in: Call dosfn and configdos as programs, provide -tcc
	to configdos.  Do not distribute prepared DOS files anymore in the
	tar file.  Prepare the DOS makefile directly in distdos goal, also
	put in distdos the preparation of libobjs.lst and objects.lst.

Fri Feb  4 10:26:22 1994  Francois Pinard  (pinard at icule)

	* recode.c (file_one_to_many): When an irreversibility is found,
	run recoding to completion instead of interrupting it, then return
	whether it is reversible or not, disregarding force_option.
	* bangbang.c (file_banbang_latin1): Idem.
	* cdcnos.c (file_cdcnos_ascii): Idem.
	* flat.c (file_ascii_flat): Idem.
	* ibmpc.c (file_latin1_ibmpc, file_ibmpc_latin1): Idem.
	* iconqnx.c (file_ibmpc_iconqnx, file_iconqnx_ibmpc): Idem.
	* recode.h: Do not declare force_option anymore.

Tue Jan 18 20:03:52 1994  Francois Pinard  (pinard@icule)

	* recode.c (declare_step): Rewrite the prototype differently if
	not __STDC__, because ansi2knr does not clean prototypes in
	functionnal arguments.
	* txtelat1.l: Declaring texte_latin1_diaeresis, use _((void)).
	Reported by Rejean Payette.

Sat Jan 15 14:24:44 1994  Francois Pinard  (pinard@icule)

	* recode.c (main): With absolutely no arguments, imply --help.
	Reported by Kai Uwe Rommel.
	
Fri Jan 14 15:12:09 1994  Francois Pinard  (pinard@icule)

	* recode.c (usage): Print the version string in --help.
	Reported by Kai Uwe Rommel.

	* recode.c: Ajust for easing OS/2 EMX port.
	* Makefile.os2, config_h.os2: New files.
	* Makefile.in: Distribute them.
	Reported by Kai Uwe Rommel.

	* recode.c (usage): Print a blank line after the first prototype.

Thu Jan 13 21:24:42 1994  Francois Pinard  (pinard@icule)

	* configdos.pl: Renaming GNUmakefile to makefile.gnu.

	* recode.c (output_header_file): Use tabs instead of spaces before
	generated comments.

Sat Jan  8 20:11:57 1994  Francois Pinard  (pinard@icule)

	* recode.c: Condense "file = action(); if (file == NULL) ..." into
	"if (file = action(), file == NULL) ..." consistently.

Fri Jan  7 10:54:08 1994  Francois Pinard  (pinard@icule)

	* configure.in: Check AC_RETSIGTYPE.
	* recode.c: Include <setjmp.h>, <signal.h>, define RETSIGTYPE.
	(signal_handler, setup_signals): New.
	(main): Call setup_signals.
	(execute_pipe_sequence): Do not diagnose SIGPIPE as an unknown error.

	* recode.c (main): Replace program_name by program_path.
	Introduce program_name, receiving the basename of program_path.
	(execute_popen_sequence): Use program_path instead of program_name.

	* recode.c (dup2): New, for when HAVE_PIPE && !HAVE_DUP2.

	* ebcdic.c: Connect to ASCII instead of to ASCII-BS.
	* recode.c (register_all_modules): Alias to ASCII right away.

	* recode.c (register_all_modules): Alias ASCII-BS to BS.
	* cdcnos.c (module_cdcnos): Alias CDC-NOS to NOS.
	* iconqnx.c (module_iconqnx): Alias Icon-QNX to QNX.
	* lat1ltex.c (module_latin1_latex): Alias LaTeX to TeX.
	* ltexlat1.l (module_latex_latin1): Alias LaTeX to TeX.

Thu Jan  6 00:26:18 1994  Francois Pinard  (pinard@icule)

	* Version 3.3.1, in the MSDOS world only.

	* all: Everywhere, change charset names from latin1 to Latin-1,
	latex to LaTeX and texte to Texte.  Change applemac to Apple-Mac,
	ascii-bs to ASCII-BS, atarist to AtariST, bangbang to Bang-Bang,
	cdcnos to CDC-NOS, ebcdic to EBCDIC, ebcdic-ccc to EBCDIC-CCC,
	ebcdic-ibm to EBCDIC-IBM, ibmpc to IBM-PC and iconqnx to Icon-QNX.

	* recode.c: For MSDOS, increase the stack length through _stklen.

	* recode.c: Diagnose more precisely all errors involving errno,
	while calling error.  In particular, include __FILE__:__LINE__.

	* recode.c (main): Unless under MSDOS, use rec<PID>.tmp for the
	file name of the temporary recoded file instead of recodeXX.TMP.

	* recode.c: Rename optimize_sequence to simplify_sequence, and
	optimizable_type to symplify_type.

	* recode.c (execute_popen_sequence): Return 0 if the subprocess
	fails, instead of exiting with a diagnostic.  Pass -f option to
	subprocesses if selected.  Always pass -q to shut them down.
	Construct the popen_command piecemeal instead of a big sprintf.
	(main, usage): Implement option --quiet (-q, --silent).

	* recode.c (execute_pass_sequence): Interrupt the current recoding
	and return 0 if any step fails, if this happens, unlink a possibly
	existing temporary file.

	* recode.c (execute_pipe_sequence): Unconditionnaly close the
	output file from the parent before waiting, instead of closing
	it only if there was an output name.  Let the parent accumulate
	the exit status of all children before returning its own.
	* configure.in: Let HAVE_PIPE be defined.  This old bug ig gone!

	* recode.c (perform_auto_check, perform_auto_check_one): Renamed
	and split from function report_about_all_sequences.  Now accepts a
	CHARSET	argument for limiting the search.
	(main): Allows an optional command line argument to --auto.
	(usage): Adjusted accordingly.

	* recode.c (main): Diagnose extraneous arguments to --list.
	
	* recode.c (compare_struct_item): New.
	(init_recode_rfc1345): Partial rewrite for replacing the quadratic
	pairing algorithm with a logarithmic-linear one, cleaning up a bit.

Tue Jan  4 08:28:49 1994  Francois Pinard  (pinard@icule)

	* txtelat1.l: Undo the 1990-03-15 change.  If there is still a bug
	in this area, I will let it show its nose again...

	* mergelex.awk: Remove the X_ prefix for start condition names.

	* configure.in: Remove all about LEXLIB, flexlib and LIBOBJS,
	since flex (version 2.4.6) generated scanners are self contained.
	* flexlib.c: Deleted.
	* Makefile.in: Adjusted.

	* recode.c (optimizable_type): New, from optimize_sequence.
	(optimize_sequence): Use it.

	* charset.c (clean_charset_name): Set decoding_charset_flag just
	before calling usage instead of early, do not care resetting it.

	* next.c: Renamed from nextstep.c.  NeXTSTEP changed to NeXT.  Add
	f2 as florin (166) and '" as hungarian umlaut (205).  Remove
	USE_DOUBLE_STEP by making the code permanent, remove older code.
	* charname.pl: Especially define f2 as florin.
	* Makefile.in: Adjusted.
	Reported by Keld J|rn Simonsen.

	* alloca.c: Deleted, not used anymore.
	* configure.in: Remove AC_ALLOCA test.
	* Makefile.in: Remove alloca.* references.

	* configure.in: Read DEFAULT_CHARSET from environment if set.
	Reported by Andreas Schwab.

Mon Jan  3 00:03:01 1994  Francois Pinard  (pinard@icule)

	* Makefile.in (.stamp-collect): Say when initstep.h altered.

	* charset.pl: Now produce split charset1.c and charset2.c instead
	of a single big charset.h.  This seems mandatory for MSDOS, even
	with huge model.  Some Unix C compilers will crawl faster, too.
	* Makefile.in: Adjusted.

	* README.DOS: New file.
	* configdos.pl: Much revised.  The script no longer have a
	config.tcc input, now taking its information from Makefile.in.
	* dosfn: New file, from elsewhere.
	* dosfn.pl: New file, common between configdos.pl and dosfn.
	* Makefile.in: Distribute configdos.pl again, together with
	dosfn.pl and makefile.dos.  Adapt for MSDOS and configdos.pl.

	* recode.c: Delete inactive code for selecting DEFAULT_CHARSET,
	this being now done from configure or by already preset config.h.

	* atarist.c: Rewritten for using a double step, instead of two
	steps in and out latin1; the new code is triggered by defining
	USE_DOUBLE_STEP, the old code will be kept for a little while.
	Reported by Andreas Schwab.

	* Makefile.in: Do not define LDFLAGS, use CFLAGS on link calls.
	* configure.in: Remove LDEFS substitution, seemingly unused.
	Reported by Richard Stallman.

Sat Jan  1 09:11:45 1994  Francois Pinard  (pinard@icule)

	* flat.c: Transmit '\t' as is, it was erroneously changed to '\n'.

Fri Dec 31 00:26:10 1993  Francois Pinard  (pinard@icule)

	Begin work for implementing --force.  To be completed later.
	* recode.c (file_one_to_one): Return 1 instead of void.
	(file_one_to_many): Return a value saying if the recoding was
	successful or not, instead of void.
	(execute_pass_sequence): Return 1 (unfinished).
	(execute_popen_sequence): Return 1 (unfinished).
	(execute_pipe_sequence): Return 1 (unfinished).
	(execute_sequence): Return the status got from execute_*_sequence,
	use it to alter "done" into "DENIED" when using -v.
	(declare_step): Adjust file_recode parameter declaration.
	(main):  Have --graphics imply --force.
	* recode.h: Adjust declarations.  Declare error, force_option.
	* bangbang.c (file_bangbang_latin1): Similarily.  Also, do not
	recode "!!J" or "!!j" into '\n' unless -f.
	* cdcnos.c (file_cdcnos_ascii): Similarily.  Also, do not recode
	"^)" into '\n' unless -f.
	* flat.c (file_ascii_flat): Similarily.
	* ibmpc.c (file_latin1_ibmpc, file_ibmpc_latin): Similarily.
	Also, do not recode isolated '\n' or '^Z' unless -f.
	* iconqnx.c (file_ibmpc_iconqnx, file_iconqnx_ibmpc): Similarily.
	Also, check for preventing the production of a few sequences which
	would might be recoded back differently, unless -f.
	* mergelex.awk: Similarily for generated file_<step_name>
	routines.  Return the yylex result.  At <<EOF>>, return 1.

	* charset.c (make_argmatch_array): Print a line of hash statistics
	if HASH_STATS is defined.

	I used to have 408 names in 343/997 buckets, the following patch
	gave 408 names in 332/997 buckets.  Being worse, I commented it.
	* charset.c (hash_string): Replace hash algorithm by GNU diff's.
	* recode.h: Include <limits.h> and ensure CHAR_BIT is defined.
	* configure.in: Test for <limits.h>.

	* recode.c (optimize_sequence): Delete a remaining single step if
	it happens to be the identity recoding.
	(echo_sequence): Better diagnose the trivial recoding.
	(file_one_to_one): Remove detection of special one_to_same case.
	(report_about_all_sequences): Simplify detection of one_to_same.

	* Makefile.in: Distribute .stamp-collect and initstep.h.  This
	should alleviate problems caused by some sh/sed combinations,
	still unstudied, which are unable to make initstep.h properly.
	Reported by Michael L. Dowling.

Thu Dec 30 23:10:41 1993  Francois Pinard  (pinard@icule)

	* flat.c: Consider `~' as a diacritic character.
	* File-Latin1: New file, intended to help testing/playing.
	* Makefile.in: Distribute File-Latin1.
	Reported by Martin Maechler.

Wed Dec 29 23:51:35 1993  Francois Pinard  (pinard@icule)

	* Makefile.in (merged.c): Split the pipe in parts, because
	otherwise all status except the last of the pipe are lost for
	make.  This is seemingly a feature of sh.
	Reported by Vern Paxson.

Sat Dec 25 06:20:37 1993  Francois Pinard  (pinard@icule)

	* configure.in: Check for vprintf and strerror, for error.c.

	* recode.c (usage): Indicate that --help and --version exit.

Fri Dec 24 22:12:59 1993  Francois Pinard  (pinard@icule)

	* Makefile.in: Remove all as dependency for uninstall.

	* Makefile.in: Split HEADERS, giving also LIBHDRS.  Use it.

Thu Dec 23 20:02:03 1993  Francois Pinard  (pinard@icule)

	* Version 3.3.

Tue Dec 21 15:25:36 1993  Francois Pinard  (pinard@icule)

	* *.c: Delete unused variables, add a few missing const's.

	* nextstep.c: Rewritten for using a double step, instead of two
	steps in and out latin1; the new code is triggered by defining
	USE_DOUBLE_STEP, the old code will be kept for a little while.
	This has two advantages: recode can obey various -l options for
	NeXTSTEP, and I can remove the full style table from the
	documentation.
	Reported by Martin Maechler.

	* Makefile.in (clean): Also delete unhexify.

	* Makefile.in (tags): Include $(HEADERS).
	(TAGS): Idem.  Also use -t on etags.

Mon Dec 20 10:44:41 1993  Francois Pinard  (pinard@icule)

	* charset.c (hash_string): Cast unsigned to int before modulo.
	* recode.c (print_truncated_charset_name): Cast strlen result to
	int before using it in an arithmetic comparison.

	* recode.c (complete_pairs): When a conflict is found, diagnose
	which charsets are involved.
	Reported by Bastian Schlueter.

	* nextstep.c: Add pair {182, 182} for paragraph sign.
	Reported by Bastian Schlueter.

	* recode.c (main):  Replace long names --files, --popen and --pipe
	by common --sequence=METHOD.
	(usage): Document this.

	* recode.c (decode_before_after): Use backslash as escape.
	(execute_popen_sequence): Clean up charset names before popen.
	Reported by Keld J|rn Simonsen.

Sun Dec 19 10:19:06 1993  Francois Pinard  (pinard@icule)

	* charset.pl: Send diagnostics to stderr instead of charset.LOG.

	* charset.pl: Discard &duplicate lines without discarding the
	associated charset.

	* charset.pl: Canonalize names the same way charset.c does, detect
	duplicate names or aliases based on canonical names.  Do not
	discard a charset merely for an alias name clash.

	*charset.pl: Delay the generation of charset.texi, sort the
	@item's by charset name and, within each, sort aliases.

	* recode.h: Add a size field to the charset structure, declare a
	size parameter to declare_double_step.
	* charset.pl: Handle charsets having more than 2 characters per
	symbol, transmit measured size into declare_double_step calls.
	* recode.c (declare_double_step): Accept and save a size parameter.
	* charset.c (code_to_symbol): New routine for handling size field.
	(list_full_charset, list_concise_charset): Adapt to using it.

Thu Dec 16 07:03:00 1993  Francois Pinard  (pinard@icule)

	* charset.c: Add cleanup_charset_name, use it in find_charset,
	declare_alias and decode_charset_name.  Rename compare_hash_name
	to compare_struct_hash.
	(list_all_charsets): Repeat the name even if it is not alias,
	because it has been cleaned up.
	Reported by Keld J|rn Simonsen.

Tue Dec 14 11:45:53 1993  Francois Pinard  (pinard@icule)

	* charset.pl: Generating charset.h instead of charset.c.
	* charset.c: New.
	* recode.c (prepare_charset_initialization): New.
	(hash_string, find_charset, declare_alias, make_argmatch_array,
	decode_charset_name, compare_hash_name, list_all_charsets,
	list_full_charset, list_concise_charset): Moved into charset.c,
	together with a few defines, struct hash and related declarations.
	* Makefile.in: Adjusted.

Mon Dec 13 12:55:24 1993  Francois Pinard  (pinard@icule)

	* Renaming rfc1345.c into charset.c, rfc1345.pl into charset.pl,
	rfc1345.sed into charset.sed and rfc1345.LOG into charset.LOG.
	* Makefile.in, charset.pl: Adjusted.

	* charname.c: New.
	* charname.pl, charname.sed: New, for generating charname.h.
	* Makefile.in: Adjusted.
	* recode.h: Add declaration for charname_to_comment.
	* recode.c: list_charsets renamed to list_all_charsets.
	New functions list_full_charset and list_concise_charset, enum and
	variable list_format.  Decode the list format, check for a charset
	argument and switch to the proper listing function.

	* acconfig.h: New, for holding DEFAULT_CHARSET.
	* Makefile.in: Distribute it, have .stamp-h.in depend on it.
	* configure.in: Substitute DEFAULT_CHARSET instead of DEFCHARSET.

	* configure.in: Include $LEXLIB in $LIBS when $LEX is flex, so the
	yy_flex_alloc test will not always fail, waiting for a version of
	Autoconf which will do this itself.
	* Makefile.in: Do not add @LEXLIB@ to LIBS anymore.
	Reported by Andreas Schwab.

	* checkit: Replace `+' by `*' in grep calls.
	Reported by Andreas Schwab.

	* recode.c (usage): Replace --include by --header in text.

Sat Dec 11 08:39:58 1993  Francois Pinard  (pinard@icule)

	* recode.c (list_charsets): Move all aliases of a charset after
	the true charset name on its line, keeping lines sorted on the
	true charset name and all alias in lexicographical order.  All
	charset and aliases used to be sorted together, one per line. 
	(compare_hash_names): Sort accordingly.
	Reported by Martin Maechler.

	* recode.c: Add make_argmatch_array and decode_charset_name.  Use
	them, simplifying decode_before_after.  Process ignored_charset
	even for the -a option.  Add print_truncated_charset_name and use
	it to simplify report_about_all_sequences, not reporting an
	unachievable recoding when ignored_charset is specified.

	* recode.c (find_sequence): Ensure verbose is executed even if no
	path has been found, instead of returning early.

	* recode.c (optimize_sequence): Remove the compute_arrays
	parameter, because report_about_all_sequences now studies the
	produced arrays.  Callers changed.

	* recode.c (optimize_sequence): While merging rfc1345 steps, also
	merge qualities instead of assuming REVERSIBLE.
	Reported by Rejean Payette.

	* recode.h: Declare strict_mapping.
	* recode.c (complete_pairs): Do not set quality, this is done
	elsewhere in all cases.  But do preset the file recoding routine.
	* applemac.c, atarist.c, nextstep.c: In declare_step calls, lower
	the recoding quality to some *_TO_MANY whenever strict mapping is
	in use, also specify NULL as the file recoding routine because
	complete_pairs now initializes it.
	* ibmpc.c: Idem.  But override file_recode after complete_pairs.

	* ibmpc.c (file_latin1_ibmpc, file_ibmpc_latin1): Repeat the
	algorithm, but using the one_to_many table when strict mapping.

	* recode.c (declare_double_step): Create both single steps without
	the help of declare_step, this spares four probes in the charset
	table per call.

Fri Dec 10 00:02:19 1993  Francois Pinard  (pinard@icule)

	* recode.h: Add CHARSET and struct charset, use CHARSET *before
	and after instead of int start_charset and goal_charset in STEP,
	declare rfc1345 as CHARSET * instead of int, delete struct
	double_link and rfc1345_link declaration and rather include the
	DOUBLE_TABLE right in CHARSET, add a DOUBLE_TABLE parameter to
	declare_double_step,
	* recode.c: Make all necessary related changes.  Renaming of many
	variables and cleanup, too numerous to report here.  Delete
	name_from_value and ignored_array in favor of new CHARSET fields.

	* recode.c: Change :rfc1345 to rfc1345.  Add `.' as an alias.
	(report_about_all_sequences): Avoid rfc1345 instead of avoiding
	names beginning with colon.

	* applemac.c: Renamed (once again) from macintosh.c.  The codes
	will be kept different until further study.  Comment out the
	aliasing of applemac to macintosh.
	* ibmpc.c: Comment out the aliasing of ibmpc to ibm437, because
	making the codes equivalent requires further study.
	* Makefile.in: Adjusted.

	* recode.c: Implement --ignore (-x) option and ignored_array.
	(find_charset): Progressively initialize ignored_array to zero.
	(find_sequence): Ignore steps with an ignored start charset.
	(decode_before_after): Process the ignored charset.

	* recode.c (usage): Make the output little more legilable through
	spacing.  Insist on -l, mention the Info documentation, propose a
	few selected charsets.
	Reported by Martin Maechler.

	* recode.c: Rename make_include_mode into make_header_mode,
	include_name into header_name, output_include_file into
	output_header_file, turn --include option name into --header.

	* recode.c: Add before_name and after_name, use them in
	decode_before_after and in output_header_file.  This prevents
	the spurious canonalization of alias charset names.

	* recode.c: Implement --strict (-s) option.
	(complete_pairs): Accept a step parameter and slip the generated
	table in it instead of returning the table.  Adjust for --strict.
	(init_recode_rfc1345): Adjust for complete_pairs.
	* atarist.c, macintosh.c, nextstep.c: Idem.
	* ibmpc.c: Idem.  Also rewrite code for --graphics (-g).

	* recode.h: Declare ascii_graphics, diacritics_only and
	diaeresis_char.
	* ibmpc.c: Delete the ascii_graphics declaration.
	* lat1ltex.c, ltexlat1.l: Delete the diacritics_only declaration.
	* ascilat1.l, txtelat1.l: Delete the diaeresis_char declaration.
	* mergelex.awk: Have it work when there is no %{ ... %}	part.

	* recode.c (report_about_all_sequences): Report charsets which are
	dynamically discoverd to recode identically by "ONE to SAME".

	* recode.c: Declare HASH_TABLE_SIZE, hash_string.  Rewrite
	find_charset and declare_alias to use hashing.  Also adjust
	list_charsets and decode_before_after.

Thu Dec  9 18:39:41 1993  Francois Pinard  (pinard@icule)

	* recode.c: Delete name_from_value function, replace with an
	array of same name.  Delete field refer from struct charset,
	initialize and use name_from_value instead.

	* Makefile.in (clean): Remove *.a, for librec.a.
	Reported by Pierre Gaumond.

	* Makefile.in (clean): Move in *.o from mostlyclean.

	* rfc1345.pl: Print progress on stderr, for entertaining me.
	Document aliases in rfc1345.texi through English sentences.

Wed Dec  8 00:15:51 1993  Francois Pinard  (pinard@icule)

	* flexlib.c: New, for -lfl does not work everywhere.
	* mergelex.awk: Produce a yywrap function in section 3.
	* configure.in: Configure flexlib.o in LIBOBJS if necessary.
	* Makefile.in: Adjusted accordingly.

	* recode.c (name_from_value): Renamed from true_charset_name.
	(find_charset): Add a "create" parameter, merge in new_charset.
	(new_charset): Deleted.  All callers changed.

	* recode.h: If not __STDC__, have _() return (), not empty.
	Reported by Pierre Gaumond.

	* Makefile.in (distclean): Remove config.h.

	* bangbang.c, cdcnos.c: Use "while (x = y, x != z)" instead of
	"while ((x = y) != z)".

	* install.sh: Attach execute permission to this file.
	Reported by Pierre Girard.

	* lat1ltex.c: Produce {\i} instead of \i{}.  It's nicer.
	Reported by Pierre Girard.

	* recode.c: Declare argmatch.  Default charsets were not obeyed.
	(decode_before_after): When DEFAULT_CHARSET is defined, use it
	instead of the empty string when calling argmatch.
	(find_charset): Do not check for empty strings anymore.

Tue Dec  7 08:54:14 1993  Francois Pinard  (pinard@icule)

	* Makefile.in (install): Add recode.info in dependencies.

	* recode.c: Use USE_TMPNAM to bracket out old tmpnam code out and
	USE_TMPFILE to allow in new tmpfile code.
	(execute_pass_sequence):  Use tmpfile instead of tmpnam.
	Reported by Bastian Schlueter (suggests that -i => -o on NeXT).
	Reported by Ronald C.F. Antony.
	Reported by Andreas Schwab.

	* recode.c (output_include_file): Ensure a valid C identifier for
	the table name.  RFC 1345 uses bizarre names in that respect.

	* recode.c (main): While moving the new file over the original,
	properly diagnose any failure.
	Reported by David Lebel.

	* recode.c: Add decoding_charset_flag.
	(usage): Print `Try recode --list' instead of `Try recode --help'
	whenever decoding_charset_flag is true.
	(decode_before_after): First set, then reset decoding_charset_flag.

	* recode.c (echo_sequence): Use a shorter print format, now that
	we have real long charset names...

	* recode.c: Revert to using a `struct charset' to handle names and
	alias.  Turn charset_name into true_charset_name and charset_value
	into find_charset.

	* Makefile.in (LIBOBJS): Put more on the second line, because if
	@LIBOBJS@ is substituted empty, some make's barf at last `\'.
	(recode.dvi): TEXI2DVI was mispelled.
	Reported by Martin Maechler.

	* recode.c: Implement --list (-l) to alleviate Usage message.
	(compare_charset_names, list_charsets): New.

Mon Dec  6 12:13:32 1993  Francois Pinard  (pinard@icule)

	* rfc1345.txt: New, from elsewhere.
	* rfc1345.sed, rfc1345.pl: New.
	* Makefile.in: Handle rfc1345.c, distribute all of these.
	* recode.c (declare_double_step): New.
	(optimize_sequence): Replace all double steps through :rfc1345 by
	a single step which will properly initialize itself.  Diagnose any
	remaining single step which uses :rfc1345 explicitely.
	(register_all_modules): Make latin1 an alias for iso-8859-1-1987.
	(report_about_all_sequences): Truncate the charset
	names as needed, avoid considering charsets named `:*' alone.
	(usage): Avoid printing `:*' steps as available.
	* ascilat1.l, cdcnos.c, ebcdic.c, flat.c, lat1asci.c: Change name
	of ascii charset to ascii-bs, keeping it separate from RFC 1345.
	* ibmpc.c: Make ibmpc an alias for ibm437.
	* Makefile.in (check): Adjusted for ascii-bs.

	As a side result of all this, more charsets are supported.
	Reported by Per ?: who wanted IBM codepages in recode.
	Reported by Hermann Hueni: who wanted Roman8 in recode.

	* Makefile: Merge C_STEPOBJS and L_STEPOBJS into STEPOBJS.

	* recode.c: Make -h argument optionnal, it was mandatory.
	* recode.c: Include the quality in -a and -v output, repeat -v
	output after step optimization if this changed something.

	* recode.h: Declare enum quality, QUALITY, quality_to_string and
	merge_qualities.  From STEP, delete the multichar_input,
	multichar_output, loosing and reversible fields.  Add one QUALITY
	argument and two functionnal arguments to declare_step.
	* all: Implement the preceeding changes.

	* recode.h: Use the _((...)) device more systematically.
	Declare xmalloc.

Sun Dec  5 00:09:19 1993  Francois Pinard  (pinard@icule)

	* ascilat1.l, bangbang.c, cdcnos.c, ibmpc.c, iconqnx.c,
	lat1asci.c, lat1ltex.c, lat1txte.c, ltexlat1.l, macintosh.c,
	txtelat1.l: Avoid using octal and hexadecimal, stick to using
	decimal.  Define constants when this helps source readability. 
	* flat.c: Replace octal masks with "<<" expressions.
	* unhexify.l: New file.
	* Makefile.in: Distribute it.
	(detecthex, unhexify): New goals.

	* atarist.c: New charset.
	* Makefile.in: Adjusted.
	* recode.c: Use "atarist" as DEFAULT_CODE if atarist is defined.
	Reported by Andreas Schwab.

	* nextstep.c: New charset.
	* Makefile.in: Adjusted.
	Reported by Bastian Schlueter.
	Reported by Ronald C.F. Antony.

	* flat.c: Do not declare cccascii nor cdcascii.  Delete
	file_drop_8th_bit.

	* recode.c (complete_pairs): Produce better diagnostics.
	Allow for NULs in known pairs, even if currently unused.

Sat Dec  4 14:00:39 1993  Francois Pinard  (pinard@icule)

	* Makefile.in: Use .stamp-h.in to solve Autoconf problems.
	Distribute mkinstalldirs and install.sh.  Use mkinstalldirs.
	* mkinstalldirs: New, from elsewhere.
	* install.sh: New, from elsewhere.

	* Makefile.in (recode.info): On $(MAKEINFO) call, use
	"-I$(srcdir)" instead of "-o recode.info".

	* ebcdic.c: Inclusion of GNU dd's "ibm" recoding, with two
	modifications so the recoding becomes reversible.  Removal of
	static inverse tables, dynamically recreate them instead.
	Replacement of cccascii and cdcascii by ascii, use ebcdic-ccc
	instead of ebcdic in the context of disappearing cccascii.
	* recode.c (invert_table): New.
	* recode.h: Declare it.

	* recode.c: Replace CHARSET struct and charset_array by
	charset_name_array and charset_value_array, then make all
	necessary changes.  Use argmatch for charsets.
	* argmatch.c: New, from elsewhere.
	* $(C_STEPS), $(L_STEPS):  Remove all four letter aliases, except
	"ltex" for "latex" and "txte" for "texte".
	* recode.c (register_all_modules): Declare "lat1" as an alias for
	"latin1".
	* macintosh.c: Renamed from old applemac.c.  Declare "macintosh"
	as the charset name and "applemac" as an alias.
	* Makefile.in: Adjusted.
	(check): Write charsets in full.
	
Fri Dec  3 01:08:44 1993  Francois Pinard  (pinard@icule)

	* Makefile.in: Add .stamp-collect for preventing initstep.h to be
	uselessly touched, this was causing recode.c recompilations.

	* recode.c: Implement output_include_file.

	* recode.c: Extract file_mere_copy from execute_sequence, then
	implement file_one_to_one, file_one_to_many, merge_steps and
	optimize_sequence.
	* recode.h: Declare these when not static.
	* flat.c: Use file_mere_copy instead of NULL as file_recode.
	* applemac.c, ebcdic.c: Use file_one_to_one.
	* bangbang.c, cdcnos.c, lat1asci.c, lat1ltex.c, lat1txte.c: Use
	file_one_to_many.

	* recode.h: Rename STEP field recode_file to file_recode and make
	it return void instead of int, add init_recode and one_to_one
	fields, declare KNOWN_PAIR structure and complete_pairs function.
	* recode.c, $(C_STEPS), $(L_STEPS), mergelex.awk: Adjust.
	* recode.c (declare_step): Initialize new fields.
	(find_sequence): Initialize planned steps when possible.
	(complete_pairs): New, adapted from maketabl.c.
	* applemac.c: Use initialization and include macilat1.mtb table.
	* ibmpc.c: Use initialization and include ibmplat1.mtb table.
	* macilat1.mtb, ibmplat1.mtb, maketabl.c: Deleted.
	* Makefile.in: Adjusted.

	* ltexlat1.l: Use {After} at more places, "accro\^\i tre" was not
	recoded at all.

Thu Dec  2 15:29:40 1993  Francois Pinard  (pinard@icule)

	* recode.c, all $(C_STEPS), all $(L_STEPS): Include "recode.h"
	instead of "config.h".
	* recode.h: New.

	* all $(C_STEPS): Delete "#define STEP <name>", because STEP will
	be a describing structure from now on.  Add module_<name> function
	for initializing STEPs.  Rename void STEP() to static int
	recode_file(), add a first parameter for transmitting STEP.
	* all $(L_STEPS): Delete "#define STEP <name>" and instead, use
	"/* Step name: <name>.  */".
	* mergelax.awk: Do the proper thing with /* Step name: <name>.  */
	* steps.h: Deleted.  Information which was contained there has
	been spread out in modules instead, for adding flexibility.
	* recode.c: Initialize all modules by including "initstep.h".
	* Makefile.in: Dependencies for recode.h and initstep.h.
	(initstep.h): Make it by extracting module_* lines from sources.

	* recode.c: Rename MAX_CONVERSION into MAX_SEQUENCE.  Introduce
	MAX_CHARSETS, MAX_SINGLE_STEPS, charset structure and array,
	single_step array and related counters, functions declare_step
	and declare_alias.  Many other renaming of variables, too
	numerous for here.  Adapt all of the code so this works.
	* xmalloc.c, xstrdup.c: New, from elsewhere.

	* bangbang.c: Merged from lat1bang.c and banglat1.c.
	* cdcnos.c: Merged from ascicdcn.c and cdcnasci.c.
	* ebcdic.c: Merged from cccaebcd.c, cdcaebcd.c, ebcdccca.c and
	ebcdcdca.c.
	* flat.c: Merged from asc8asc7.c and asciflat.c.
	* ibmpc.c: Merged from lat1ibmp.c and ibmplat1.c.
	* iconqnx.c: Merged from ibmpicon.c and iconibmp.c.
	* Makefile.in: Adjusted.

	The net effect of all these changes is that charsets or their
	single step methods are now easily configurable out of recode by
	merely deleting them from C_STEPOBJS or L_STEPS in Makefile.
	Reported by Claude Goutier.

Wed Dec  1 10:13:37 1993  Francois Pinard  (pinard@icule)

	* ltexlat1.l: Ensure \'{e} is recognized as \'e.
	Reported by Pierre Girard.

	* txteasci.l: Deleted for easing maintainance, there was too much
	common code with txtelat1.l, and also, the "texte" charset is
	prone to loosing characters, when used as an intermediate.
	Reported by Claude Goutier.

	* ascitxte.l: Deleted likewise, almost same functionnality is
	available through lat1txte.c.
	* ltexasci.l: Deleted for easing maintainance, there was too much
	common code with ltexlat1.l.
	* asciltex.l: Deleted likewise, almost same functionnality is
	available through lat1ltex.c.
	* lat1asci.c: New, so "ascii" charset is connected to others.
	* ascilat1.l: New, for same reason.
	* Makefile.in: Adjusted.

	* Makefile.in (check): Diagnose unachievable recodings.
	* recode: Implement --auto-check (-a) option.
	(report_about_all_sequences): New.
	(find_sequence): When recoding is not possible, return with a
	negative value in length_of_sequence, do not call error.
	(main): Call error if recoding is not possible.

	* configure.in: Replace DEFAULTCODE by DEFCHARSET.
	* Makefile.in: Same, plus replace DEFAULT_CODE by DEFAULT_CHARSET.
	* recode.c: Same, plus replace [*_]code[_*] by [*_]charset[_*],
	NUMBER_OF_KEYWORDS by NUMBER_OF_CHARSETS and keyword_index by
	charset_index.
	* steps.h: Same things.

	* recode.c (usage): Tell which is the default code value.

	* recode.c: Implement --graphics (-g) option, and ascii_graphics.
	* ibmplat1.c: Rename graphics_mode to ascii_graphics, making it
	external.  Use, document and revise CONVERT_GRAPHICS constant,
	introducing "round" corners and more systematic principles.

Tue Nov 30 09:35:04 1993  Francois Pinard  (pinard@icule)

	* recode.c: Process long options, then --help and --version.
	Rename usage_and_exit() into usage(), accepting a parameter,
	print a reminder about --help on stderr when in error, else
	the longer usage message on stdout.  Adjust all calls.
	(print_copyright): Deleted, use copyright_string instead.
	(print_version): Deleted, use version_string instead.
	* getopt1.c: New.
	* Makefile.in: Take care of getopt1.c.

	* HINTS: New file, to let README be smaller.

	* steps.h: Remove ENUM_INT_BUG code.  The README did announce that
	this code will disappear if nobody report it as necessary.

	* banglat1.c: Add "!;" to \346 for "ae" and "!<" to \367 for "oe".
	* lat1bang.c: Do the converse translatation.  "oe" is a kludge!
	Reported by Pierre Gaumond.

	* checkit: Always output "Checking" messages, regardless of -v.
	Have those messages resembling more to the actual recode calls.
	Remove now useless error identification messages.
	Use "cmp -s" instead of "diff" for comparing files.
	* Makefile.in: Use $(SHELL) instead of sh in CHECKTEST. Remove -v.

Mon Nov 29 10:23:39 1993  Francois Pinard  (pinard@icule)

	* recode.c (main): Declare argv as "char *const *argv" instead of
	"const char *argv[]", for avoiding conflicts with some getopt().
	Reported by Stephane Berube.
	Reported by Andreas Schwab.

	* Makefile.in (Makefile): Use $(SHELL).
	(config.status): Use "$(SHELL) config.status --recheck" instead	of
	"configure --no-create".

	* Makefile.in (LIBS): Include @LEXLIB@, Flex 2.4.1 needs this.
	* configure.in: Test AC_ISC_POSIX earlier, AC_PROG_LEX needs it.

	* txteasci.l: Move texte_ascii_diaeresis in section 3, because
	Flex 2.4.1 does not get YY_CHAR defined for section 1.
	* txtelat1.l: Move texte_latin1_diaeresis in section 3.
	* mergelex.awk: Deeply revised.  Now able to merge Flex sources
	having a non-empty section 3.  No more forward declarations for
	yytext, yyleng, etc.  The output begins with a warning comment
	saying this is a derived file, followed by the first block comment
	found in any input file.  Produce an output cleaner for the eye.
	* Makefile.in (merged.c): Remove synchronization directives, they
	are useless for now.  Delete new temporary files merged[123].tmp.

Wed Jun  9 15:00:58 1993  Francois Pinard  (pinard@icule)

	* Makefile.in (dist): Replace "echo `pwd`" by a mere "pwd".
	Adapt to the .gz change.

Thu May  6 18:44:53 1993  Francois Pinard  (pinard@icule)

	* asciflat.c: Transmit TAB and BKS, instead of using ^I or ^H.
	However, BKS for applying a diacritic will still disappear.
	Reported by Marc Verreault.

	* Makefile.in: Use $U prefix for defining the .o dependencies over
	include files obtained through maketabl.
	Reported by Claude Goutier.

	* c-boxes.el, cccaebcd.c, ebcdccca.c, getopt.[ch], iconibmp.c,
	maketabl.c, mergelex.awk, recode.c, recode.texi, steps.h,
	txteasci.l: Remove spurious suffix whitespace.
	Reported by Claude Goutier.

Tue May  4 07:58:26 1993  Francois Pinard  (pinard@icule)

	* Makefile.in (dist): Use a gzipping tar, not a compressing one.

	* checkit: Make checkit.tmp writeable, so it can be removed.  It
	is commonly obtained by cp'ing COPYING.

Mon May  3 21:19:45 1993  Francois Pinard  (pinard@icule)

	* recode.c (execute_pass_sequence): Reverse the test on
	input_name, controlling the fclose (input_file).
	Reported by David Lebel.
	Reported by Andreas Schwab.

	* maketabl.c: New.
	* Makefile.in: Distribute maketabl.c, use it for processing
	ibmplat1.mtb and macilat1.mtb, take care of all dependencies.

	* ibmplat1.mtb: New.
	* ibmplat1.c: Use ibmplat1.h, while implementing graphics_mode.
	This have the side effect of correcting the 1/2 symbol, which was
	translated to 1/4, and the 1/4 symbol, which was translated to <<.
	* lat1ibmp.c: Use lat1ibmp.h.
	* steps.h: Replace LOOSE by EXACT for ibmp from/to lat1 entries.
	Reported by Robert Joop.

	* macilat1.mtb, macilat1.c, lat1maci.c: New.
	* ibmpmaci.c, maciibmp.c: Deleted.
	* steps.h: Remove old maci from/to ibmp, add new maci from/to lat1.
	Reported by Joelle Stemp: copy of Macintosh character tables.
	Reported by Jacques Richer: end of lines represented by 0x0d.

Sat Feb  6 10:29:43 1993  Francois Pinard  (pinard@icule)

	* Makefile.in: In dist goal, ensure 777 mode for directories, so
	older tar's will restore file modes properly.

	* asciflat.c: Remove old commented lex code.  Remove a useless
	`case EOF:' from inner switch, the logic will work anyway.

Sun Jan 17 15:50:28 1993  Francois Pinard  (pinard@icule)

	* Makefile.in: Put $(CFLAGS) after $(CPPFLAGS), so the installer
	can override automatically configured choices.
	Reported by Karl Berry.

Sat Jan 16 09:54:03 1993  Francois Pinard  (pinard@icule)

	* checkit: Do not call recode in verbose mode on /dev/null prior
	to the first "Checking" message.  Rather call recode in verbose
	mode only once, combined within the first test in a series.

Thu Jan 14 01:15:23 1993  Francois Pinard  (pinard@icule)

	* configure.in: Use AC_CONST.

	* Makefile.in: Distribute getopt.h.  Add as getopt.o dependency.
	Reported by Pierre Gaumond.

Wed Jan 13 10:38:25 1993  Francois Pinard  (pinard@icule)

	* recode.c: Merge in version.c.
	* version.c: Deleted.

	* All .c, mergelex.awk: Conditionnally include config.h, and do
	not include common.h anymore.  Update Copyright year lists.
	* common.h: Deleted.
	* Makefile.in: Do not distribute common.h, but do distribute
	config.h.in.  Have all objects depend upon config.h.  Force -I. in
	CPPFLAGS so config.h will be found whenever --srcdir is used.
	Newer version of autoconf related goals.
	* configure.in: Use AC_CONFIG_HEADER.
	* checkit: Study config.h instead of config.status.

	* Makefile.in: Use texi2dvi instead of tex.
	Reported by Martin Maechler.

	* Makefile.in: Cleanup and reorganization.  New info and dvi
	goals.  Remove recode.info from all.  Define and use MAKEINFO and
	TEXI2DVI.  Use ALLOCA, because of getopt.  Distribute THANKS file.
	Rename HDRS, SRCS and OBJS into HEADERS, SOURCES and OBJECTS.
	Merge LIBSRCS and MSDOS_OBJS, remove them.

	* alloca.c: New, from elsewhere.
	* configure.in: Use AC_ALLOCA.

	* getopt.c: Use more recent version.
	* getopt.h: New, from elsewhere.

	* recode.c: Replace tempnam by tmpnam.  Always allocate the
	temporary file names statically, because some tmpnam's require
	this.  Also delay tmpnam until open time, for NeXT's.
	* pathmax.h: New, from elsewhere.
	* Makefile.in: Distribute pathmax.h.
	Reported by Andreas Mueller.

	* configure.in: Replace AC_USG by AC_HAVE_HEADERS(string.h).
	* recode.c: Replace USG test by HAVE_STRING_H test.

	* recode.c: Everywhere, use error instead of assert or perror.
	Include errno.h and conditionnaly declare errno.  Reformulate
	`if ((var = value) == test)' by `if (var = value, var == test)'.
	Use error in place of `fprintf(stderr, ...); exit(EXIT_FAILURE)'.
	* error.c: New, from elsewhere.
	* Makefile.in: Use and distribute error.c.

	* recode.c: Remove unnecessary system prototypes.

Fri Jan  1 20:07:36 1993  Francois Pinard  (pinard@icule)

	* Makefile.in: Reinstate $(CPPFLAGS), use it.  Richard wants it
	there.

Sat Nov 28 20:47:17 1992  Francois Pinard  (pinard@icule)

	* Makefile.in (clean, distclean): Remove ansi2knr rubbish.
	Reported by Pierre Gaumond.

	* Makefile.in: Remove all .PHONY's.

Wed Nov 18 14:03:21 1992  Francois Pinard  (pinard@icule)

	* Makefile.in: Add definition for INSTALL.
	Reported by Larry W. Virden.
	Reported by Bastian Schlueter.
	Reported by Ronald C.F. Antony.

Wed Nov 18 13:38:39 1992  Jim Meyering  (meyering@idefix.comco.com)

	* recode.c (most functions): Declare static.

	* ascicdcn.c, cccaebcd.c, cdcaebcd.c, ebcdccca.c,
	ebcdcdca.c, ibmplat1.c, ibmpmaci.c, lat1bang.c,
	lat1ibmp.c, lat1ltex.c, lat1txte.c, maciibmp.c, recode.c,
	steps.h: Declare with const attribute all static tables
	and pointer variables that traverse them.

	* recode.c: Declare `sequence' to be an array of const pointers.
	(find_sequence): Declare the `step' field of critical_tree
	with const attribute.

	* steps.h [struct keyword_struct]: Separate type definition
	and variable declaration.

Fri Nov 13 00:12:01 1992  Francois Pinard  (pinard@icule)

	* Makefile.in (dist): chmod a+r before making the tar file.

Thu Nov 12 23:58:02 1992  Francois Pinard  (pinard@icule)

	* aclocal.m4: Update FP_STDC_CHECK, replacing by FP_PROTOTYPES.
	* configure.in: Adjust accordingly.

Wed Oct  7 17:58:32 1992  Francois Pinard  (pinard@icule)

	* Version 3.2.4 to alt.sources, and later on prep.

Tue Oct  6 12:51:42 1992  Francois Pinard  (pinard@icule)

	* Makefile.in: Use exec_prefix.  Add `uninstall'.

Tue Sep 29 14:57:26 1992  Francois Pinard  (pinard@icule)

	* recode.c: Define EXIT_SUCCESS and EXIT_FAILURE if not defined,
	even after inclusion of <stdlib.h>, for SunOS 4.

	* Makefile.in: Add a completion message to `make check'.

	* configure.in: Make the `WARNING:' bigger if no Flex.

Fri Sep 25 11:36:47 1992  Francois Pinard  (pinard@icule)

	* Version 3.2.3.

	* HINTS: New file, used to simplify README.
	* Makefile.in: Distribute HINTS.

	* configure.in: Remove tests for Apollo's and 286 systems.
	* steps.h: Replace XENIX by ENUM_INT_BUG.
	* HINTS: Tell about Apollo's and 286 systems installation hints.

Thu Sep 24 16:51:33 1992  Francois Pinard  (pinard@icule)

	* recode.c: Write `Recoding...' instead of `recoding...'.

	* asciflat.c: Insure looking one character ahead at all times.
	This also solves a bug by which the second diacritic of a pair of
	two diacritics in a row was not properly flattened out.

Wed Aug 26 10:40:11 1992  Francois Pinard  (pinard@icule)

	* ltexlat1.l: Given `*' is a diacritic operation, insure
	swallowing '{}' in `\*\i{}'.  Recognize also `\*{\i}'.

	* asciltex.l: Prefer `\c{c}' to `\c c'.
	* lat1ltex.c: Idem.

	* lat1ltex.c: Insure NULs will go through.

	* recode.c: Implement the -d `diacritics_only' option for LaTeX.
	* asciltex.l: Idem.
	* lat1ltex.c: Idem.
	* ltexasci.l: Idem.
	* ltexlat1.l: Idem.

Sun Aug 23 07:50:38 1992  Francois Pinard  (pinard@icule)

	* recode.texi: Merging in some other separate documents.
	* table.texi, DisplayCode: Deleted.
	* Makefile.in: Adjusted.

	* configure.in: Split FP_STDC_CHECK out into aclocal.m4.
	* aclocal.m4: New.
	* Makefile.in: Distribute aclocal.m4.

	* version.c: Insure next version will be 3.2.3, skipping 3.2.1 and
	3.2.2, jumping over parallel numbering at U. de Montre'al.

Wed Aug 19 16:33:25 1992  Francois Pinard  (pinard@icule)

	* ansi2knr: New, from Ghostscript distribution.
	* configure.in: Check for __STDC__ and define U.
	* Makefile.in: Use U and ansi2knr.
	* All .c's: Remove many __STDC__ checks.
	* mergelex.awk: Remove generation of __STDC__ checks.

Mon Jul 20 23:37:23 1992  Francois Pinard  (pinard@icule)

	* Makefile.in: Use various clean goals according to latest GNU
	standards.  Moreover, add a recode.dvi goal and a texclean goal.

Thu Jul 16 18:49:48 1992  Francois Pinard  (pinard@icule)

	* configure.in: Changes for Autoconf 0.120.  Also test for popen,
	even if almost any UNIX has it; so the user can later undefine it from
	DEFS; avoid testing for pipe because of an old bug in this area.
	* Makefile.in, recode.c, checkit, common.h: Replace all *_MISSING
	by HAVE_*.

Thu Jun 18 07:44:58 1992  Francois Pinard  (pinard@icule)

	* Makefile.in: Changes for Autoconf 0.118.  Use AWK and LEX
	instead of GAWK and FLEX.

Thu Jun  4 21:48:53 1992  Francois Pinard  (pinard@icule)

	* Makefile.in: Changes for Autoconf 0.115.  Use config.status to
	recreate Makefile from Makefile.in.
	* checkit: Retrieve DEFS value from config.status instead of
	Makefile.

Mon Jun  1 23:06:44 1992  Francois Pinard  (pinard@icule)

	* Makefile.in, configure.in: Changes for Autoconf 0.112.  Avoid
	FP_PROG_MAKEINFO and use `makeinfo' directly.
	* checkit: Get DEFS from Makefile instead of from config.status.

Sun Feb  2 16:23:11 1992  Francois Pinard  (pinard@icule)

	* recode.c (main): Returns int.

Thu Jan 30 12:14:44 1992  Francois Pinard  (pinard@icule)

	* Makefile.in: Use new names for clean goals.

Mon Dec  2 20:30:53 1991  Francois Pinard  (pinard@icule)

	* steps.h, recode.c: Removed comma at end of enum's.

	* version.c: Added a few const's.

Sat Nov 30 23:40:39 1991  Francois Pinard  (pinard@icule)

	* recode.c: Use EXIT_FAILURE and EXIT_SUCCESS; define them if not
	STDC_HEADERS.

	* recode.c: Prototypes added for fstat, getopt, link, perror,
	unlink and utime, if __STDC__.

Thu Nov  7 11:21:38 1991  Francois Pinard  (pinard@icule)

	* recode.texi: Should now be TeXable.
	* Makefile.in: Insure distributing texinfo.tex.

	* ibmpicon.c, iconibmp.c: Use 0x1E for QNX end of lines, 0x0E was
	wrong.

	* configure.in: Take care of POSIXish ISC.

Tue Nov  5 09:47:15 1991  Francois Pinard  (pinard@icule)

	* configure.in, Makefile.in: Do not absolutize $(srcdir), because
	this could create problems with automounters.

	* configure.in, Makefile.in: Remove IF_* devices, they were
	solving a problem caused only by non timestamping shars, and
	recode is now distributed in tar or zoo format.

Mon Nov  4 18:14:49 1991  Francois Pinard  (pinard@icule)

	* configure.in: Get rid of the head program, using sed.  I would
	also like, eventually, to get rid of file and grep programs too.

Fri Nov  1 12:30:59 1991  Francois Pinard  (pinard@icule)

	* recode.c (main): Use rename library routine if available.
	* configure.in: Check for rename availability.

	* Makefile.in: Insure gawk is executed in the source directory
	while preparing merged.c.

	* recode.c (execute_pipe_sequence): Close descriptor after dup2.
	Still bugged.

	* recode.c (code_index): Reject partial matches for keywords.
	Reported by Laurent Bourbeau.

Mon Oct 28 14:39:36 1991  Francois Pinard  (pinard@icule)

	* configure.in: New.
	* configure: Automatically regenerated from file configure.in
	and David MacKenzie's autoconf.

Mon Oct 28 12:08:31 1991  Francois Pinard  (pinard@icule)

	* Version 3.2.

	* all: Replace GPL version 1 by GPL version 2.

	* Makefile.in: Use `sh checkit' instead of `./checkit'.  For an
	unknown reason, the Sparc requires this.

	* recode.c: Define str[r]chr to be [r]index if not USG.

	* recode.c: Force binary mode on files for MSDOS.

Sun Oct 27 11:03:07 1991  Francois Pinard  (pinard@icule)

	* recode.c: MSDOS port.  tempnam(), utime(), link() and getopt()
	were missing; replacements inspired from by Rahul Dhesi's flip.
	* configdos.pl, config.tcc: New.
	* getopt.c: New, AT&T freed code.
	* Makefile.in: Adjustements for MSDOS port, dist.dos goal.

Fri Oct 25 09:35:10 1991  Francois Pinard  (pinard@icule)

	* recode.c (execute_popen_sequence, execute_pipe_sequence):
	Accept non filter mode.
	(execute_pipe_sequence): Wait for children.  Still bugged.

	* configure: Test dup2.
	* recode.c: Have DUP2_MISSING imply PIPE_MISSING, for now.

	* checkit: New.
	* Makefile.in: Use checkit in check goal.

Wed Oct 23 13:14:33 1991  Francois Pinard  (pinard@icule)

	* recode.c: Revert back to -v instead of -q.  Give the user some
	more control on the sequencing strategy through -i, -o and -p.
	Get rid of any USE_FILE, USE_POPEN and USE_PIPE.  However, keep
	POPEN_MISSING and PIPE_MISSING around, for MSDOS.  Segregating
	between `popen' and `pipe' is only experimental, while trying to
	have `pipe' working correctly.

	* configure, Makefile.in: New.  Many new configuration features.
	Among others, through IF_FLEX, be careful to never loose merged.c
	on those systems which do not have the machinery to remake it.
	* GNUmakefile, Makefile, Depends: deleted.

Sun Mar 31 17:50:04 1991  Francois Pinard  (pinard@icule)

	* mergelex.awk: remove exit() and read() definitions.

Tue Jan 22 13:58:43 1991  Francois Pinard  (pinard@icule)

	* ibmpicon.c, ibmplat1.c, ibmpmaci.c: Recognize old DOS end of
	file (0x1A).

Mon Jan 21 09:28:47 1991  Francois Pinard  (pinard@icule)

	* lat1bang.c, lat1txte.c: Have the no-break space converted to a
	single space.

Tue Jan 15 09:46:46 1991  Francois Pinard  (pinard@icule)

	* all: While/if ((var=exp) [test]) -> while/if (var=exp, var [test]),
	switch (var=exp) -> var=exp; switch (var).

	* recode.c (code_index): Use usage_and_exit ().  Moved.
	* recode.c (echo_sequence): Print format changed.
	* recode.c: Issue `recoding FILE ...done' messages, unless -q.

	* ibmplat1.c, lat1ibmp.c, ibmpmaci, maciibmp.c, txteibmp.c:
	While reading MS-DOS files, 0x0D followed by 0x0A is converted
	to an end of line; while writing MS-DOS files, end of lines
	are converted to 0x0D 0x0A.
	* ibmpicon.c, iconibmp.c: While reading QNX files, 0x0E is
	converted to 0x0D 0x0A; while writing QNX files, 0x0D followed
	by 0x0A is converted to 0x0E.

	* txteibmp.l: Deleted.
	* steps.h: Remove references to texte_ibmpc.

	* steps.h: Remove DONT_LEX conditionals; merged.c is always
	available for installation.

Wed Jul  4 19:01:56 1990  Francois Pinard  (pinard@icule)

	* all: Copyright directly assigned to the FSF.

Mon Mar 26 13:19:24 1990  Francois Pinard  (pinard@icule)

	* txteasci.l, txteibmp.l, txtelat1.l: Change occurrences of a NUL
	terminated cursor by a counter from 0 to yyleng-1.  This will
	insure proper transmission of NULs through Flex, which can now
	handle them.

	* mergelex.awk: Make use of -8 option of Flex 2.2 alpha, adjust
	documentation, insure proper pre-declarations of Flex variables
	yytext, yyleng, yyint and yyout.

Fri Mar 23 19:24:08 1990  Francois Pinard  (pinard@icule)

	* recode.c (execute_popen_sequence): Get rid of unused variables.

	* recode.c (code_index): Change index to counter, because on BSD
	index is a library function.

Fri Mar 16 10:17:48 1990  Francois Pinard  (pinard@icule)

	* Version 3.1.

Thu Mar 15 19:22:53 1990  Francois Pinard  (pinard@icule)

	* version.c, recode.c (usage_and_exit): Change -V to -C to give
	the Copyright conditions, print version identification.

	* txtelat1.l: Real strange bug aroud Flex.  I ought to blindly
	remove the specific case of a capital A with a diaeresis to get
	rid of a `NULL in input' Flex diagnostic.  Doing so, I introduce a
	new bug to get rid of another :-(.

	* all: Added missing prototypes declarations, missing void
	specifications for functions, missing const; removed unused
	variables.
	* common.h: New.

Fri Feb  9 00:20:51 1990  Francois Pinard  (pinard@icule)

	* recode.c, Makefile: If no files are specified, recode stdin on
	stdout as before.  But if files are specified, each of them is now
	recoded over itself, preserving its time stamps unless -t option
	is used.  To make it work on BSD, split execute_sequence in three,
	get rid of USE_FILES and hide USE_PIPE in the Makefile.  Also, see
	the comment before execute_sequence routines, in recode.c.

	* recode.c (main): Some code for -f, to be written later.

	* recode.c (usage_and_exit): Rewritten.

Mon Feb  5 22:42:54 1990  Francois Pinard  (pinard@kovic)

	* recode.c (usage): Added commas to improve readability.

	* lat1bang.c: Have lower case output instead of upper case, this
	is more readable.

Sat Feb  3 07:31:50 1990  Francois Pinard  (pinard@kovic)

	* Version 3.0.1.

	* recode.c: Corrected bugs related to USE_POPEN; recode step path
	is now echoed once, and diaeresis selection is now propagated.

Fri Feb  2 12:58:22 1990  Francois Pinard  (pinard@kovic)

	* mergelex.awk: Option USE_FPUTC, so to compile merged.c using
	fputc instead of putc.  It will hopefully ease Apollo C compiler,
	which litterally trashes on merged.c.

Sat Jan 27 10:06:09 1990  Francois Pinard  (pinard@kovic)

	* all: Adaptation for Flex.  A few yyleng problems short-circuited
	here and there in some .l's.
	* lexcom.c:  Eliminated.
	* mergelex.awk: New, for merging all .l's into a single merged.l.
	This results in a shorter a.out, by a factor of 2 in fact.
	* asciltex.l, ascitxte.l: Slight adjustments needed to escape <'s
	with backslashes.

	* cdcnasci.c, banglat1.c: Too many putc's, simplified to shorten
	the object modules.

	* recode.c: Temporary files were improperly unlinked.  Addition of
	a -q option (quiet), removal of -d (debug): by default, choosen
	step path is printed on stderr.

	* lat1bang.c: Replacement for disappearing ascibang.l.
	* ascibang.l: Removed.

Sun Nov 19 10:35:00 1989  Francois Pinard  (pinard@icule)

	* banglat1.c, lat1bang.c, iconibmp.c, cdcnasci.c, ascicdcn.c,
	asciflat.c: Replacements for banglat1.l, ascibang.l, iconibmp.l,
	cdcnasci.l, ascicdcn.l, asciflat.l.  I will get rid of some
	simpler lex routines, to get speed and save space.
	* steps.h, version.c: Various adjustments for the preceeding
	changes.

	* Most files: Removal of the dash to restrict each file name
	into eight character, for MS-DOS.

Fri Nov 10 09:03:11 1989  Francois Pinard  (pinard@icule)

	* version.c: Added.

	* recode.c: Provision for -V option.

Sun Oct 29 13:02:53 1989  Francois Pinard  (pinard@icule)

	* Version 3.0.

	* txte-lat1.l, lat1-txte.c: Added.

	* txte-ibmp.l: Capital E with acute accent now stays capital in
	all cases.

	* recode.c: Addition of USE_FILES feature for smaller machines.
	PIPE_OUTSIDE renamed to USE_POPEN, PIPE_INSIDE to USE_PIPE.
	Recognition of short keywords.

	* ltex-asci.l, ltex-lat1.l: \$ now correctly translated into $.

	* History from an old recode.texinfo:

	  August 1988:

		Some tentative new charsets for TeX and texinfo, steps
		merged and made more uniform, usage of Unix pipes
		instead of translating chunks one at a time.

		Loic Dachary first exposed me to Easy French.  Claude
		Goutier, through numerous discussions, was helpful in
		evaluating various work hypotheses.

	  July 1988:

		Ported to BSD Unix, bent to meet most GNU standards.

	  December 1987:

		Ported to Microsoft C, tables frozen instead of being
		computed by auxiliary programs at installation time,
		translation sequences sought at execution time instead
		of built-in in the program.

	  July 1985:

		Adapted in Turbo-Pascal on an IBM-PC, translation
		tables completely redesigned.  Dropping of CAF, RUB
		and INT support; ASCII now used as a common base.

	* History from Cyber `secours,/s=codes,recode' documents:

	  March 1983:

		Version 2.0.

		Merge of features from all versions.  New extensive
		documentation, in French.  Handling of French for 95
		character CDC printers.

	  November 1982:

		Version 1.0.

		Modified to handle NOS (NOS 6/12 code), INT (Intercom 8/12
		code), RUB (7.5 char per word tape format), support of
		EBCDIC translations.  Restructuration into a few main
		modules, one of which is CODES.  Made in preparation for
		the Cray-1 at Canadian Meteorological Center.

	  December 1981:

		Revision of comparison routines for French processing,
		several suggestions from Francine Ouellette.

	  December 1980:

		A few speedups and improvements.  My own definition of
		extended ASCII, quite compatible with various usages at
		Universite' de Montre'al.

	  July 1980:

		Module GEN broken into several modules: ASC (ascii), BNG
		(bang-bang), CAF (format for CAFE project), DPC (usual
		display code), and TEL (TELUM packing).  Made in context
		of some research for the PPMF group and the BLOPS project.

	  January 1980:

		Unified module named GEN and program named GENCOP, in
		Cyber Pascal and assembler, partly inspired from NOS/BE
		Record Manager, partly from Claude Schne'egans' PESTUM
		protocol.

	  Before 1980:

		Several independant programs, most in Cyber COMPASS
		assembler, to handle code conversions.  A few tries to
		get some useful, unified, general approach, but with
		limited success.