home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / gnurecod.zip / ChangeLog < prev    next >
Text File  |  1994-11-06  |  61KB  |  1,604 lines

  1. Sat Nov  5 15:56:48 1994  Francois Pinard  (pinard@icule)
  2.  
  3.     * Version 3.4.
  4.  
  5.     * Makefile.in (realclean): Also remove stamp-vti.
  6.  
  7.     * recode.c (main): For now, inhibit -s with a warning, when -g.
  8.     This is only a temporary non-solution for a coredump problem.
  9.     Reported by David E. A. Wilson.
  10.  
  11.     * recode.c (main): When diagnosing an irreversible recoding, do
  12.     not falsely say that the -f option was not specified.
  13.     (usage): Insist on the fact that -f is currently always selected.
  14.     Reported by David E. A. Wilson.
  15.  
  16. Wed Nov  2 00:49:34 1994  Francois Pinard  (pinard@icule)
  17.  
  18.     * configure.in: Check for const only after having found possible
  19.     ANSIfying compiler flags, this is of no use to check it before.
  20.  
  21. Mon Oct 31 01:26:40 1994  Francois Pinard  (pinard@icule)
  22.  
  23.     * unhexify.l: Deleted.  Not up to GNU standards for distribution.
  24.     * Makefile.in (BACKLOG): Goal deleted.  It was depending on files
  25.     which are not part of the distribution.
  26.     Reported by Jim Meyering.
  27.  
  28.     * checkit: Force -f on most recode calls, to avoid diagnostics.
  29.  
  30.     * Makefile.in: Clean up, following the one in GNU sharutils.  I
  31.     will not detail all the changes here.
  32.     * configure.in: Likewise.
  33.     * recode.c: Use PRODUCT and VERSION instead of version_string.
  34.     * acconfig.h: Document PRODUCT and VERSION.
  35.     * recode.h: Interface with dmalloc if WITH_DMALLOC.
  36.  
  37. Sun Oct 30 16:52:37 1994  Francois Pinard  (pinard@icule)
  38.  
  39.     * recode.h, recode.c: Use #if rather than #ifdef to test __STDC__.
  40.  
  41. Tue Oct 11 00:26:30 1994  Francois Pinard  (pinard@icule)
  42.  
  43.     * mergelex.awk: Declare yywrap only if not already a preprocessor
  44.     symbol, because some versions of Flex define it.
  45.     Reported by David van Leeuwen.
  46.  
  47. Mon Oct 10 20:19:45 1994  Francois Pinard  (pinard@icule)
  48.  
  49.     * lat1asci.c: Implement O and o with stroke, y with diaeresis, and
  50.     german sharp s (as s overstroken with double quote).
  51.     * ascilat1.l: Corresponding changes.
  52.     Reported by Michael Gschwind.
  53.  
  54.     * lat1txte.c (init_latin1_texte): Ensure diaeresis_char will be
  55.     used in the computed translation table.  It was ignored.
  56.     * txtelat1.l: Ensure diaresis_char is recognized where it should.
  57.  
  58.     * ascilat1.l: Remove all references to diaeresis_char, because
  59.     backspaced ASCII was never meant to be sensible to option -c.
  60.  
  61. Sun Oct  9 08:34:37 1994  Francois Pinard  (pinard@icule)
  62.  
  63.     * recode.h: Get rid of CONFIG_BROKETS.
  64.  
  65. Tue Sep 13 12:55:30 1994  Francois Pinard  (pinard@icule)
  66.  
  67.     * recode.c (usage): Use fputs instead of printf when possible.
  68.  
  69.     * recode.c: Implement -k option for searching through recodings.
  70.     * charset.c (decode_known_pairs): New function.
  71.     (list_all_charsets): Accept a parameter and obey restrictions.
  72.     * recode.h: Declarations adjusted.
  73.     Reported by Ghislain Plamondon.
  74.  
  75.     * acconfig.h: Document PROTOTYPES.  Strange enough: how did it
  76.     ever work without this?
  77.  
  78.     * configure.in: Adjust for Autoconf 2.0.
  79.     * install-sh: New name for install.sh.
  80.     * Makefile.in: Put date in stamp files.
  81.     (DISTFILES): Adjust.
  82.  
  83. Tue Sep  6 12:09:44 1994  Francois Pinard  (pinard@icule)
  84.  
  85.     * Makefile.in (TAGS): Remove -t from etags call.
  86.  
  87. Fri Jul  8 00:15:14 1994  Francois Pinard  (pinard@icule)
  88.  
  89.     * ansi2knr.1: New file, from elsewhere.
  90.     * Makefile.in (DISTFILES): Distribute it.
  91.  
  92. Fri Jun  3 12:58:05 1994  Francois Pinard  (pinard@icule)
  93.  
  94.     * recode.c (usage): Spell `Texinfo' with a capital.
  95.  
  96. Wed Apr 13 13:40:46 1994  Francois Pinard  (pinard@icule)
  97.  
  98.     * Makefile.in (Makefile, etc.): Adapt for Autoconf 1.8.
  99.  
  100. Sat Mar 19 05:52:45 1994  Francois Pinard  (pinard at icule)
  101.  
  102.     * lat1asci.c (init_latin1_ascii): Do not allocate pool separately
  103.     from table, so they can be freed at once.
  104.     * lat1html.c (init_latin1_html): Idem.
  105.     * lat1ltex.c (init_latin1_latex): Idem.
  106.     * lat1txte.c (init_latin1_texte): Idem.
  107.  
  108.     * recode.c (simplify_sequence): Despite not reversible, accept
  109.     producing RFC 1345 short mnemonics, outside any double step,
  110.     constructing a one-to-many table on the fly.  When exploring foreign
  111.     files, there might be no other easy choice.
  112.     * charset.c (init_table_for_rfc1345): New.
  113.     * recode.h: Declare it.
  114.     Reported by Roman Czyborra.
  115.  
  116. Fri Mar 11 09:35:55 1994  Francois Pinard  (pinard at icule)
  117.  
  118.     * lat1ltex.c: Recode 160 as `~', not as `\ '.
  119.     * ltexlat1.l: Recode `~' (instead of `\ ') to 160.
  120.     Reported by Nicolas Anquetil.
  121.  
  122.     * ltexlat1.l: Ensure that recode does not match only part of the
  123.     identifier following `\'.  This was easily solved by adding a few
  124.     Flex rules at end and relying on the Flex longest match law.
  125.     For example, because Latin-1 misses the latin `oe' diphtong (!),
  126.     `\oe' was seen as the recodable `\o' followed by an isolated `e'.
  127.     Reported by Mac Pigman and Nicolas Anquetil.
  128.  
  129.     * ltexlat1.l: Reformatted for a more uniform Flex quoting.
  130.  
  131.     * recode.c (execute_popen_sequence): Ensure -d option is properly
  132.     transmitted to subprocesses.
  133.     Reported by David Kastrup.
  134.  
  135.     * lat1html.c, htmllat1.l: New, for supporting HTML conversions.
  136.     * lat1ltex.c: Add a few static specifiers to tables.
  137.     * Makefile.in: Adjusted.
  138.     Reported by David Lebel.
  139.  
  140. Mon Feb  7 11:42:07 1994  Francois Pinard  (pinard at icule)
  141.  
  142.     * Makefile.in: Avoid $(CFLAGS) while linking.
  143.  
  144.     * configdos: Link to locally installed configdos.
  145.     * dosfn: Replaced by a link to locally installed dosfn.
  146.     * dosfn.pl: Deleted, included in installed configdos and dosfn.
  147.     * configdos.pl: Deleted.
  148.     * Makefile.in: Call dosfn and configdos as programs, provide -tcc
  149.     to configdos.  Do not distribute prepared DOS files anymore in the
  150.     tar file.  Prepare the DOS makefile directly in distdos goal, also
  151.     put in distdos the preparation of libobjs.lst and objects.lst.
  152.  
  153. Fri Feb  4 10:26:22 1994  Francois Pinard  (pinard at icule)
  154.  
  155.     * recode.c (file_one_to_many): When an irreversibility is found,
  156.     run recoding to completion instead of interrupting it, then return
  157.     whether it is reversible or not, disregarding force_option.
  158.     * bangbang.c (file_banbang_latin1): Idem.
  159.     * cdcnos.c (file_cdcnos_ascii): Idem.
  160.     * flat.c (file_ascii_flat): Idem.
  161.     * ibmpc.c (file_latin1_ibmpc, file_ibmpc_latin1): Idem.
  162.     * iconqnx.c (file_ibmpc_iconqnx, file_iconqnx_ibmpc): Idem.
  163.     * recode.h: Do not declare force_option anymore.
  164.  
  165. Tue Jan 18 20:03:52 1994  Francois Pinard  (pinard@icule)
  166.  
  167.     * recode.c (declare_step): Rewrite the prototype differently if
  168.     not __STDC__, because ansi2knr does not clean prototypes in
  169.     functionnal arguments.
  170.     * txtelat1.l: Declaring texte_latin1_diaeresis, use _((void)).
  171.     Reported by Rejean Payette.
  172.  
  173. Sat Jan 15 14:24:44 1994  Francois Pinard  (pinard@icule)
  174.  
  175.     * recode.c (main): With absolutely no arguments, imply --help.
  176.     Reported by Kai Uwe Rommel.
  177.     
  178. Fri Jan 14 15:12:09 1994  Francois Pinard  (pinard@icule)
  179.  
  180.     * recode.c (usage): Print the version string in --help.
  181.     Reported by Kai Uwe Rommel.
  182.  
  183.     * recode.c: Ajust for easing OS/2 EMX port.
  184.     * Makefile.os2, config_h.os2: New files.
  185.     * Makefile.in: Distribute them.
  186.     Reported by Kai Uwe Rommel.
  187.  
  188.     * recode.c (usage): Print a blank line after the first prototype.
  189.  
  190. Thu Jan 13 21:24:42 1994  Francois Pinard  (pinard@icule)
  191.  
  192.     * configdos.pl: Renaming GNUmakefile to makefile.gnu.
  193.  
  194.     * recode.c (output_header_file): Use tabs instead of spaces before
  195.     generated comments.
  196.  
  197. Sat Jan  8 20:11:57 1994  Francois Pinard  (pinard@icule)
  198.  
  199.     * recode.c: Condense "file = action(); if (file == NULL) ..." into
  200.     "if (file = action(), file == NULL) ..." consistently.
  201.  
  202. Fri Jan  7 10:54:08 1994  Francois Pinard  (pinard@icule)
  203.  
  204.     * configure.in: Check AC_RETSIGTYPE.
  205.     * recode.c: Include <setjmp.h>, <signal.h>, define RETSIGTYPE.
  206.     (signal_handler, setup_signals): New.
  207.     (main): Call setup_signals.
  208.     (execute_pipe_sequence): Do not diagnose SIGPIPE as an unknown error.
  209.  
  210.     * recode.c (main): Replace program_name by program_path.
  211.     Introduce program_name, receiving the basename of program_path.
  212.     (execute_popen_sequence): Use program_path instead of program_name.
  213.  
  214.     * recode.c (dup2): New, for when HAVE_PIPE && !HAVE_DUP2.
  215.  
  216.     * ebcdic.c: Connect to ASCII instead of to ASCII-BS.
  217.     * recode.c (register_all_modules): Alias to ASCII right away.
  218.  
  219.     * recode.c (register_all_modules): Alias ASCII-BS to BS.
  220.     * cdcnos.c (module_cdcnos): Alias CDC-NOS to NOS.
  221.     * iconqnx.c (module_iconqnx): Alias Icon-QNX to QNX.
  222.     * lat1ltex.c (module_latin1_latex): Alias LaTeX to TeX.
  223.     * ltexlat1.l (module_latex_latin1): Alias LaTeX to TeX.
  224.  
  225. Thu Jan  6 00:26:18 1994  Francois Pinard  (pinard@icule)
  226.  
  227.     * Version 3.3.1, in the MSDOS world only.
  228.  
  229.     * all: Everywhere, change charset names from latin1 to Latin-1,
  230.     latex to LaTeX and texte to Texte.  Change applemac to Apple-Mac,
  231.     ascii-bs to ASCII-BS, atarist to AtariST, bangbang to Bang-Bang,
  232.     cdcnos to CDC-NOS, ebcdic to EBCDIC, ebcdic-ccc to EBCDIC-CCC,
  233.     ebcdic-ibm to EBCDIC-IBM, ibmpc to IBM-PC and iconqnx to Icon-QNX.
  234.  
  235.     * recode.c: For MSDOS, increase the stack length through _stklen.
  236.  
  237.     * recode.c: Diagnose more precisely all errors involving errno,
  238.     while calling error.  In particular, include __FILE__:__LINE__.
  239.  
  240.     * recode.c (main): Unless under MSDOS, use rec<PID>.tmp for the
  241.     file name of the temporary recoded file instead of recodeXX.TMP.
  242.  
  243.     * recode.c: Rename optimize_sequence to simplify_sequence, and
  244.     optimizable_type to symplify_type.
  245.  
  246.     * recode.c (execute_popen_sequence): Return 0 if the subprocess
  247.     fails, instead of exiting with a diagnostic.  Pass -f option to
  248.     subprocesses if selected.  Always pass -q to shut them down.
  249.     Construct the popen_command piecemeal instead of a big sprintf.
  250.     (main, usage): Implement option --quiet (-q, --silent).
  251.  
  252.     * recode.c (execute_pass_sequence): Interrupt the current recoding
  253.     and return 0 if any step fails, if this happens, unlink a possibly
  254.     existing temporary file.
  255.  
  256.     * recode.c (execute_pipe_sequence): Unconditionnaly close the
  257.     output file from the parent before waiting, instead of closing
  258.     it only if there was an output name.  Let the parent accumulate
  259.     the exit status of all children before returning its own.
  260.     * configure.in: Let HAVE_PIPE be defined.  This old bug ig gone!
  261.  
  262.     * recode.c (perform_auto_check, perform_auto_check_one): Renamed
  263.     and split from function report_about_all_sequences.  Now accepts a
  264.     CHARSET    argument for limiting the search.
  265.     (main): Allows an optional command line argument to --auto.
  266.     (usage): Adjusted accordingly.
  267.  
  268.     * recode.c (main): Diagnose extraneous arguments to --list.
  269.     
  270.     * recode.c (compare_struct_item): New.
  271.     (init_recode_rfc1345): Partial rewrite for replacing the quadratic
  272.     pairing algorithm with a logarithmic-linear one, cleaning up a bit.
  273.  
  274. Tue Jan  4 08:28:49 1994  Francois Pinard  (pinard@icule)
  275.  
  276.     * txtelat1.l: Undo the 1990-03-15 change.  If there is still a bug
  277.     in this area, I will let it show its nose again...
  278.  
  279.     * mergelex.awk: Remove the X_ prefix for start condition names.
  280.  
  281.     * configure.in: Remove all about LEXLIB, flexlib and LIBOBJS,
  282.     since flex (version 2.4.6) generated scanners are self contained.
  283.     * flexlib.c: Deleted.
  284.     * Makefile.in: Adjusted.
  285.  
  286.     * recode.c (optimizable_type): New, from optimize_sequence.
  287.     (optimize_sequence): Use it.
  288.  
  289.     * charset.c (clean_charset_name): Set decoding_charset_flag just
  290.     before calling usage instead of early, do not care resetting it.
  291.  
  292.     * next.c: Renamed from nextstep.c.  NeXTSTEP changed to NeXT.  Add
  293.     f2 as florin (166) and '" as hungarian umlaut (205).  Remove
  294.     USE_DOUBLE_STEP by making the code permanent, remove older code.
  295.     * charname.pl: Especially define f2 as florin.
  296.     * Makefile.in: Adjusted.
  297.     Reported by Keld J|rn Simonsen.
  298.  
  299.     * alloca.c: Deleted, not used anymore.
  300.     * configure.in: Remove AC_ALLOCA test.
  301.     * Makefile.in: Remove alloca.* references.
  302.  
  303.     * configure.in: Read DEFAULT_CHARSET from environment if set.
  304.     Reported by Andreas Schwab.
  305.  
  306. Mon Jan  3 00:03:01 1994  Francois Pinard  (pinard@icule)
  307.  
  308.     * Makefile.in (.stamp-collect): Say when initstep.h altered.
  309.  
  310.     * charset.pl: Now produce split charset1.c and charset2.c instead
  311.     of a single big charset.h.  This seems mandatory for MSDOS, even
  312.     with huge model.  Some Unix C compilers will crawl faster, too.
  313.     * Makefile.in: Adjusted.
  314.  
  315.     * README.DOS: New file.
  316.     * configdos.pl: Much revised.  The script no longer have a
  317.     config.tcc input, now taking its information from Makefile.in.
  318.     * dosfn: New file, from elsewhere.
  319.     * dosfn.pl: New file, common between configdos.pl and dosfn.
  320.     * Makefile.in: Distribute configdos.pl again, together with
  321.     dosfn.pl and makefile.dos.  Adapt for MSDOS and configdos.pl.
  322.  
  323.     * recode.c: Delete inactive code for selecting DEFAULT_CHARSET,
  324.     this being now done from configure or by already preset config.h.
  325.  
  326.     * atarist.c: Rewritten for using a double step, instead of two
  327.     steps in and out latin1; the new code is triggered by defining
  328.     USE_DOUBLE_STEP, the old code will be kept for a little while.
  329.     Reported by Andreas Schwab.
  330.  
  331.     * Makefile.in: Do not define LDFLAGS, use CFLAGS on link calls.
  332.     * configure.in: Remove LDEFS substitution, seemingly unused.
  333.     Reported by Richard Stallman.
  334.  
  335. Sat Jan  1 09:11:45 1994  Francois Pinard  (pinard@icule)
  336.  
  337.     * flat.c: Transmit '\t' as is, it was erroneously changed to '\n'.
  338.  
  339. Fri Dec 31 00:26:10 1993  Francois Pinard  (pinard@icule)
  340.  
  341.     Begin work for implementing --force.  To be completed later.
  342.     * recode.c (file_one_to_one): Return 1 instead of void.
  343.     (file_one_to_many): Return a value saying if the recoding was
  344.     successful or not, instead of void.
  345.     (execute_pass_sequence): Return 1 (unfinished).
  346.     (execute_popen_sequence): Return 1 (unfinished).
  347.     (execute_pipe_sequence): Return 1 (unfinished).
  348.     (execute_sequence): Return the status got from execute_*_sequence,
  349.     use it to alter "done" into "DENIED" when using -v.
  350.     (declare_step): Adjust file_recode parameter declaration.
  351.     (main):  Have --graphics imply --force.
  352.     * recode.h: Adjust declarations.  Declare error, force_option.
  353.     * bangbang.c (file_bangbang_latin1): Similarily.  Also, do not
  354.     recode "!!J" or "!!j" into '\n' unless -f.
  355.     * cdcnos.c (file_cdcnos_ascii): Similarily.  Also, do not recode
  356.     "^)" into '\n' unless -f.
  357.     * flat.c (file_ascii_flat): Similarily.
  358.     * ibmpc.c (file_latin1_ibmpc, file_ibmpc_latin): Similarily.
  359.     Also, do not recode isolated '\n' or '^Z' unless -f.
  360.     * iconqnx.c (file_ibmpc_iconqnx, file_iconqnx_ibmpc): Similarily.
  361.     Also, check for preventing the production of a few sequences which
  362.     would might be recoded back differently, unless -f.
  363.     * mergelex.awk: Similarily for generated file_<step_name>
  364.     routines.  Return the yylex result.  At <<EOF>>, return 1.
  365.  
  366.     * charset.c (make_argmatch_array): Print a line of hash statistics
  367.     if HASH_STATS is defined.
  368.  
  369.     I used to have 408 names in 343/997 buckets, the following patch
  370.     gave 408 names in 332/997 buckets.  Being worse, I commented it.
  371.     * charset.c (hash_string): Replace hash algorithm by GNU diff's.
  372.     * recode.h: Include <limits.h> and ensure CHAR_BIT is defined.
  373.     * configure.in: Test for <limits.h>.
  374.  
  375.     * recode.c (optimize_sequence): Delete a remaining single step if
  376.     it happens to be the identity recoding.
  377.     (echo_sequence): Better diagnose the trivial recoding.
  378.     (file_one_to_one): Remove detection of special one_to_same case.
  379.     (report_about_all_sequences): Simplify detection of one_to_same.
  380.  
  381.     * Makefile.in: Distribute .stamp-collect and initstep.h.  This
  382.     should alleviate problems caused by some sh/sed combinations,
  383.     still unstudied, which are unable to make initstep.h properly.
  384.     Reported by Michael L. Dowling.
  385.  
  386. Thu Dec 30 23:10:41 1993  Francois Pinard  (pinard@icule)
  387.  
  388.     * flat.c: Consider `~' as a diacritic character.
  389.     * File-Latin1: New file, intended to help testing/playing.
  390.     * Makefile.in: Distribute File-Latin1.
  391.     Reported by Martin Maechler.
  392.  
  393. Wed Dec 29 23:51:35 1993  Francois Pinard  (pinard@icule)
  394.  
  395.     * Makefile.in (merged.c): Split the pipe in parts, because
  396.     otherwise all status except the last of the pipe are lost for
  397.     make.  This is seemingly a feature of sh.
  398.     Reported by Vern Paxson.
  399.  
  400. Sat Dec 25 06:20:37 1993  Francois Pinard  (pinard@icule)
  401.  
  402.     * configure.in: Check for vprintf and strerror, for error.c.
  403.  
  404.     * recode.c (usage): Indicate that --help and --version exit.
  405.  
  406. Fri Dec 24 22:12:59 1993  Francois Pinard  (pinard@icule)
  407.  
  408.     * Makefile.in: Remove all as dependency for uninstall.
  409.  
  410.     * Makefile.in: Split HEADERS, giving also LIBHDRS.  Use it.
  411.  
  412. Thu Dec 23 20:02:03 1993  Francois Pinard  (pinard@icule)
  413.  
  414.     * Version 3.3.
  415.  
  416. Tue Dec 21 15:25:36 1993  Francois Pinard  (pinard@icule)
  417.  
  418.     * *.c: Delete unused variables, add a few missing const's.
  419.  
  420.     * nextstep.c: Rewritten for using a double step, instead of two
  421.     steps in and out latin1; the new code is triggered by defining
  422.     USE_DOUBLE_STEP, the old code will be kept for a little while.
  423.     This has two advantages: recode can obey various -l options for
  424.     NeXTSTEP, and I can remove the full style table from the
  425.     documentation.
  426.     Reported by Martin Maechler.
  427.  
  428.     * Makefile.in (clean): Also delete unhexify.
  429.  
  430.     * Makefile.in (tags): Include $(HEADERS).
  431.     (TAGS): Idem.  Also use -t on etags.
  432.  
  433. Mon Dec 20 10:44:41 1993  Francois Pinard  (pinard@icule)
  434.  
  435.     * charset.c (hash_string): Cast unsigned to int before modulo.
  436.     * recode.c (print_truncated_charset_name): Cast strlen result to
  437.     int before using it in an arithmetic comparison.
  438.  
  439.     * recode.c (complete_pairs): When a conflict is found, diagnose
  440.     which charsets are involved.
  441.     Reported by Bastian Schlueter.
  442.  
  443.     * nextstep.c: Add pair {182, 182} for paragraph sign.
  444.     Reported by Bastian Schlueter.
  445.  
  446.     * recode.c (main):  Replace long names --files, --popen and --pipe
  447.     by common --sequence=METHOD.
  448.     (usage): Document this.
  449.  
  450.     * recode.c (decode_before_after): Use backslash as escape.
  451.     (execute_popen_sequence): Clean up charset names before popen.
  452.     Reported by Keld J|rn Simonsen.
  453.  
  454. Sun Dec 19 10:19:06 1993  Francois Pinard  (pinard@icule)
  455.  
  456.     * charset.pl: Send diagnostics to stderr instead of charset.LOG.
  457.  
  458.     * charset.pl: Discard &duplicate lines without discarding the
  459.     associated charset.
  460.  
  461.     * charset.pl: Canonalize names the same way charset.c does, detect
  462.     duplicate names or aliases based on canonical names.  Do not
  463.     discard a charset merely for an alias name clash.
  464.  
  465.     *charset.pl: Delay the generation of charset.texi, sort the
  466.     @item's by charset name and, within each, sort aliases.
  467.  
  468.     * recode.h: Add a size field to the charset structure, declare a
  469.     size parameter to declare_double_step.
  470.     * charset.pl: Handle charsets having more than 2 characters per
  471.     symbol, transmit measured size into declare_double_step calls.
  472.     * recode.c (declare_double_step): Accept and save a size parameter.
  473.     * charset.c (code_to_symbol): New routine for handling size field.
  474.     (list_full_charset, list_concise_charset): Adapt to using it.
  475.  
  476. Thu Dec 16 07:03:00 1993  Francois Pinard  (pinard@icule)
  477.  
  478.     * charset.c: Add cleanup_charset_name, use it in find_charset,
  479.     declare_alias and decode_charset_name.  Rename compare_hash_name
  480.     to compare_struct_hash.
  481.     (list_all_charsets): Repeat the name even if it is not alias,
  482.     because it has been cleaned up.
  483.     Reported by Keld J|rn Simonsen.
  484.  
  485. Tue Dec 14 11:45:53 1993  Francois Pinard  (pinard@icule)
  486.  
  487.     * charset.pl: Generating charset.h instead of charset.c.
  488.     * charset.c: New.
  489.     * recode.c (prepare_charset_initialization): New.
  490.     (hash_string, find_charset, declare_alias, make_argmatch_array,
  491.     decode_charset_name, compare_hash_name, list_all_charsets,
  492.     list_full_charset, list_concise_charset): Moved into charset.c,
  493.     together with a few defines, struct hash and related declarations.
  494.     * Makefile.in: Adjusted.
  495.  
  496. Mon Dec 13 12:55:24 1993  Francois Pinard  (pinard@icule)
  497.  
  498.     * Renaming rfc1345.c into charset.c, rfc1345.pl into charset.pl,
  499.     rfc1345.sed into charset.sed and rfc1345.LOG into charset.LOG.
  500.     * Makefile.in, charset.pl: Adjusted.
  501.  
  502.     * charname.c: New.
  503.     * charname.pl, charname.sed: New, for generating charname.h.
  504.     * Makefile.in: Adjusted.
  505.     * recode.h: Add declaration for charname_to_comment.
  506.     * recode.c: list_charsets renamed to list_all_charsets.
  507.     New functions list_full_charset and list_concise_charset, enum and
  508.     variable list_format.  Decode the list format, check for a charset
  509.     argument and switch to the proper listing function.
  510.  
  511.     * acconfig.h: New, for holding DEFAULT_CHARSET.
  512.     * Makefile.in: Distribute it, have .stamp-h.in depend on it.
  513.     * configure.in: Substitute DEFAULT_CHARSET instead of DEFCHARSET.
  514.  
  515.     * configure.in: Include $LEXLIB in $LIBS when $LEX is flex, so the
  516.     yy_flex_alloc test will not always fail, waiting for a version of
  517.     Autoconf which will do this itself.
  518.     * Makefile.in: Do not add @LEXLIB@ to LIBS anymore.
  519.     Reported by Andreas Schwab.
  520.  
  521.     * checkit: Replace `+' by `*' in grep calls.
  522.     Reported by Andreas Schwab.
  523.  
  524.     * recode.c (usage): Replace --include by --header in text.
  525.  
  526. Sat Dec 11 08:39:58 1993  Francois Pinard  (pinard@icule)
  527.  
  528.     * recode.c (list_charsets): Move all aliases of a charset after
  529.     the true charset name on its line, keeping lines sorted on the
  530.     true charset name and all alias in lexicographical order.  All
  531.     charset and aliases used to be sorted together, one per line. 
  532.     (compare_hash_names): Sort accordingly.
  533.     Reported by Martin Maechler.
  534.  
  535.     * recode.c: Add make_argmatch_array and decode_charset_name.  Use
  536.     them, simplifying decode_before_after.  Process ignored_charset
  537.     even for the -a option.  Add print_truncated_charset_name and use
  538.     it to simplify report_about_all_sequences, not reporting an
  539.     unachievable recoding when ignored_charset is specified.
  540.  
  541.     * recode.c (find_sequence): Ensure verbose is executed even if no
  542.     path has been found, instead of returning early.
  543.  
  544.     * recode.c (optimize_sequence): Remove the compute_arrays
  545.     parameter, because report_about_all_sequences now studies the
  546.     produced arrays.  Callers changed.
  547.  
  548.     * recode.c (optimize_sequence): While merging rfc1345 steps, also
  549.     merge qualities instead of assuming REVERSIBLE.
  550.     Reported by Rejean Payette.
  551.  
  552.     * recode.h: Declare strict_mapping.
  553.     * recode.c (complete_pairs): Do not set quality, this is done
  554.     elsewhere in all cases.  But do preset the file recoding routine.
  555.     * applemac.c, atarist.c, nextstep.c: In declare_step calls, lower
  556.     the recoding quality to some *_TO_MANY whenever strict mapping is
  557.     in use, also specify NULL as the file recoding routine because
  558.     complete_pairs now initializes it.
  559.     * ibmpc.c: Idem.  But override file_recode after complete_pairs.
  560.  
  561.     * ibmpc.c (file_latin1_ibmpc, file_ibmpc_latin1): Repeat the
  562.     algorithm, but using the one_to_many table when strict mapping.
  563.  
  564.     * recode.c (declare_double_step): Create both single steps without
  565.     the help of declare_step, this spares four probes in the charset
  566.     table per call.
  567.  
  568. Fri Dec 10 00:02:19 1993  Francois Pinard  (pinard@icule)
  569.  
  570.     * recode.h: Add CHARSET and struct charset, use CHARSET *before
  571.     and after instead of int start_charset and goal_charset in STEP,
  572.     declare rfc1345 as CHARSET * instead of int, delete struct
  573.     double_link and rfc1345_link declaration and rather include the
  574.     DOUBLE_TABLE right in CHARSET, add a DOUBLE_TABLE parameter to
  575.     declare_double_step,
  576.     * recode.c: Make all necessary related changes.  Renaming of many
  577.     variables and cleanup, too numerous to report here.  Delete
  578.     name_from_value and ignored_array in favor of new CHARSET fields.
  579.  
  580.     * recode.c: Change :rfc1345 to rfc1345.  Add `.' as an alias.
  581.     (report_about_all_sequences): Avoid rfc1345 instead of avoiding
  582.     names beginning with colon.
  583.  
  584.     * applemac.c: Renamed (once again) from macintosh.c.  The codes
  585.     will be kept different until further study.  Comment out the
  586.     aliasing of applemac to macintosh.
  587.     * ibmpc.c: Comment out the aliasing of ibmpc to ibm437, because
  588.     making the codes equivalent requires further study.
  589.     * Makefile.in: Adjusted.
  590.  
  591.     * recode.c: Implement --ignore (-x) option and ignored_array.
  592.     (find_charset): Progressively initialize ignored_array to zero.
  593.     (find_sequence): Ignore steps with an ignored start charset.
  594.     (decode_before_after): Process the ignored charset.
  595.  
  596.     * recode.c (usage): Make the output little more legilable through
  597.     spacing.  Insist on -l, mention the Info documentation, propose a
  598.     few selected charsets.
  599.     Reported by Martin Maechler.
  600.  
  601.     * recode.c: Rename make_include_mode into make_header_mode,
  602.     include_name into header_name, output_include_file into
  603.     output_header_file, turn --include option name into --header.
  604.  
  605.     * recode.c: Add before_name and after_name, use them in
  606.     decode_before_after and in output_header_file.  This prevents
  607.     the spurious canonalization of alias charset names.
  608.  
  609.     * recode.c: Implement --strict (-s) option.
  610.     (complete_pairs): Accept a step parameter and slip the generated
  611.     table in it instead of returning the table.  Adjust for --strict.
  612.     (init_recode_rfc1345): Adjust for complete_pairs.
  613.     * atarist.c, macintosh.c, nextstep.c: Idem.
  614.     * ibmpc.c: Idem.  Also rewrite code for --graphics (-g).
  615.  
  616.     * recode.h: Declare ascii_graphics, diacritics_only and
  617.     diaeresis_char.
  618.     * ibmpc.c: Delete the ascii_graphics declaration.
  619.     * lat1ltex.c, ltexlat1.l: Delete the diacritics_only declaration.
  620.     * ascilat1.l, txtelat1.l: Delete the diaeresis_char declaration.
  621.     * mergelex.awk: Have it work when there is no %{ ... %}    part.
  622.  
  623.     * recode.c (report_about_all_sequences): Report charsets which are
  624.     dynamically discoverd to recode identically by "ONE to SAME".
  625.  
  626.     * recode.c: Declare HASH_TABLE_SIZE, hash_string.  Rewrite
  627.     find_charset and declare_alias to use hashing.  Also adjust
  628.     list_charsets and decode_before_after.
  629.  
  630. Thu Dec  9 18:39:41 1993  Francois Pinard  (pinard@icule)
  631.  
  632.     * recode.c: Delete name_from_value function, replace with an
  633.     array of same name.  Delete field refer from struct charset,
  634.     initialize and use name_from_value instead.
  635.  
  636.     * Makefile.in (clean): Remove *.a, for librec.a.
  637.     Reported by Pierre Gaumond.
  638.  
  639.     * Makefile.in (clean): Move in *.o from mostlyclean.
  640.  
  641.     * rfc1345.pl: Print progress on stderr, for entertaining me.
  642.     Document aliases in rfc1345.texi through English sentences.
  643.  
  644. Wed Dec  8 00:15:51 1993  Francois Pinard  (pinard@icule)
  645.  
  646.     * flexlib.c: New, for -lfl does not work everywhere.
  647.     * mergelex.awk: Produce a yywrap function in section 3.
  648.     * configure.in: Configure flexlib.o in LIBOBJS if necessary.
  649.     * Makefile.in: Adjusted accordingly.
  650.  
  651.     * recode.c (name_from_value): Renamed from true_charset_name.
  652.     (find_charset): Add a "create" parameter, merge in new_charset.
  653.     (new_charset): Deleted.  All callers changed.
  654.  
  655.     * recode.h: If not __STDC__, have _() return (), not empty.
  656.     Reported by Pierre Gaumond.
  657.  
  658.     * Makefile.in (distclean): Remove config.h.
  659.  
  660.     * bangbang.c, cdcnos.c: Use "while (x = y, x != z)" instead of
  661.     "while ((x = y) != z)".
  662.  
  663.     * install.sh: Attach execute permission to this file.
  664.     Reported by Pierre Girard.
  665.  
  666.     * lat1ltex.c: Produce {\i} instead of \i{}.  It's nicer.
  667.     Reported by Pierre Girard.
  668.  
  669.     * recode.c: Declare argmatch.  Default charsets were not obeyed.
  670.     (decode_before_after): When DEFAULT_CHARSET is defined, use it
  671.     instead of the empty string when calling argmatch.
  672.     (find_charset): Do not check for empty strings anymore.
  673.  
  674. Tue Dec  7 08:54:14 1993  Francois Pinard  (pinard@icule)
  675.  
  676.     * Makefile.in (install): Add recode.info in dependencies.
  677.  
  678.     * recode.c: Use USE_TMPNAM to bracket out old tmpnam code out and
  679.     USE_TMPFILE to allow in new tmpfile code.
  680.     (execute_pass_sequence):  Use tmpfile instead of tmpnam.
  681.     Reported by Bastian Schlueter (suggests that -i => -o on NeXT).
  682.     Reported by Ronald C.F. Antony.
  683.     Reported by Andreas Schwab.
  684.  
  685.     * recode.c (output_include_file): Ensure a valid C identifier for
  686.     the table name.  RFC 1345 uses bizarre names in that respect.
  687.  
  688.     * recode.c (main): While moving the new file over the original,
  689.     properly diagnose any failure.
  690.     Reported by David Lebel.
  691.  
  692.     * recode.c: Add decoding_charset_flag.
  693.     (usage): Print `Try recode --list' instead of `Try recode --help'
  694.     whenever decoding_charset_flag is true.
  695.     (decode_before_after): First set, then reset decoding_charset_flag.
  696.  
  697.     * recode.c (echo_sequence): Use a shorter print format, now that
  698.     we have real long charset names...
  699.  
  700.     * recode.c: Revert to using a `struct charset' to handle names and
  701.     alias.  Turn charset_name into true_charset_name and charset_value
  702.     into find_charset.
  703.  
  704.     * Makefile.in (LIBOBJS): Put more on the second line, because if
  705.     @LIBOBJS@ is substituted empty, some make's barf at last `\'.
  706.     (recode.dvi): TEXI2DVI was mispelled.
  707.     Reported by Martin Maechler.
  708.  
  709.     * recode.c: Implement --list (-l) to alleviate Usage message.
  710.     (compare_charset_names, list_charsets): New.
  711.  
  712. Mon Dec  6 12:13:32 1993  Francois Pinard  (pinard@icule)
  713.  
  714.     * rfc1345.txt: New, from elsewhere.
  715.     * rfc1345.sed, rfc1345.pl: New.
  716.     * Makefile.in: Handle rfc1345.c, distribute all of these.
  717.     * recode.c (declare_double_step): New.
  718.     (optimize_sequence): Replace all double steps through :rfc1345 by
  719.     a single step which will properly initialize itself.  Diagnose any
  720.     remaining single step which uses :rfc1345 explicitely.
  721.     (register_all_modules): Make latin1 an alias for iso-8859-1-1987.
  722.     (report_about_all_sequences): Truncate the charset
  723.     names as needed, avoid considering charsets named `:*' alone.
  724.     (usage): Avoid printing `:*' steps as available.
  725.     * ascilat1.l, cdcnos.c, ebcdic.c, flat.c, lat1asci.c: Change name
  726.     of ascii charset to ascii-bs, keeping it separate from RFC 1345.
  727.     * ibmpc.c: Make ibmpc an alias for ibm437.
  728.     * Makefile.in (check): Adjusted for ascii-bs.
  729.  
  730.     As a side result of all this, more charsets are supported.
  731.     Reported by Per ?: who wanted IBM codepages in recode.
  732.     Reported by Hermann Hueni: who wanted Roman8 in recode.
  733.  
  734.     * Makefile: Merge C_STEPOBJS and L_STEPOBJS into STEPOBJS.
  735.  
  736.     * recode.c: Make -h argument optionnal, it was mandatory.
  737.     * recode.c: Include the quality in -a and -v output, repeat -v
  738.     output after step optimization if this changed something.
  739.  
  740.     * recode.h: Declare enum quality, QUALITY, quality_to_string and
  741.     merge_qualities.  From STEP, delete the multichar_input,
  742.     multichar_output, loosing and reversible fields.  Add one QUALITY
  743.     argument and two functionnal arguments to declare_step.
  744.     * all: Implement the preceeding changes.
  745.  
  746.     * recode.h: Use the _((...)) device more systematically.
  747.     Declare xmalloc.
  748.  
  749. Sun Dec  5 00:09:19 1993  Francois Pinard  (pinard@icule)
  750.  
  751.     * ascilat1.l, bangbang.c, cdcnos.c, ibmpc.c, iconqnx.c,
  752.     lat1asci.c, lat1ltex.c, lat1txte.c, ltexlat1.l, macintosh.c,
  753.     txtelat1.l: Avoid using octal and hexadecimal, stick to using
  754.     decimal.  Define constants when this helps source readability. 
  755.     * flat.c: Replace octal masks with "<<" expressions.
  756.     * unhexify.l: New file.
  757.     * Makefile.in: Distribute it.
  758.     (detecthex, unhexify): New goals.
  759.  
  760.     * atarist.c: New charset.
  761.     * Makefile.in: Adjusted.
  762.     * recode.c: Use "atarist" as DEFAULT_CODE if atarist is defined.
  763.     Reported by Andreas Schwab.
  764.  
  765.     * nextstep.c: New charset.
  766.     * Makefile.in: Adjusted.
  767.     Reported by Bastian Schlueter.
  768.     Reported by Ronald C.F. Antony.
  769.  
  770.     * flat.c: Do not declare cccascii nor cdcascii.  Delete
  771.     file_drop_8th_bit.
  772.  
  773.     * recode.c (complete_pairs): Produce better diagnostics.
  774.     Allow for NULs in known pairs, even if currently unused.
  775.  
  776. Sat Dec  4 14:00:39 1993  Francois Pinard  (pinard@icule)
  777.  
  778.     * Makefile.in: Use .stamp-h.in to solve Autoconf problems.
  779.     Distribute mkinstalldirs and install.sh.  Use mkinstalldirs.
  780.     * mkinstalldirs: New, from elsewhere.
  781.     * install.sh: New, from elsewhere.
  782.  
  783.     * Makefile.in (recode.info): On $(MAKEINFO) call, use
  784.     "-I$(srcdir)" instead of "-o recode.info".
  785.  
  786.     * ebcdic.c: Inclusion of GNU dd's "ibm" recoding, with two
  787.     modifications so the recoding becomes reversible.  Removal of
  788.     static inverse tables, dynamically recreate them instead.
  789.     Replacement of cccascii and cdcascii by ascii, use ebcdic-ccc
  790.     instead of ebcdic in the context of disappearing cccascii.
  791.     * recode.c (invert_table): New.
  792.     * recode.h: Declare it.
  793.  
  794.     * recode.c: Replace CHARSET struct and charset_array by
  795.     charset_name_array and charset_value_array, then make all
  796.     necessary changes.  Use argmatch for charsets.
  797.     * argmatch.c: New, from elsewhere.
  798.     * $(C_STEPS), $(L_STEPS):  Remove all four letter aliases, except
  799.     "ltex" for "latex" and "txte" for "texte".
  800.     * recode.c (register_all_modules): Declare "lat1" as an alias for
  801.     "latin1".
  802.     * macintosh.c: Renamed from old applemac.c.  Declare "macintosh"
  803.     as the charset name and "applemac" as an alias.
  804.     * Makefile.in: Adjusted.
  805.     (check): Write charsets in full.
  806.     
  807. Fri Dec  3 01:08:44 1993  Francois Pinard  (pinard@icule)
  808.  
  809.     * Makefile.in: Add .stamp-collect for preventing initstep.h to be
  810.     uselessly touched, this was causing recode.c recompilations.
  811.  
  812.     * recode.c: Implement output_include_file.
  813.  
  814.     * recode.c: Extract file_mere_copy from execute_sequence, then
  815.     implement file_one_to_one, file_one_to_many, merge_steps and
  816.     optimize_sequence.
  817.     * recode.h: Declare these when not static.
  818.     * flat.c: Use file_mere_copy instead of NULL as file_recode.
  819.     * applemac.c, ebcdic.c: Use file_one_to_one.
  820.     * bangbang.c, cdcnos.c, lat1asci.c, lat1ltex.c, lat1txte.c: Use
  821.     file_one_to_many.
  822.  
  823.     * recode.h: Rename STEP field recode_file to file_recode and make
  824.     it return void instead of int, add init_recode and one_to_one
  825.     fields, declare KNOWN_PAIR structure and complete_pairs function.
  826.     * recode.c, $(C_STEPS), $(L_STEPS), mergelex.awk: Adjust.
  827.     * recode.c (declare_step): Initialize new fields.
  828.     (find_sequence): Initialize planned steps when possible.
  829.     (complete_pairs): New, adapted from maketabl.c.
  830.     * applemac.c: Use initialization and include macilat1.mtb table.
  831.     * ibmpc.c: Use initialization and include ibmplat1.mtb table.
  832.     * macilat1.mtb, ibmplat1.mtb, maketabl.c: Deleted.
  833.     * Makefile.in: Adjusted.
  834.  
  835.     * ltexlat1.l: Use {After} at more places, "accro\^\i tre" was not
  836.     recoded at all.
  837.  
  838. Thu Dec  2 15:29:40 1993  Francois Pinard  (pinard@icule)
  839.  
  840.     * recode.c, all $(C_STEPS), all $(L_STEPS): Include "recode.h"
  841.     instead of "config.h".
  842.     * recode.h: New.
  843.  
  844.     * all $(C_STEPS): Delete "#define STEP <name>", because STEP will
  845.     be a describing structure from now on.  Add module_<name> function
  846.     for initializing STEPs.  Rename void STEP() to static int
  847.     recode_file(), add a first parameter for transmitting STEP.
  848.     * all $(L_STEPS): Delete "#define STEP <name>" and instead, use
  849.     "/* Step name: <name>.  */".
  850.     * mergelax.awk: Do the proper thing with /* Step name: <name>.  */
  851.     * steps.h: Deleted.  Information which was contained there has
  852.     been spread out in modules instead, for adding flexibility.
  853.     * recode.c: Initialize all modules by including "initstep.h".
  854.     * Makefile.in: Dependencies for recode.h and initstep.h.
  855.     (initstep.h): Make it by extracting module_* lines from sources.
  856.  
  857.     * recode.c: Rename MAX_CONVERSION into MAX_SEQUENCE.  Introduce
  858.     MAX_CHARSETS, MAX_SINGLE_STEPS, charset structure and array,
  859.     single_step array and related counters, functions declare_step
  860.     and declare_alias.  Many other renaming of variables, too
  861.     numerous for here.  Adapt all of the code so this works.
  862.     * xmalloc.c, xstrdup.c: New, from elsewhere.
  863.  
  864.     * bangbang.c: Merged from lat1bang.c and banglat1.c.
  865.     * cdcnos.c: Merged from ascicdcn.c and cdcnasci.c.
  866.     * ebcdic.c: Merged from cccaebcd.c, cdcaebcd.c, ebcdccca.c and
  867.     ebcdcdca.c.
  868.     * flat.c: Merged from asc8asc7.c and asciflat.c.
  869.     * ibmpc.c: Merged from lat1ibmp.c and ibmplat1.c.
  870.     * iconqnx.c: Merged from ibmpicon.c and iconibmp.c.
  871.     * Makefile.in: Adjusted.
  872.  
  873.     The net effect of all these changes is that charsets or their
  874.     single step methods are now easily configurable out of recode by
  875.     merely deleting them from C_STEPOBJS or L_STEPS in Makefile.
  876.     Reported by Claude Goutier.
  877.  
  878. Wed Dec  1 10:13:37 1993  Francois Pinard  (pinard@icule)
  879.  
  880.     * ltexlat1.l: Ensure \'{e} is recognized as \'e.
  881.     Reported by Pierre Girard.
  882.  
  883.     * txteasci.l: Deleted for easing maintainance, there was too much
  884.     common code with txtelat1.l, and also, the "texte" charset is
  885.     prone to loosing characters, when used as an intermediate.
  886.     Reported by Claude Goutier.
  887.  
  888.     * ascitxte.l: Deleted likewise, almost same functionnality is
  889.     available through lat1txte.c.
  890.     * ltexasci.l: Deleted for easing maintainance, there was too much
  891.     common code with ltexlat1.l.
  892.     * asciltex.l: Deleted likewise, almost same functionnality is
  893.     available through lat1ltex.c.
  894.     * lat1asci.c: New, so "ascii" charset is connected to others.
  895.     * ascilat1.l: New, for same reason.
  896.     * Makefile.in: Adjusted.
  897.  
  898.     * Makefile.in (check): Diagnose unachievable recodings.
  899.     * recode: Implement --auto-check (-a) option.
  900.     (report_about_all_sequences): New.
  901.     (find_sequence): When recoding is not possible, return with a
  902.     negative value in length_of_sequence, do not call error.
  903.     (main): Call error if recoding is not possible.
  904.  
  905.     * configure.in: Replace DEFAULTCODE by DEFCHARSET.
  906.     * Makefile.in: Same, plus replace DEFAULT_CODE by DEFAULT_CHARSET.
  907.     * recode.c: Same, plus replace [*_]code[_*] by [*_]charset[_*],
  908.     NUMBER_OF_KEYWORDS by NUMBER_OF_CHARSETS and keyword_index by
  909.     charset_index.
  910.     * steps.h: Same things.
  911.  
  912.     * recode.c (usage): Tell which is the default code value.
  913.  
  914.     * recode.c: Implement --graphics (-g) option, and ascii_graphics.
  915.     * ibmplat1.c: Rename graphics_mode to ascii_graphics, making it
  916.     external.  Use, document and revise CONVERT_GRAPHICS constant,
  917.     introducing "round" corners and more systematic principles.
  918.  
  919. Tue Nov 30 09:35:04 1993  Francois Pinard  (pinard@icule)
  920.  
  921.     * recode.c: Process long options, then --help and --version.
  922.     Rename usage_and_exit() into usage(), accepting a parameter,
  923.     print a reminder about --help on stderr when in error, else
  924.     the longer usage message on stdout.  Adjust all calls.
  925.     (print_copyright): Deleted, use copyright_string instead.
  926.     (print_version): Deleted, use version_string instead.
  927.     * getopt1.c: New.
  928.     * Makefile.in: Take care of getopt1.c.
  929.  
  930.     * HINTS: New file, to let README be smaller.
  931.  
  932.     * steps.h: Remove ENUM_INT_BUG code.  The README did announce that
  933.     this code will disappear if nobody report it as necessary.
  934.  
  935.     * banglat1.c: Add "!;" to \346 for "ae" and "!<" to \367 for "oe".
  936.     * lat1bang.c: Do the converse translatation.  "oe" is a kludge!
  937.     Reported by Pierre Gaumond.
  938.  
  939.     * checkit: Always output "Checking" messages, regardless of -v.
  940.     Have those messages resembling more to the actual recode calls.
  941.     Remove now useless error identification messages.
  942.     Use "cmp -s" instead of "diff" for comparing files.
  943.     * Makefile.in: Use $(SHELL) instead of sh in CHECKTEST. Remove -v.
  944.  
  945. Mon Nov 29 10:23:39 1993  Francois Pinard  (pinard@icule)
  946.  
  947.     * recode.c (main): Declare argv as "char *const *argv" instead of
  948.     "const char *argv[]", for avoiding conflicts with some getopt().
  949.     Reported by Stephane Berube.
  950.     Reported by Andreas Schwab.
  951.  
  952.     * Makefile.in (Makefile): Use $(SHELL).
  953.     (config.status): Use "$(SHELL) config.status --recheck" instead    of
  954.     "configure --no-create".
  955.  
  956.     * Makefile.in (LIBS): Include @LEXLIB@, Flex 2.4.1 needs this.
  957.     * configure.in: Test AC_ISC_POSIX earlier, AC_PROG_LEX needs it.
  958.  
  959.     * txteasci.l: Move texte_ascii_diaeresis in section 3, because
  960.     Flex 2.4.1 does not get YY_CHAR defined for section 1.
  961.     * txtelat1.l: Move texte_latin1_diaeresis in section 3.
  962.     * mergelex.awk: Deeply revised.  Now able to merge Flex sources
  963.     having a non-empty section 3.  No more forward declarations for
  964.     yytext, yyleng, etc.  The output begins with a warning comment
  965.     saying this is a derived file, followed by the first block comment
  966.     found in any input file.  Produce an output cleaner for the eye.
  967.     * Makefile.in (merged.c): Remove synchronization directives, they
  968.     are useless for now.  Delete new temporary files merged[123].tmp.
  969.  
  970. Wed Jun  9 15:00:58 1993  Francois Pinard  (pinard@icule)
  971.  
  972.     * Makefile.in (dist): Replace "echo `pwd`" by a mere "pwd".
  973.     Adapt to the .gz change.
  974.  
  975. Thu May  6 18:44:53 1993  Francois Pinard  (pinard@icule)
  976.  
  977.     * asciflat.c: Transmit TAB and BKS, instead of using ^I or ^H.
  978.     However, BKS for applying a diacritic will still disappear.
  979.     Reported by Marc Verreault.
  980.  
  981.     * Makefile.in: Use $U prefix for defining the .o dependencies over
  982.     include files obtained through maketabl.
  983.     Reported by Claude Goutier.
  984.  
  985.     * c-boxes.el, cccaebcd.c, ebcdccca.c, getopt.[ch], iconibmp.c,
  986.     maketabl.c, mergelex.awk, recode.c, recode.texi, steps.h,
  987.     txteasci.l: Remove spurious suffix whitespace.
  988.     Reported by Claude Goutier.
  989.  
  990. Tue May  4 07:58:26 1993  Francois Pinard  (pinard@icule)
  991.  
  992.     * Makefile.in (dist): Use a gzipping tar, not a compressing one.
  993.  
  994.     * checkit: Make checkit.tmp writeable, so it can be removed.  It
  995.     is commonly obtained by cp'ing COPYING.
  996.  
  997. Mon May  3 21:19:45 1993  Francois Pinard  (pinard@icule)
  998.  
  999.     * recode.c (execute_pass_sequence): Reverse the test on
  1000.     input_name, controlling the fclose (input_file).
  1001.     Reported by David Lebel.
  1002.     Reported by Andreas Schwab.
  1003.  
  1004.     * maketabl.c: New.
  1005.     * Makefile.in: Distribute maketabl.c, use it for processing
  1006.     ibmplat1.mtb and macilat1.mtb, take care of all dependencies.
  1007.  
  1008.     * ibmplat1.mtb: New.
  1009.     * ibmplat1.c: Use ibmplat1.h, while implementing graphics_mode.
  1010.     This have the side effect of correcting the 1/2 symbol, which was
  1011.     translated to 1/4, and the 1/4 symbol, which was translated to <<.
  1012.     * lat1ibmp.c: Use lat1ibmp.h.
  1013.     * steps.h: Replace LOOSE by EXACT for ibmp from/to lat1 entries.
  1014.     Reported by Robert Joop.
  1015.  
  1016.     * macilat1.mtb, macilat1.c, lat1maci.c: New.
  1017.     * ibmpmaci.c, maciibmp.c: Deleted.
  1018.     * steps.h: Remove old maci from/to ibmp, add new maci from/to lat1.
  1019.     Reported by Joelle Stemp: copy of Macintosh character tables.
  1020.     Reported by Jacques Richer: end of lines represented by 0x0d.
  1021.  
  1022. Sat Feb  6 10:29:43 1993  Francois Pinard  (pinard@icule)
  1023.  
  1024.     * Makefile.in: In dist goal, ensure 777 mode for directories, so
  1025.     older tar's will restore file modes properly.
  1026.  
  1027.     * asciflat.c: Remove old commented lex code.  Remove a useless
  1028.     `case EOF:' from inner switch, the logic will work anyway.
  1029.  
  1030. Sun Jan 17 15:50:28 1993  Francois Pinard  (pinard@icule)
  1031.  
  1032.     * Makefile.in: Put $(CFLAGS) after $(CPPFLAGS), so the installer
  1033.     can override automatically configured choices.
  1034.     Reported by Karl Berry.
  1035.  
  1036. Sat Jan 16 09:54:03 1993  Francois Pinard  (pinard@icule)
  1037.  
  1038.     * checkit: Do not call recode in verbose mode on /dev/null prior
  1039.     to the first "Checking" message.  Rather call recode in verbose
  1040.     mode only once, combined within the first test in a series.
  1041.  
  1042. Thu Jan 14 01:15:23 1993  Francois Pinard  (pinard@icule)
  1043.  
  1044.     * configure.in: Use AC_CONST.
  1045.  
  1046.     * Makefile.in: Distribute getopt.h.  Add as getopt.o dependency.
  1047.     Reported by Pierre Gaumond.
  1048.  
  1049. Wed Jan 13 10:38:25 1993  Francois Pinard  (pinard@icule)
  1050.  
  1051.     * recode.c: Merge in version.c.
  1052.     * version.c: Deleted.
  1053.  
  1054.     * All .c, mergelex.awk: Conditionnally include config.h, and do
  1055.     not include common.h anymore.  Update Copyright year lists.
  1056.     * common.h: Deleted.
  1057.     * Makefile.in: Do not distribute common.h, but do distribute
  1058.     config.h.in.  Have all objects depend upon config.h.  Force -I. in
  1059.     CPPFLAGS so config.h will be found whenever --srcdir is used.
  1060.     Newer version of autoconf related goals.
  1061.     * configure.in: Use AC_CONFIG_HEADER.
  1062.     * checkit: Study config.h instead of config.status.
  1063.  
  1064.     * Makefile.in: Use texi2dvi instead of tex.
  1065.     Reported by Martin Maechler.
  1066.  
  1067.     * Makefile.in: Cleanup and reorganization.  New info and dvi
  1068.     goals.  Remove recode.info from all.  Define and use MAKEINFO and
  1069.     TEXI2DVI.  Use ALLOCA, because of getopt.  Distribute THANKS file.
  1070.     Rename HDRS, SRCS and OBJS into HEADERS, SOURCES and OBJECTS.
  1071.     Merge LIBSRCS and MSDOS_OBJS, remove them.
  1072.  
  1073.     * alloca.c: New, from elsewhere.
  1074.     * configure.in: Use AC_ALLOCA.
  1075.  
  1076.     * getopt.c: Use more recent version.
  1077.     * getopt.h: New, from elsewhere.
  1078.  
  1079.     * recode.c: Replace tempnam by tmpnam.  Always allocate the
  1080.     temporary file names statically, because some tmpnam's require
  1081.     this.  Also delay tmpnam until open time, for NeXT's.
  1082.     * pathmax.h: New, from elsewhere.
  1083.     * Makefile.in: Distribute pathmax.h.
  1084.     Reported by Andreas Mueller.
  1085.  
  1086.     * configure.in: Replace AC_USG by AC_HAVE_HEADERS(string.h).
  1087.     * recode.c: Replace USG test by HAVE_STRING_H test.
  1088.  
  1089.     * recode.c: Everywhere, use error instead of assert or perror.
  1090.     Include errno.h and conditionnaly declare errno.  Reformulate
  1091.     `if ((var = value) == test)' by `if (var = value, var == test)'.
  1092.     Use error in place of `fprintf(stderr, ...); exit(EXIT_FAILURE)'.
  1093.     * error.c: New, from elsewhere.
  1094.     * Makefile.in: Use and distribute error.c.
  1095.  
  1096.     * recode.c: Remove unnecessary system prototypes.
  1097.  
  1098. Fri Jan  1 20:07:36 1993  Francois Pinard  (pinard@icule)
  1099.  
  1100.     * Makefile.in: Reinstate $(CPPFLAGS), use it.  Richard wants it
  1101.     there.
  1102.  
  1103. Sat Nov 28 20:47:17 1992  Francois Pinard  (pinard@icule)
  1104.  
  1105.     * Makefile.in (clean, distclean): Remove ansi2knr rubbish.
  1106.     Reported by Pierre Gaumond.
  1107.  
  1108.     * Makefile.in: Remove all .PHONY's.
  1109.  
  1110. Wed Nov 18 14:03:21 1992  Francois Pinard  (pinard@icule)
  1111.  
  1112.     * Makefile.in: Add definition for INSTALL.
  1113.     Reported by Larry W. Virden.
  1114.     Reported by Bastian Schlueter.
  1115.     Reported by Ronald C.F. Antony.
  1116.  
  1117. Wed Nov 18 13:38:39 1992  Jim Meyering  (meyering@idefix.comco.com)
  1118.  
  1119.     * recode.c (most functions): Declare static.
  1120.  
  1121.     * ascicdcn.c, cccaebcd.c, cdcaebcd.c, ebcdccca.c,
  1122.     ebcdcdca.c, ibmplat1.c, ibmpmaci.c, lat1bang.c,
  1123.     lat1ibmp.c, lat1ltex.c, lat1txte.c, maciibmp.c, recode.c,
  1124.     steps.h: Declare with const attribute all static tables
  1125.     and pointer variables that traverse them.
  1126.  
  1127.     * recode.c: Declare `sequence' to be an array of const pointers.
  1128.     (find_sequence): Declare the `step' field of critical_tree
  1129.     with const attribute.
  1130.  
  1131.     * steps.h [struct keyword_struct]: Separate type definition
  1132.     and variable declaration.
  1133.  
  1134. Fri Nov 13 00:12:01 1992  Francois Pinard  (pinard@icule)
  1135.  
  1136.     * Makefile.in (dist): chmod a+r before making the tar file.
  1137.  
  1138. Thu Nov 12 23:58:02 1992  Francois Pinard  (pinard@icule)
  1139.  
  1140.     * aclocal.m4: Update FP_STDC_CHECK, replacing by FP_PROTOTYPES.
  1141.     * configure.in: Adjust accordingly.
  1142.  
  1143. Wed Oct  7 17:58:32 1992  Francois Pinard  (pinard@icule)
  1144.  
  1145.     * Version 3.2.4 to alt.sources, and later on prep.
  1146.  
  1147. Tue Oct  6 12:51:42 1992  Francois Pinard  (pinard@icule)
  1148.  
  1149.     * Makefile.in: Use exec_prefix.  Add `uninstall'.
  1150.  
  1151. Tue Sep 29 14:57:26 1992  Francois Pinard  (pinard@icule)
  1152.  
  1153.     * recode.c: Define EXIT_SUCCESS and EXIT_FAILURE if not defined,
  1154.     even after inclusion of <stdlib.h>, for SunOS 4.
  1155.  
  1156.     * Makefile.in: Add a completion message to `make check'.
  1157.  
  1158.     * configure.in: Make the `WARNING:' bigger if no Flex.
  1159.  
  1160. Fri Sep 25 11:36:47 1992  Francois Pinard  (pinard@icule)
  1161.  
  1162.     * Version 3.2.3.
  1163.  
  1164.     * HINTS: New file, used to simplify README.
  1165.     * Makefile.in: Distribute HINTS.
  1166.  
  1167.     * configure.in: Remove tests for Apollo's and 286 systems.
  1168.     * steps.h: Replace XENIX by ENUM_INT_BUG.
  1169.     * HINTS: Tell about Apollo's and 286 systems installation hints.
  1170.  
  1171. Thu Sep 24 16:51:33 1992  Francois Pinard  (pinard@icule)
  1172.  
  1173.     * recode.c: Write `Recoding...' instead of `recoding...'.
  1174.  
  1175.     * asciflat.c: Insure looking one character ahead at all times.
  1176.     This also solves a bug by which the second diacritic of a pair of
  1177.     two diacritics in a row was not properly flattened out.
  1178.  
  1179. Wed Aug 26 10:40:11 1992  Francois Pinard  (pinard@icule)
  1180.  
  1181.     * ltexlat1.l: Given `*' is a diacritic operation, insure
  1182.     swallowing '{}' in `\*\i{}'.  Recognize also `\*{\i}'.
  1183.  
  1184.     * asciltex.l: Prefer `\c{c}' to `\c c'.
  1185.     * lat1ltex.c: Idem.
  1186.  
  1187.     * lat1ltex.c: Insure NULs will go through.
  1188.  
  1189.     * recode.c: Implement the -d `diacritics_only' option for LaTeX.
  1190.     * asciltex.l: Idem.
  1191.     * lat1ltex.c: Idem.
  1192.     * ltexasci.l: Idem.
  1193.     * ltexlat1.l: Idem.
  1194.  
  1195. Sun Aug 23 07:50:38 1992  Francois Pinard  (pinard@icule)
  1196.  
  1197.     * recode.texi: Merging in some other separate documents.
  1198.     * table.texi, DisplayCode: Deleted.
  1199.     * Makefile.in: Adjusted.
  1200.  
  1201.     * configure.in: Split FP_STDC_CHECK out into aclocal.m4.
  1202.     * aclocal.m4: New.
  1203.     * Makefile.in: Distribute aclocal.m4.
  1204.  
  1205.     * version.c: Insure next version will be 3.2.3, skipping 3.2.1 and
  1206.     3.2.2, jumping over parallel numbering at U. de Montre'al.
  1207.  
  1208. Wed Aug 19 16:33:25 1992  Francois Pinard  (pinard@icule)
  1209.  
  1210.     * ansi2knr: New, from Ghostscript distribution.
  1211.     * configure.in: Check for __STDC__ and define U.
  1212.     * Makefile.in: Use U and ansi2knr.
  1213.     * All .c's: Remove many __STDC__ checks.
  1214.     * mergelex.awk: Remove generation of __STDC__ checks.
  1215.  
  1216. Mon Jul 20 23:37:23 1992  Francois Pinard  (pinard@icule)
  1217.  
  1218.     * Makefile.in: Use various clean goals according to latest GNU
  1219.     standards.  Moreover, add a recode.dvi goal and a texclean goal.
  1220.  
  1221. Thu Jul 16 18:49:48 1992  Francois Pinard  (pinard@icule)
  1222.  
  1223.     * configure.in: Changes for Autoconf 0.120.  Also test for popen,
  1224.     even if almost any UNIX has it; so the user can later undefine it from
  1225.     DEFS; avoid testing for pipe because of an old bug in this area.
  1226.     * Makefile.in, recode.c, checkit, common.h: Replace all *_MISSING
  1227.     by HAVE_*.
  1228.  
  1229. Thu Jun 18 07:44:58 1992  Francois Pinard  (pinard@icule)
  1230.  
  1231.     * Makefile.in: Changes for Autoconf 0.118.  Use AWK and LEX
  1232.     instead of GAWK and FLEX.
  1233.  
  1234. Thu Jun  4 21:48:53 1992  Francois Pinard  (pinard@icule)
  1235.  
  1236.     * Makefile.in: Changes for Autoconf 0.115.  Use config.status to
  1237.     recreate Makefile from Makefile.in.
  1238.     * checkit: Retrieve DEFS value from config.status instead of
  1239.     Makefile.
  1240.  
  1241. Mon Jun  1 23:06:44 1992  Francois Pinard  (pinard@icule)
  1242.  
  1243.     * Makefile.in, configure.in: Changes for Autoconf 0.112.  Avoid
  1244.     FP_PROG_MAKEINFO and use `makeinfo' directly.
  1245.     * checkit: Get DEFS from Makefile instead of from config.status.
  1246.  
  1247. Sun Feb  2 16:23:11 1992  Francois Pinard  (pinard@icule)
  1248.  
  1249.     * recode.c (main): Returns int.
  1250.  
  1251. Thu Jan 30 12:14:44 1992  Francois Pinard  (pinard@icule)
  1252.  
  1253.     * Makefile.in: Use new names for clean goals.
  1254.  
  1255. Mon Dec  2 20:30:53 1991  Francois Pinard  (pinard@icule)
  1256.  
  1257.     * steps.h, recode.c: Removed comma at end of enum's.
  1258.  
  1259.     * version.c: Added a few const's.
  1260.  
  1261. Sat Nov 30 23:40:39 1991  Francois Pinard  (pinard@icule)
  1262.  
  1263.     * recode.c: Use EXIT_FAILURE and EXIT_SUCCESS; define them if not
  1264.     STDC_HEADERS.
  1265.  
  1266.     * recode.c: Prototypes added for fstat, getopt, link, perror,
  1267.     unlink and utime, if __STDC__.
  1268.  
  1269. Thu Nov  7 11:21:38 1991  Francois Pinard  (pinard@icule)
  1270.  
  1271.     * recode.texi: Should now be TeXable.
  1272.     * Makefile.in: Insure distributing texinfo.tex.
  1273.  
  1274.     * ibmpicon.c, iconibmp.c: Use 0x1E for QNX end of lines, 0x0E was
  1275.     wrong.
  1276.  
  1277.     * configure.in: Take care of POSIXish ISC.
  1278.  
  1279. Tue Nov  5 09:47:15 1991  Francois Pinard  (pinard@icule)
  1280.  
  1281.     * configure.in, Makefile.in: Do not absolutize $(srcdir), because
  1282.     this could create problems with automounters.
  1283.  
  1284.     * configure.in, Makefile.in: Remove IF_* devices, they were
  1285.     solving a problem caused only by non timestamping shars, and
  1286.     recode is now distributed in tar or zoo format.
  1287.  
  1288. Mon Nov  4 18:14:49 1991  Francois Pinard  (pinard@icule)
  1289.  
  1290.     * configure.in: Get rid of the head program, using sed.  I would
  1291.     also like, eventually, to get rid of file and grep programs too.
  1292.  
  1293. Fri Nov  1 12:30:59 1991  Francois Pinard  (pinard@icule)
  1294.  
  1295.     * recode.c (main): Use rename library routine if available.
  1296.     * configure.in: Check for rename availability.
  1297.  
  1298.     * Makefile.in: Insure gawk is executed in the source directory
  1299.     while preparing merged.c.
  1300.  
  1301.     * recode.c (execute_pipe_sequence): Close descriptor after dup2.
  1302.     Still bugged.
  1303.  
  1304.     * recode.c (code_index): Reject partial matches for keywords.
  1305.     Reported by Laurent Bourbeau.
  1306.  
  1307. Mon Oct 28 14:39:36 1991  Francois Pinard  (pinard@icule)
  1308.  
  1309.     * configure.in: New.
  1310.     * configure: Automatically regenerated from file configure.in
  1311.     and David MacKenzie's autoconf.
  1312.  
  1313. Mon Oct 28 12:08:31 1991  Francois Pinard  (pinard@icule)
  1314.  
  1315.     * Version 3.2.
  1316.  
  1317.     * all: Replace GPL version 1 by GPL version 2.
  1318.  
  1319.     * Makefile.in: Use `sh checkit' instead of `./checkit'.  For an
  1320.     unknown reason, the Sparc requires this.
  1321.  
  1322.     * recode.c: Define str[r]chr to be [r]index if not USG.
  1323.  
  1324.     * recode.c: Force binary mode on files for MSDOS.
  1325.  
  1326. Sun Oct 27 11:03:07 1991  Francois Pinard  (pinard@icule)
  1327.  
  1328.     * recode.c: MSDOS port.  tempnam(), utime(), link() and getopt()
  1329.     were missing; replacements inspired from by Rahul Dhesi's flip.
  1330.     * configdos.pl, config.tcc: New.
  1331.     * getopt.c: New, AT&T freed code.
  1332.     * Makefile.in: Adjustements for MSDOS port, dist.dos goal.
  1333.  
  1334. Fri Oct 25 09:35:10 1991  Francois Pinard  (pinard@icule)
  1335.  
  1336.     * recode.c (execute_popen_sequence, execute_pipe_sequence):
  1337.     Accept non filter mode.
  1338.     (execute_pipe_sequence): Wait for children.  Still bugged.
  1339.  
  1340.     * configure: Test dup2.
  1341.     * recode.c: Have DUP2_MISSING imply PIPE_MISSING, for now.
  1342.  
  1343.     * checkit: New.
  1344.     * Makefile.in: Use checkit in check goal.
  1345.  
  1346. Wed Oct 23 13:14:33 1991  Francois Pinard  (pinard@icule)
  1347.  
  1348.     * recode.c: Revert back to -v instead of -q.  Give the user some
  1349.     more control on the sequencing strategy through -i, -o and -p.
  1350.     Get rid of any USE_FILE, USE_POPEN and USE_PIPE.  However, keep
  1351.     POPEN_MISSING and PIPE_MISSING around, for MSDOS.  Segregating
  1352.     between `popen' and `pipe' is only experimental, while trying to
  1353.     have `pipe' working correctly.
  1354.  
  1355.     * configure, Makefile.in: New.  Many new configuration features.
  1356.     Among others, through IF_FLEX, be careful to never loose merged.c
  1357.     on those systems which do not have the machinery to remake it.
  1358.     * GNUmakefile, Makefile, Depends: deleted.
  1359.  
  1360. Sun Mar 31 17:50:04 1991  Francois Pinard  (pinard@icule)
  1361.  
  1362.     * mergelex.awk: remove exit() and read() definitions.
  1363.  
  1364. Tue Jan 22 13:58:43 1991  Francois Pinard  (pinard@icule)
  1365.  
  1366.     * ibmpicon.c, ibmplat1.c, ibmpmaci.c: Recognize old DOS end of
  1367.     file (0x1A).
  1368.  
  1369. Mon Jan 21 09:28:47 1991  Francois Pinard  (pinard@icule)
  1370.  
  1371.     * lat1bang.c, lat1txte.c: Have the no-break space converted to a
  1372.     single space.
  1373.  
  1374. Tue Jan 15 09:46:46 1991  Francois Pinard  (pinard@icule)
  1375.  
  1376.     * all: While/if ((var=exp) [test]) -> while/if (var=exp, var [test]),
  1377.     switch (var=exp) -> var=exp; switch (var).
  1378.  
  1379.     * recode.c (code_index): Use usage_and_exit ().  Moved.
  1380.     * recode.c (echo_sequence): Print format changed.
  1381.     * recode.c: Issue `recoding FILE ...done' messages, unless -q.
  1382.  
  1383.     * ibmplat1.c, lat1ibmp.c, ibmpmaci, maciibmp.c, txteibmp.c:
  1384.     While reading MS-DOS files, 0x0D followed by 0x0A is converted
  1385.     to an end of line; while writing MS-DOS files, end of lines
  1386.     are converted to 0x0D 0x0A.
  1387.     * ibmpicon.c, iconibmp.c: While reading QNX files, 0x0E is
  1388.     converted to 0x0D 0x0A; while writing QNX files, 0x0D followed
  1389.     by 0x0A is converted to 0x0E.
  1390.  
  1391.     * txteibmp.l: Deleted.
  1392.     * steps.h: Remove references to texte_ibmpc.
  1393.  
  1394.     * steps.h: Remove DONT_LEX conditionals; merged.c is always
  1395.     available for installation.
  1396.  
  1397. Wed Jul  4 19:01:56 1990  Francois Pinard  (pinard@icule)
  1398.  
  1399.     * all: Copyright directly assigned to the FSF.
  1400.  
  1401. Mon Mar 26 13:19:24 1990  Francois Pinard  (pinard@icule)
  1402.  
  1403.     * txteasci.l, txteibmp.l, txtelat1.l: Change occurrences of a NUL
  1404.     terminated cursor by a counter from 0 to yyleng-1.  This will
  1405.     insure proper transmission of NULs through Flex, which can now
  1406.     handle them.
  1407.  
  1408.     * mergelex.awk: Make use of -8 option of Flex 2.2 alpha, adjust
  1409.     documentation, insure proper pre-declarations of Flex variables
  1410.     yytext, yyleng, yyint and yyout.
  1411.  
  1412. Fri Mar 23 19:24:08 1990  Francois Pinard  (pinard@icule)
  1413.  
  1414.     * recode.c (execute_popen_sequence): Get rid of unused variables.
  1415.  
  1416.     * recode.c (code_index): Change index to counter, because on BSD
  1417.     index is a library function.
  1418.  
  1419. Fri Mar 16 10:17:48 1990  Francois Pinard  (pinard@icule)
  1420.  
  1421.     * Version 3.1.
  1422.  
  1423. Thu Mar 15 19:22:53 1990  Francois Pinard  (pinard@icule)
  1424.  
  1425.     * version.c, recode.c (usage_and_exit): Change -V to -C to give
  1426.     the Copyright conditions, print version identification.
  1427.  
  1428.     * txtelat1.l: Real strange bug aroud Flex.  I ought to blindly
  1429.     remove the specific case of a capital A with a diaeresis to get
  1430.     rid of a `NULL in input' Flex diagnostic.  Doing so, I introduce a
  1431.     new bug to get rid of another :-(.
  1432.  
  1433.     * all: Added missing prototypes declarations, missing void
  1434.     specifications for functions, missing const; removed unused
  1435.     variables.
  1436.     * common.h: New.
  1437.  
  1438. Fri Feb  9 00:20:51 1990  Francois Pinard  (pinard@icule)
  1439.  
  1440.     * recode.c, Makefile: If no files are specified, recode stdin on
  1441.     stdout as before.  But if files are specified, each of them is now
  1442.     recoded over itself, preserving its time stamps unless -t option
  1443.     is used.  To make it work on BSD, split execute_sequence in three,
  1444.     get rid of USE_FILES and hide USE_PIPE in the Makefile.  Also, see
  1445.     the comment before execute_sequence routines, in recode.c.
  1446.  
  1447.     * recode.c (main): Some code for -f, to be written later.
  1448.  
  1449.     * recode.c (usage_and_exit): Rewritten.
  1450.  
  1451. Mon Feb  5 22:42:54 1990  Francois Pinard  (pinard@kovic)
  1452.  
  1453.     * recode.c (usage): Added commas to improve readability.
  1454.  
  1455.     * lat1bang.c: Have lower case output instead of upper case, this
  1456.     is more readable.
  1457.  
  1458. Sat Feb  3 07:31:50 1990  Francois Pinard  (pinard@kovic)
  1459.  
  1460.     * Version 3.0.1.
  1461.  
  1462.     * recode.c: Corrected bugs related to USE_POPEN; recode step path
  1463.     is now echoed once, and diaeresis selection is now propagated.
  1464.  
  1465. Fri Feb  2 12:58:22 1990  Francois Pinard  (pinard@kovic)
  1466.  
  1467.     * mergelex.awk: Option USE_FPUTC, so to compile merged.c using
  1468.     fputc instead of putc.  It will hopefully ease Apollo C compiler,
  1469.     which litterally trashes on merged.c.
  1470.  
  1471. Sat Jan 27 10:06:09 1990  Francois Pinard  (pinard@kovic)
  1472.  
  1473.     * all: Adaptation for Flex.  A few yyleng problems short-circuited
  1474.     here and there in some .l's.
  1475.     * lexcom.c:  Eliminated.
  1476.     * mergelex.awk: New, for merging all .l's into a single merged.l.
  1477.     This results in a shorter a.out, by a factor of 2 in fact.
  1478.     * asciltex.l, ascitxte.l: Slight adjustments needed to escape <'s
  1479.     with backslashes.
  1480.  
  1481.     * cdcnasci.c, banglat1.c: Too many putc's, simplified to shorten
  1482.     the object modules.
  1483.  
  1484.     * recode.c: Temporary files were improperly unlinked.  Addition of
  1485.     a -q option (quiet), removal of -d (debug): by default, choosen
  1486.     step path is printed on stderr.
  1487.  
  1488.     * lat1bang.c: Replacement for disappearing ascibang.l.
  1489.     * ascibang.l: Removed.
  1490.  
  1491. Sun Nov 19 10:35:00 1989  Francois Pinard  (pinard@icule)
  1492.  
  1493.     * banglat1.c, lat1bang.c, iconibmp.c, cdcnasci.c, ascicdcn.c,
  1494.     asciflat.c: Replacements for banglat1.l, ascibang.l, iconibmp.l,
  1495.     cdcnasci.l, ascicdcn.l, asciflat.l.  I will get rid of some
  1496.     simpler lex routines, to get speed and save space.
  1497.     * steps.h, version.c: Various adjustments for the preceeding
  1498.     changes.
  1499.  
  1500.     * Most files: Removal of the dash to restrict each file name
  1501.     into eight character, for MS-DOS.
  1502.  
  1503. Fri Nov 10 09:03:11 1989  Francois Pinard  (pinard@icule)
  1504.  
  1505.     * version.c: Added.
  1506.  
  1507.     * recode.c: Provision for -V option.
  1508.  
  1509. Sun Oct 29 13:02:53 1989  Francois Pinard  (pinard@icule)
  1510.  
  1511.     * Version 3.0.
  1512.  
  1513.     * txte-lat1.l, lat1-txte.c: Added.
  1514.  
  1515.     * txte-ibmp.l: Capital E with acute accent now stays capital in
  1516.     all cases.
  1517.  
  1518.     * recode.c: Addition of USE_FILES feature for smaller machines.
  1519.     PIPE_OUTSIDE renamed to USE_POPEN, PIPE_INSIDE to USE_PIPE.
  1520.     Recognition of short keywords.
  1521.  
  1522.     * ltex-asci.l, ltex-lat1.l: \$ now correctly translated into $.
  1523.  
  1524.     * History from an old recode.texinfo:
  1525.  
  1526.       August 1988:
  1527.  
  1528.         Some tentative new charsets for TeX and texinfo, steps
  1529.         merged and made more uniform, usage of Unix pipes
  1530.         instead of translating chunks one at a time.
  1531.  
  1532.         Loic Dachary first exposed me to Easy French.  Claude
  1533.         Goutier, through numerous discussions, was helpful in
  1534.         evaluating various work hypotheses.
  1535.  
  1536.       July 1988:
  1537.  
  1538.         Ported to BSD Unix, bent to meet most GNU standards.
  1539.  
  1540.       December 1987:
  1541.  
  1542.         Ported to Microsoft C, tables frozen instead of being
  1543.         computed by auxiliary programs at installation time,
  1544.         translation sequences sought at execution time instead
  1545.         of built-in in the program.
  1546.  
  1547.       July 1985:
  1548.  
  1549.         Adapted in Turbo-Pascal on an IBM-PC, translation
  1550.         tables completely redesigned.  Dropping of CAF, RUB
  1551.         and INT support; ASCII now used as a common base.
  1552.  
  1553.     * History from Cyber `secours,/s=codes,recode' documents:
  1554.  
  1555.       March 1983:
  1556.  
  1557.         Version 2.0.
  1558.  
  1559.         Merge of features from all versions.  New extensive
  1560.         documentation, in French.  Handling of French for 95
  1561.         character CDC printers.
  1562.  
  1563.       November 1982:
  1564.  
  1565.         Version 1.0.
  1566.  
  1567.         Modified to handle NOS (NOS 6/12 code), INT (Intercom 8/12
  1568.         code), RUB (7.5 char per word tape format), support of
  1569.         EBCDIC translations.  Restructuration into a few main
  1570.         modules, one of which is CODES.  Made in preparation for
  1571.         the Cray-1 at Canadian Meteorological Center.
  1572.  
  1573.       December 1981:
  1574.  
  1575.         Revision of comparison routines for French processing,
  1576.         several suggestions from Francine Ouellette.
  1577.  
  1578.       December 1980:
  1579.  
  1580.         A few speedups and improvements.  My own definition of
  1581.         extended ASCII, quite compatible with various usages at
  1582.         Universite' de Montre'al.
  1583.  
  1584.       July 1980:
  1585.  
  1586.         Module GEN broken into several modules: ASC (ascii), BNG
  1587.         (bang-bang), CAF (format for CAFE project), DPC (usual
  1588.         display code), and TEL (TELUM packing).  Made in context
  1589.         of some research for the PPMF group and the BLOPS project.
  1590.  
  1591.       January 1980:
  1592.  
  1593.         Unified module named GEN and program named GENCOP, in
  1594.         Cyber Pascal and assembler, partly inspired from NOS/BE
  1595.         Record Manager, partly from Claude Schne'egans' PESTUM
  1596.         protocol.
  1597.  
  1598.       Before 1980:
  1599.  
  1600.         Several independant programs, most in Cyber COMPASS
  1601.         assembler, to handle code conversions.  A few tries to
  1602.         get some useful, unified, general approach, but with
  1603.         limited success.
  1604.