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