Blame ChangeLog.prelib

Packit 57a33d
 # This is ChangeLog for changes before enca became a library.
Packit 57a33d
 # The new ChangeLog starts after that.
Packit 57a33d
 # Unfortunately, there's no ChangeLog for the transition.
Packit 57a33d
Packit 57a33d
 # Note: EVERYTHING as changed file means global change, i.e. `every file where
Packit 57a33d
 # this change was applicable was changed'.
Packit 57a33d
Packit 57a33d
2002-06-23 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/texts.c, src/common.h, src/options.c: define e_isatty() as portable
Packit 57a33d
      isatty in common.h, print help instead of wainting for input when stdin
Packit 57a33d
      is a tty
Packit 57a33d
Packit 57a33d
v0.9.4
Packit 57a33d
2002-03-04 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/printresult.c: fixed print_detailed_report() not to truncate charset
Packit 57a33d
      names in the table
Packit 57a33d
    * src/convert.c: put a no-op file_seek() after file_write() to make
Packit 57a33d
      subsequent file_read() work correctly (an ISO C ,feature`, not Enca's)
Packit 57a33d
Packit 57a33d
2002-03-03 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/convert.c: fixed convert_builtin() to convert whole files, not just
Packit 57a33d
      first 64kB
Packit 57a33d
Packit 57a33d
2001-08-16 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/options.c: removed strange `:' from start of short_options
Packit 57a33d
Packit 57a33d
2001-08-01 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/common.h: defined e_free(x) to set x to NULL after freeing it
Packit 57a33d
    * src/EVERYTHING: formal changes
Packit 57a33d
Packit 57a33d
v0.9.3
Packit 57a33d
2001-07-16 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * configure.in, m4/librecode.m4, m4/iconv.m4, src/Makefile.am,
Packit 57a33d
      src/epress.c: conversion libraries are put into CONVERTER_LIBS, so
Packit 57a33d
      epress doesn't link with them (they are included in enca_LDADD), LIBS
Packit 57a33d
      is not modified by librecode and iconv tests
Packit 57a33d
    * iconvcap.c: added program_name definition for the case it would link
Packit 57a33d
      with librecode (shouldn't happen)
Packit 57a33d
    * configure.in: added AC_AIX
Packit 57a33d
    * Makefile.am: added forgotten m4/crash-me to EXTRA_DIST
Packit 57a33d
    * src/encnames.c: --list=encodings prints only `known' encodings
Packit 57a33d
    * Makefile.am: added topline.sh (needed by update target) to dist
Packit 57a33d
    * updated docs
Packit 57a33d
Packit 57a33d
2001-07-15 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/lang.c: fixed giving random results due to usage of unitialized
Packit 57a33d
      memory in get_charsets()
Packit 57a33d
    * src/printresult.c: fixed using double instead of int for ambiguous and
Packit 57a33d
      multibyte flags in T_EncDetails structure
Packit 57a33d
    * src/guess.c, src/printresult.c, src/printresult.h: added
Packit 57a33d
      GUESS_QP_RESOLVED flag to be able to print logically consistent -d output
Packit 57a33d
      in case of quoted printables
Packit 57a33d
    * src/fileio.c, configure.in: include sys/stat.h unconditionally, we
Packit 57a33d
      cannot compile w/o it anyway, warning added to configure
Packit 57a33d
    * src/common.h: include both string[s].h and memory.h. instead of just one
Packit 57a33d
      of them
Packit 57a33d
    * src/common.h: define PACKAGE, VERSION, DEFAULT_EXTERNAL_CONVERTER and
Packit 57a33d
      DEFAULT_CONVERTER_LIST when don't have config.h to compile w/o it
Packit 57a33d
    * src/options.c: fixed too many \n's in feature list
Packit 57a33d
    * configure.in, src/texts.c: added isatty() and ttyname() test, defined
Packit 57a33d
      stdout_isatty(), pager is run only when we are able to positively say
Packit 57a33d
      stdout is a tty
Packit 57a33d
Packit 57a33d
2001-07-14 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/options.c, src/common.h, src/texts.c: made USE_PAGER a feature +pager
Packit 57a33d
    * m4/recode-bugs.m4: added TeX/..ISO-8859-2 recode crash test
Packit 57a33d
    * m4/iconv.m4, src/convert_iconv.c: added ICONV_ARG2_CONST test
Packit 57a33d
    * m4/typevar.m4, src/common.h, configure.in: removed the no longer needed
Packit 57a33d
      long long int test, mere long int is used for mathint
Packit 57a33d
    * configure.in: prepend "-Wall -pedantic" before CFLAGS when compiles is
Packit 57a33d
      GCC
Packit 57a33d
    * Makefile.am: add a new debian changelog entry when version or release
Packit 57a33d
      changes, otherwise update time of the current entry
Packit 57a33d
Packit 57a33d
2001-07-13 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/fileio.c, src/convert_recode.c: removed the no-buffering tricks
Packit 57a33d
      making it slightly faster on modern GNU/Linux, but much slower everywhere
Packit 57a33d
      else
Packit 57a33d
    * src/EVERYTHING: put back the #ifdef HAVE_CONFIG_H stuff
Packit 57a33d
    * src/texts.c: fixed typo expand_char() -> fputc() in poor man's compress
Packit 57a33d
    * src/common.c: added const to stpcpy() *p declaration to keep qualifiers
Packit 57a33d
    * m4/pager.m4, Makefile.am, configure.in, src/texts.c: test whether less
Packit 57a33d
      accepts -F, possibility to disable pager at all
Packit 57a33d
Packit 57a33d
v0.9.2
Packit 57a33d
2001-07-13 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/guess.c: fixed reporting `7bit ASCII characters' after a successfull
Packit 57a33d
      detection of a 7bit encoding (TeX, UTF-7)
Packit 57a33d
    * src/convert_recode.c: fixed typo HAVE_RECODEEXT_H -> HAVE_RECODEXT_H
Packit 57a33d
Packit 57a33d
2001-07-12 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/filters.c: fixed hdata->eid's comparsion before their initialization
Packit 57a33d
      in lang_hook_2cs() (so the hook was never run)
Packit 57a33d
    * src/convert_recode.c: more correct handling of the situation when we
Packit 57a33d
      realise we cannot seek in temporary file during recode failure recovery
Packit 57a33d
    * debian/Makefile.am, m4/Makefile.am, Makefile.am, configure.in: removed
Packit 57a33d
      the first two, debian/ generated by toplevel Makefile, m4/ is just
Packit 57a33d
      distributed
Packit 57a33d
    * Makefile.am, src/Makefile.am: replaced $< with literal file names, some
Packit 57a33d
      `make's don't always substitute first dependence name
Packit 57a33d
    * src/epress.c: added program_name definition to placate librecode
Packit 57a33d
    * src/common.h: stdlib.h and unistd.h are included unconditionally (we
Packit 57a33d
      depend on them anyway)
Packit 57a33d
    * src/texts.c: replaced the `is pager less?' test with a better one
Packit 57a33d
    * configure.in, acconfig.h, m4/EVERYTHING: put descriptions directly to
Packit 57a33d
      AC_DEFINE[_UNQUOTED]'s, almost get rid of acconfig.h
Packit 57a33d
    * src/EVERYTHING: don't trust make passing `-DHAVE_CONFIG_H -I..' to
Packit 57a33d
      compiler, #include "../config.h" unconditionally (we depend on it anyway)
Packit 57a33d
Packit 57a33d
2001-07-10 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * debian/, Makefile.am: created debian/ and modified the Makefile.am to
Packit 57a33d
      include it
Packit 57a33d
Packit 57a33d
2001-07-09 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * configure.in, enca.spec.in: added MAINTAINER variable which can be used
Packit 57a33d
      in rpm spec and debian/ files
Packit 57a33d
    * src/texts.c: fixed wrong prototype putchar() -> expand_char() when
Packit 57a33d
      no compressor is available
Packit 57a33d
    * src/texts.c, acconfig.h, configure.in: compressed texts are displayed
Packit 57a33d
      through a pager (if available)
Packit 57a33d
    * autogen.sh, README.devel: added and make a note about it
Packit 57a33d
Packit 57a33d
v0.9.1
Packit 57a33d
2001-06-25 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/guess.c: fixed possible overflow in UCS-4 test (slightly changing
Packit 57a33d
      what gets recognized as UCS-4)
Packit 57a33d
    * src/guess.c: implemented unusual byteorders (3412 and 2143) tests using
Packit 57a33d
      a single little-endian ucs-4 test what_if_it_was_ucs4() and shuffling
Packit 57a33d
      bytes around shuffle_byte_order(), the same for UCS-4 EOL type tests
Packit 57a33d
    * src/common.h: defined PVAR(f, v) [for debugging]
Packit 57a33d
    * updated docs
Packit 57a33d
    * packaged
Packit 57a33d
Packit 57a33d
2001-06-24 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/encnames.h, src/encnames.c, src/guess.c: renamed SURF_PER_12[34] to
Packit 57a33d
      more logical SURF_PER_[43]21
Packit 57a33d
Packit 57a33d
2001-06-02 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/efilter.c, src/Makefile.am, src/texts.c, src/common.h: created
Packit 57a33d
      efilter.c (filter making text files to compress better) and adding
Packit 57a33d
      reverse filter to texts.c
Packit 57a33d
    * m4/tolower.m4, configure.in, acconfig.h, src/common.h: define our own
Packit 57a33d
      implementation of tolower and similar unconditionally
Packit 57a33d
    * improved various docs
Packit 57a33d
    * BUGS, Makefile.am: generated from manual page section of the same name
Packit 57a33d
    * src/efilter.c, src/Makefile.am, src/texts.c, src/common.h: efilter was
Packit 57a33d
      funny experiment but not much useful, removed again
Packit 57a33d
Packit 57a33d
2001-06-01 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/getopt.c, src/getopt1.c, src/getopt_long.c, src/Makefile.am: removed
Packit 57a33d
      the first two and made getopt_long.c non-generated, removed some unneeded
Packit 57a33d
      stuff
Packit 57a33d
    * src/common.c: put broken-{m,c,re}alloc fixes into conditionals (but no
Packit 57a33d
      autoconf tests---I don't believe such a broken systems really do exist)
Packit 57a33d
Packit 57a33d
2001-05-28 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/options.c: fixed prepend_env() segfault, improved diagnostics
Packit 57a33d
    * revised temporary files usage, removed `/tmp bug' from docs
Packit 57a33d
    * convert.c, convert_iconv.c, convert_recode.c: renamed tmpfile variable
Packit 57a33d
      (synonymous to ISO function name) to tempfile, better not to tempt fate
Packit 57a33d
    * script/b-map, script/b-cstocs, script/b-recode: added umask 077
Packit 57a33d
Packit 57a33d
2001-05-27 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/encnames.c, src/encnames.h, man/enca.1: checks that all characters
Packit 57a33d
      in charset/surface names are from some set of allowed characters
Packit 57a33d
    * src/common.c: added hack for systems that fail on malloc(0) and similar
Packit 57a33d
Packit 57a33d
2001-05-20 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/epress.c: forgotten [ISO C99] int16_t changed to int
Packit 57a33d
    * src/filters.c, src/filters.h: added universal decide-between-2-cs hook
Packit 57a33d
    * src/lang_cs.c, src/lang_sk.c: modified to use the universal hook,
Packit 57a33d
      some formal changes
Packit 57a33d
    * src/lang_ru.c: added maccyr/cp1251 hook (via the universal)
Packit 57a33d
    * src/common.h, src/enca.c: sensible exit code (0, 1 or 2) returned
Packit 57a33d
    * src/convert.c: convert() returns ERR_* error codes instead of just 0, 1
Packit 57a33d
    * src/common.c, src/convert.c, src/convert_iconv.c, src/encnames.c,
Packit 57a33d
      src/fileio.c, src/lang.c, src/locale_detect.c, src/options.c,
Packit 57a33d
      src/texts.c: returned 2 on troubles
Packit 57a33d
    * updated docs
Packit 57a33d
Packit 57a33d
2001-05-18 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/license.c, src/license.h, src/texts.c, src/texts.h: renamed the
Packit 57a33d
      former to the latter
Packit 57a33d
    * src/epress.c, src/texts.c: implemented bzip2 and gz interface
Packit 57a33d
    * m4/compress.m4, configure.in: added tests for libbz2 and libz, the best
Packit 57a33d
      one found is used
Packit 57a33d
    * configure.in, src/Makefile.am, src/options.c: COPYING.c and HELP.c are
Packit 57a33d
      generated by epress and just linked with enca
Packit 57a33d
    * src/Makefile.am: put getopt_long.c into BUILT_SOURCES
Packit 57a33d
    * src/lang_ru.c, src/unicodemap.c, src/encnames.c: added maccyr charset
Packit 57a33d
    * Makefile.am: added hook to delete BUILT_SOURCES before making dist
Packit 57a33d
Packit 57a33d
2001-05-17 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/fileio.c: temporary files are created with umask 077
Packit 57a33d
Packit 57a33d
2001-05-06 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/epress.c, src/COPYING.h, src/Makefile.am: created license compressor
Packit 57a33d
    * src/license.c, src/options.c: license decompression and printing
Packit 57a33d
Packit 57a33d
2001-05-01 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * m4/librecode.m4, m4/recode-bugs.m4, m4/long-text.l2: put test for bugs to
Packit 57a33d
      recode-bugs.m4 (four bugs are checked, any will launch the warning)
Packit 57a33d
Packit 57a33d
2001-04-12 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * m4/librecode.m4, configure.in: added a test for broken recode (no
Packit 57a33d
      workaround [known], just prints a big warning message)
Packit 57a33d
Packit 57a33d
v0.9.0
Packit 57a33d
2001-03-26 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * just packaged
Packit 57a33d
Packit 57a33d
2001-03-25 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/convert.c: fixed reading only first file block in copy_and_convert()
Packit 57a33d
    * configure.in, src/EVERYTHING: memory.h test added, string/strings/memory
Packit 57a33d
      header file inclusion put into common.h
Packit 57a33d
    * src/fileio.c: fixed file_setvbuf() and file_open() (not enough magic)
Packit 57a33d
    * src/convert_recode.c: fixed not opening original file
Packit 57a33d
    * configure.in, src/convert_recode.c: added recodext.h test, is used when
Packit 57a33d
      available for setting diacritics_only and ascii_graphics flags
Packit 57a33d
    * src/convert_iconv.c: fixed not opening original file
Packit 57a33d
    * src/convert_iconv.c: fixed writing no output in iconv_one_step()
Packit 57a33d
    * src/convert.c: fixed intermixed child and parent process in
Packit 57a33d
      convert_external()
Packit 57a33d
    * src/fileio.c: added file_getline() requiring much less system calls
Packit 57a33d
      than GNU libc's fgets()
Packit 57a33d
    * src/locale_detect.c: fixed segfault when language detection failed
Packit 57a33d
    * m4/tools.m4, configure.in, acconfig.h, src/options.c: consolidated
Packit 57a33d
      autoconf macros regarding external converters
Packit 57a33d
    * man/enca.1: minor corrections
Packit 57a33d
Packit 57a33d
2001-03-24 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/encnames.c: added quoted printable surface
Packit 57a33d
    * src/guess.c: integrated quoted printable into the guessing process
Packit 57a33d
    * src/encnames.c, src/options.c: added print_public_surfaces() wrapper to
Packit 57a33d
      allow printing --human-readable list of surfaces
Packit 57a33d
    * src/lang_cs.c, src/lang_ru.c, src/lang_sk.c: replaced slovak and russian
Packit 57a33d
      statistical data with some new (hope better), some hardcoded array sizes
Packit 57a33d
      now computed from sizeof()
Packit 57a33d
    * iconvcap.c: cosmetical changes
Packit 57a33d
Packit 57a33d
2001-03-20 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/fileio.c, src/fileio.h, src/common.c, src/common.h: T_Buffer type
Packit 57a33d
      moved from fileio to common
Packit 57a33d
    * src/lang.c, src/lang.h, src/lang_cs.c, src/lang_ru.c, src/lang_sk.c:
Packit 57a33d
      use the new T_Buffer type
Packit 57a33d
    * configure.in: removed now-unused tests
Packit 57a33d
    * src/EVERYTHING: removed redundant header inclusion, ensured satisfying
Packit 57a33d
      header dependencies, try to use strings.h when string.h is not avaialble
Packit 57a33d
    * src/guess.c: fixed not initializing memory buffer
Packit 57a33d
    * src/options.c: exchagned -E and -C option letters (incompatibility!)
Packit 57a33d
    * src/guess.c: implemented quoted printable recognition (unused now)
Packit 57a33d
Packit 57a33d
2001-03-19 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/fileio.c, src/fileio.h: some more magic employed, only initiated
Packit 57a33d
      can use them now
Packit 57a33d
    * src/convert.c, src/convert_iconv.c, src/convert_recode.c, src/lang.c:
Packit 57a33d
      changed to use the new file i/o interface
Packit 57a33d
    * src/convert_iconv.c: fixed a memory leak
Packit 57a33d
Packit 57a33d
2001-03-18 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/fileio.c, src/fileio.h: finished implementation
Packit 57a33d
    * src/common.c, src/common.h: removed stuff belonging to fileio
Packit 57a33d
    * src/locale_detect.c, src/guess.c, src.guess.h, src/lang.h, src/enca.c,
Packit 57a33d
      src/convert.h: changed to use the new file i/o interface
Packit 57a33d
    * src/guess.c: UCS tests check remainder of file length instead of buffer
Packit 57a33d
      position (which is still used as a fallback in case of stdin)
Packit 57a33d
Packit 57a33d
2001-03-17 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * configure.in, script/b-cstocs, script/b-cstocs.in, script/b-map,
Packit 57a33d
      script/b-map.in, script/b-recode, script/b-recode.in, script/Makefile.am:
Packit 57a33d
      (I'm stupid) reverted the last change
Packit 57a33d
    * src/fileio.c, src/fileio.h: created (unique file i/o interface, at last)
Packit 57a33d
Packit 57a33d
2001-03-12 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * m4/tools.m4: AC_MSG_WARN is used to print warnings
Packit 57a33d
    * m4/iconv.m4: iconvenc.h is always created (the dark side is that iconv
Packit 57a33d
      usability is no longer cached)
Packit 57a33d
    * m4/tools.m4, configure.in, script/b-cstocs, script/b-cstocs.in,
Packit 57a33d
      script/b-map, script/b-map.in, script/b-recode, script/b-recode.in,
Packit 57a33d
      script/Makefile.am: external converters are located including path and
Packit 57a33d
      it's then used for configure-time substitution in the scripts
Packit 57a33d
Packit 57a33d
v0.9.0pre5
Packit 57a33d
2001-03-12 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/common.h, src/common.c, src/encnames.h, src/guess.c, src/options.c,
Packit 57a33d
      src/printresult.c, src/convert.c: eliminated rest of Settings, replaced
Packit 57a33d
      by module methods, except read_limit which is still global
Packit 57a33d
    * enca.spec.in: various improvements (see the spec file changelog)
Packit 57a33d
Packit 57a33d
2001-03-11 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/EVERYTHING: Settings.ProgName and Settings.Verbose made globals:
Packit 57a33d
      program_name and verbosity_level
Packit 57a33d
    * src/common.h, src/options.c, src/convert.c: Settings.ExtConverter made
Packit 57a33d
      convert.c module global extern_converter, set by set_external_converter()
Packit 57a33d
    * src/common.h, src/options.c, src/printresult.c: Settings.PreFName made
Packit 57a33d
      printresult.c module global extern_converter, set by
Packit 57a33d
      print_set_prefix_filename()
Packit 57a33d
Packit 57a33d
2001-03-10 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * enca.spec.in: use global cache file
Packit 57a33d
Packit 57a33d
2001-03-09 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * Makefile.am: (generated!) enca.spec included to distribution (rpm -tb)
Packit 57a33d
Packit 57a33d
2001-03-02 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * man/enca.1: spell-checked
Packit 57a33d
    * src/options.c: corrected available lists in --list= help
Packit 57a33d
Packit 57a33d
2001-02-28 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/lang.c: language is printed in lang_init() when verbose
Packit 57a33d
    * src/guess.c: all Latin, Cyrillic and Greek letters have equal weight in
Packit 57a33d
      UCS-2 and UCS-4 tests
Packit 57a33d
    * src/guess.c: fixed bad default endianess and initial makes-sense-check in
Packit 57a33d
      UCS-4 test
Packit 57a33d
    * src/printresult.c: UCS-* rating is printed, too
Packit 57a33d
Packit 57a33d
v0.9.0pre4
Packit 57a33d
2001-02-26 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * just packaged
Packit 57a33d
Packit 57a33d
2001-02-25 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/options.c, src/encnames.c, src/printresult.c: conversion from output
Packit 57a33d
      type to what-name is done in encnames.c, introduced new output types
Packit 57a33d
      and what-names ALIASES and NONE, --name=aliases prints list of aliases,
Packit 57a33d
      removed --list=aliases, --list=encodings is sensitive to value of --name=
Packit 57a33d
      instead, --list=names lists all valid --name= values, default output type
Packit 57a33d
      is now NONE (initialized after option processing when needed)
Packit 57a33d
    * updated rest of docs
Packit 57a33d
    * configure.in, m4/libm.m4: fixed `make install' fail due to dependance on
Packit 57a33d
      libtool: get rid of libtool dependance, created our own math library
Packit 57a33d
      test
Packit 57a33d
Packit 57a33d
2001-02-24 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * configure.in, acinclude.m4, m4/: removed acinclude.m4, created m4 dir and
Packit 57a33d
      put the definitions there
Packit 57a33d
Packit 57a33d
v0.9.0pre3
Packit 57a33d
2001-02-23 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/options.c: added --list=lists listing
Packit 57a33d
    * NEWS: updated
Packit 57a33d
    * man/enca.1: partly updated
Packit 57a33d
Packit 57a33d
2001-02-22 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * configure.in: added feature and failure lists
Packit 57a33d
    * acinclude.m4: cleanup, defined some *_ok variables for feature list,
Packit 57a33d
      fixed some `! test ... = ...' to `test ... != ...'
Packit 57a33d
    * srcipt/b-cstocs, srcipt/b-map, srcipt/b-recode: `#!/bin/bash' changed
Packit 57a33d
      to `#! /bin/sh' (even if I'm not sure whether the scripts are 100%
Packit 57a33d
      sh-compatible)
Packit 57a33d
    * iconvcap.c: initial ASCII test changed back to ISO-8859-1 since the
Packit 57a33d
      former is not supported on some systems (SunOS, IRIX, ...) having
Packit 57a33d
      otherwise-usable iconv
Packit 57a33d
    * src/getopt_long.c: generated from getopt.c and getopt1.c, but distributed
Packit 57a33d
      (mainly because automake is unable to understand something we have in
Packit 57a33d
      LIBOBJS can be generated...)
Packit 57a33d
Packit 57a33d
v0.9.0pre2
Packit 57a33d
2001-02-22 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * configure.in, src/Makefile.am: merged src/getopt.c and src/getopt1.c to
Packit 57a33d
      src/getopt_long.c to allow simple AC_REPLACE_FUNC() be used for
Packit 57a33d
      getopt_long optional build
Packit 57a33d
    * acinclude.m4: simplified iconv test and added check for libiconv
Packit 57a33d
Packit 57a33d
2001-02-21 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * Makefile.am: corrected iconvconf.h to iconvenc.h
Packit 57a33d
    * src/options.c: fixed undefined and misused ENCA_ENV_VAR when we don't
Packit 57a33d
      have wordexp() to parse it
Packit 57a33d
    * acinclude.m4: iconvenc.h is always created since I'm not able to explain
Packit 57a33d
      automake we don't need it when we don't have iconv
Packit 57a33d
Packit 57a33d
v0.9.0pre1
Packit 57a33d
2001-02-20 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/convert.c: trivial conversions from ASCII are carried out in built-in
Packit 57a33d
      converter
Packit 57a33d
    * src/EVERYTHING: cleaned terminology encoding vs. charset; encoding means
Packit 57a33d
      (charset,surface) pair
Packit 57a33d
    * src/options.c: converter names are case sensitive again
Packit 57a33d
    * config.h is included only when HAVE_CONFIG_H
Packit 57a33d
    * iconvenc.nul.h, acinclude.c, src/encnames.c: iconvenc.nul.h merged into
Packit 57a33d
      encnames.c (neede only there when !HAVE_ICONV)
Packit 57a33d
    * configure.in, src/getopt.c, src/getopt.h, src/getopt1.c, src/options.c:
Packit 57a33d
      added GNU getopt so long options can be used everywhere (needs testing)
Packit 57a33d
    * src/options.c: -m as complement to -M resets affected options to defaults
Packit 57a33d
Packit 57a33d
2001-02-19 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/common.h, src/options.c, src/printresult.c: added iconv name output
Packit 57a33d
      type, `-i' (only when HAVE_ICONV)
Packit 57a33d
    * src/options.c: `-n' changed to `-e'
Packit 57a33d
    * src/options.c: output types (except `-x') can be specified as -n NAME
Packit 57a33d
    * iconvcap.c: updated for the new encodings and changed ICONV_ prefix to
Packit 57a33d
      ICONV_NAME_, also changed the suffixes to pure alphanumeric, ISO-8859-1
Packit 57a33d
      test changed to ASCII
Packit 57a33d
    * src/convert_iconv.c: updated to the new encoding/surface model
Packit 57a33d
    * src/guess.c: try to detect swapped UCS-2 from the first byte pair, too
Packit 57a33d
    * src/options.c: pointer woodoo to comply ISO C in print_some_list(): one
Packit 57a33d
      more level of indirection in abbreviation table data
Packit 57a33d
    * src/options.c, src/encnames.c: iconv name output type defined always, but
Packit 57a33d
      when iconv names are not available error message is printed instead
Packit 57a33d
    * iconvconf.h, iconvenc.h: the former renamed to the latter
Packit 57a33d
    * iconvenc.h.nul: created. contains all iconv names defined to NULL
Packit 57a33d
    * acinclude.m4, src/encnames.c, src/convert_iconv.c: iconvenc.h is either
Packit 57a33d
      successfully generated by iconvcap or copied from iconvenc.h.nul so it
Packit 57a33d
      always exists and is always #included
Packit 57a33d
    * configure.in, src/options.c: getopt.h test (defines getopt_long(), etc.)
Packit 57a33d
    * src/common.c: expand_abbreviation() returns pointer to whole abbreviation
Packit 57a33d
      structure so it's possible to fetch the expanded name, too; all callers
Packit 57a33d
      changed
Packit 57a33d
    * script/bcstocs, script/brecode, script/b-cstocs, script/b-recode: the
Packit 57a33d
      first two renamed to the second two
Packit 57a33d
    * script/b-map: created. perl `map' wrapper
Packit 57a33d
Packit 57a33d
2001-02-18 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/common.c: e_tmpfd() now returns empty string a file name when fails
Packit 57a33d
    * src/options.c: max read limit increased to 16MB
Packit 57a33d
    * src/options.c: default converter list changed, now is
Packit 57a33d
      "built-in,librecode" for +librecode-interface, [+-]iconv-interface
Packit 57a33d
      "built-in,iconv" for -librecode-interface, +iconv-interface
Packit 57a33d
      "built-in" for -librecode-interface, -iconv-interface
Packit 57a33d
    * src/convert_recode.c: cleaned-up to use the new encoding/surface model
Packit 57a33d
    * src/convert.c, src/convert_common.h, src/convert_recode.c: request
Packit 57a33d
      formatting (either for printing or for recode requests) function
Packit 57a33d
      format_request_string()
Packit 57a33d
    * src/convert_recode.c: temporary copy of original file is not deleted
Packit 57a33d
      when rescue of damaged original fails (what a paranoia!)
Packit 57a33d
    * src/common.c: e_fopen() and e_fclose(), fopen() and fclose() wrappers,
Packit 57a33d
      unsed in various places
Packit 57a33d
    * src/EVERYTHING: perror(NULL) changed to perror("") since some C libraries
Packit 57a33d
      don't understand the former to print empty prefix string
Packit 57a33d
    * src/encnames.c, src/options.c: added `surfaces' to --list option
Packit 57a33d
    * src/convert.c: valid converter names are printed one per line
Packit 57a33d
    * src/encnames.c: added iconv name to T_EncInfo, all defined to NULL when
Packit 57a33d
      iconv interface is not build
Packit 57a33d
    * src/common.c: implemented abbreviation searching expand_abbreviation()
Packit 57a33d
    * src/options.c: print_some_list() uses the new abbreviation engine
Packit 57a33d
    * src/convert.c: add_converter() uses the new abbreviation engine (needed
Packit 57a33d
      some data types shake-up)
Packit 57a33d
    * src/lang.c: got rid of `initialization discards qualifier...' warnings
Packit 57a33d
      by shaking up with the consts (no functionality changed)
Packit 57a33d
Packit 57a33d
2001-02-17 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/common.h: surface type formalized to surfint (instead of uint16)
Packit 57a33d
    * src/encnames.c: implemented surface <-> name conversion
Packit 57a33d
    * src/encnames.c, src/guess.c: changed UCS surfaces to recode style
Packit 57a33d
    * src/options.c, src/enca.c: updated parse_x_arg(), removed
Packit 57a33d
      dull-converter-like beahviour
Packit 57a33d
    * src/locale_detect.c: get rid of str[c]spn() (they are ISO C, but autoscan
Packit 57a33d
      tries to convince me I should check for them), flag-table approach is
Packit 57a33d
      more efficient anyway
Packit 57a33d
    * src/common.c: commented out strstrcount() (not needed)
Packit 57a33d
    * src/encnames.c, src/encnames.h: empty surface SURF_REMOVE (to get only
Packit 57a33d
      "/" as surface name) (dirty)
Packit 57a33d
Packit 57a33d
2001-02-14 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/options.c: option letter space polluted by various listing options
Packit 57a33d
      cleaned by introducing --list=WORD (incompatible with previous -l usage)
Packit 57a33d
    * src/encnames.c: print_encoding_aliases() prints list of accepted encoding
Packit 57a33d
      aliases (`recode -l' style)
Packit 57a33d
    * src/encnames.c: encodings sorted alphabetically (by canonical name)
Packit 57a33d
    * src/lang.c, src/lang_cs.c, src/lang_sk.c, src/lang_ru.c: ability to
Packit 57a33d
      print what regular encodings belong to this particular language
Packit 57a33d
Packit 57a33d
2001-02-12 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/lang.c: fixed not initializing language filter report for language
Packit 57a33d
      `none'
Packit 57a33d
    * src/encnames.h, src/encnames.c: introduced ENCF_MULTI flag marking
Packit 57a33d
      multibyte encodings
Packit 57a33d
    * src/printresults: heavily improved details (but still misses surfaces)
Packit 57a33d
    * src/options.c: file name is printed with details except when user
Packit 57a33d
      specifically asks not to print it
Packit 57a33d
    * src/options.c: help texts updated
Packit 57a33d
    * src/encnames.c, src/printresults.c: cstocs names of encodings not known
Packit 57a33d
      to it changed to ???, but still printed the same in details
Packit 57a33d
    * src/defaults.h: removed. all definitions moved to appropriate C files
Packit 57a33d
      (or common.h)
Packit 57a33d
    * src/encnames.c, src/options.c, src/prinresult.c: removed option `-g'
Packit 57a33d
    * src/encnames.c: presqueezed aliases replaced by normal, we now squeeze
Packit 57a33d
      names when needed (with hashing it's OK), also changes canonical names
Packit 57a33d
    * config.h.top, configure.in: removed the former and add -D_GNU_SOURCE
Packit 57a33d
      directly to CFLAGS
Packit 57a33d
    * configure.in: removed warnings
Packit 57a33d
    * configure.in: integer type sizes tested only when system doesn't provide
Packit 57a33d
      stdint.h (and int's default changed to ISO C minimum)
Packit 57a33d
    * configure.in, acinclude.h: moved my tests to the latter (newly created)
Packit 57a33d
      to make the former more readable
Packit 57a33d
    * guess.c: TEX_* and UTF_* defines moved to appropriate functions (as const)
Packit 57a33d
    * guess.c: fixed missing print_flags_or() for language hooks (from ????)
Packit 57a33d
Packit 57a33d
2001-02-11 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/encnames.c: hashing is used to find encoding names
Packit 57a33d
    * src/options.c: fixed not recognizing output encoding (from 2000-02-02)
Packit 57a33d
    * src/unicodemap.c: `-l' prints each group on separate line
Packit 57a33d
Packit 57a33d
2001-02-10 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/guess.c: handle correctly case when a language has only one encoding
Packit 57a33d
    * src/guess.c: multibyte tests use count table for fast rejecting
Packit 57a33d
    * src/guess.c: surface detection, eol_surface()
Packit 57a33d
Packit 57a33d
2001-02-08 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/lang_ru.c, src/encnames.c, src/unicodemap.c: added IBM 866 charset
Packit 57a33d
    * src/filters.h: made ibm866 filter alias to keybcs2 filter (they're
Packit 57a33d
      identical)
Packit 57a33d
    * src/guess.c: saved stdin is not restored and `up' is not recomputed when
Packit 57a33d
      nothing was filtered out
Packit 57a33d
Packit 57a33d
2001-02-06 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/detect_lang.c, src/locale_detect.c: renamed the former to the latter
Packit 57a33d
    * src/filters.c, src/filters.h, src/lang_cs.c: first two created (language
Packit 57a33d
      filter repository) and all box-drawing filters moved there
Packit 57a33d
    * src/filters.c: added bow-draing filters for more encodings
Packit 57a33d
    * src/common.h, src/options.c, src/printresult.c: implemented -n output
Packit 57a33d
      type (prints `canonical' encoding name used internally in enca)
Packit 57a33d
    * src/lang_sk.c, src/lang_sk.h, src/lang_ru.c, src/lang_ru.h, src/lang.c,
Packit 57a33d
      src/encnames.c, src/unicodemap.c: added Slovak and Russian languages and
Packit 57a33d
      appropriate encodings
Packit 57a33d
    * src/unicodemap.c: introduced the idea of compatible encodings; LATIN2
Packit 57a33d
      and CYRILLIC groups defined
Packit 57a33d
    * all headers: revised header file dependencies
Packit 57a33d
    * src/lang.c, src/locale_detect.c: implemented the notion of no
Packit 57a33d
      language---when user sets language to `none' no regular encodings are
Packit 57a33d
      processed (so when you say `-UL none' only pure ascii gets recognized)
Packit 57a33d
    * src/options.c: fixed broken `-P' (an old bug)
Packit 57a33d
Packit 57a33d
2001-02-05 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/lang.c, src/lang.h, src/lang_cs.c, src/lang_cs.h: created the first
Packit 57a33d
      two and moved all regular encoding routines to them
Packit 57a33d
    * src/options.c: implemented language settings (added Language to Settings)
Packit 57a33d
Packit 57a33d
2001-02-04 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/unicodemap.c: is_subset_consistent() now uses translation table for
Packit 57a33d
      checking
Packit 57a33d
    * src/guess.c: incorporated multibyte encodings into the guessing process
Packit 57a33d
    * src/guess.c: implemented an absolute likehood test of the applied to the
Packit 57a33d
      relative winner
Packit 57a33d
Packit 57a33d
2001-02-03 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/common.c, src/common.h: introduced type flagint for tables of flags
Packit 57a33d
      (defined as short int), all callers changed
Packit 57a33d
    * src/options.c: fixed accepting invalid option values, ReadLimit must be
Packit 57a33d
      a multiple of 4 (to make UCS tests more reliable)
Packit 57a33d
    * src/guess.c, src/printresult.c: added number of 8bit's (up) to details
Packit 57a33d
    * src/guess.c: finished is_valid_utf8(), is_valid_utf7(), looks_like_tex(),
Packit 57a33d
      looks_like_ucs2() and looks_like_ucs4() tests (except surfaces)
Packit 57a33d
Packit 57a33d
2001-02-02 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/unicodemap.c: added many missing characters to maps
Packit 57a33d
    * src/unicodemap.c: shortened maps by starting them from first character
Packit 57a33d
      that doesn't map to itself
Packit 57a33d
    * src/options.c: finally removed old dull-conversion syntax
Packit 57a33d
    * src/options.c, configure.in: long `GNU style' options---when
Packit 57a33d
      getopt_long() function is available, configure test added
Packit 57a33d
    * src/options.c, configure.in: program_invocation_short_name is used when
Packit 57a33d
      offered by system, otherwise strip_path() is used to make it
Packit 57a33d
    * src/options.c, configure.in: value of environment variable ENCAOPT is
Packit 57a33d
      prepended before command line options---when wordexp() function is
Packit 57a33d
      available, configure test added
Packit 57a33d
Packit 57a33d
2001-02-01 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/EVERYTHING: encoding are no longer identified by name, but integer
Packit 57a33d
      eid is used; T_Encoding contains---beside eid---surface, but it's not
Packit 57a33d
      used for anything yet
Packit 57a33d
    * implemented name squeezing and alias recognition---almost any sensible
Packit 57a33d
      (and a whole bunch of stupid) encoding identifier is recognized
Packit 57a33d
    * introduced new, less stupid, `canonical' names---passed to external
Packit 57a33d
      converter and looked-up faster than the others
Packit 57a33d
    * src/guess.c, src/enca.c, src/printresult.c: result is passed as
Packit 57a33d
      T_Encoding type
Packit 57a33d
    * src/guess.c, src/printresults.c, src/lang_cs.c: print implemented as
Packit 57a33d
      `object', guess details are fed by different functions when needed
Packit 57a33d
      (no globals and circular dependencies anymore)
Packit 57a33d
    * src/printresults.c: mapping from output type to encoding name is used
Packit 57a33d
      instead of ugly switch ()
Packit 57a33d
    * src/unicodemap.c: character 0xa4 from koi8cs2 converted to tilde (0x7f)
Packit 57a33d
    * src/options.c: refuse to serve as a dull converter when input encoding
Packit 57a33d
      is not known to us
Packit 57a33d
    * src/common.c, configure.in: implemented stpcpy() when not provided by
Packit 57a33d
      system (configure test added)
Packit 57a33d
    * src/guess.c, src/enca.c: 7bit ascii is no longer discriminated and no
Packit 57a33d
      longer causes enca return nonzero error code
Packit 57a33d
Packit 57a33d
2001-01-30 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/langdata_cs.c, src/langhook_cs.c, src/lang_cs.c: the first two merged
Packit 57a33d
      to the third containing [almost?] all language specific stuff
Packit 57a33d
Packit 57a33d
2001-01-29 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/encnames.c: created. (language independent encoding name handling)
Packit 57a33d
Packit 57a33d
2001-01-28 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/common.h, configure.in: tests for stdint.h and integer type sizes
Packit 57a33d
      used to define uint16 and uint32
Packit 57a33d
    * src/unicodemap.c: changed map storage type to uint16 thus saving several
Packit 57a33d
      kilobytes, removed need for an empty last table
Packit 57a33d
    * src/guess.c: added looks_like_ucs2(), looks_like_ucs4() and partially
Packit 57a33d
      looks_like_utf7()
Packit 57a33d
Packit 57a33d
2001-01-27 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/guess:c reimplemented look_like_TeX() in a more efficient way
Packit 57a33d
    * src/EVERYTHING: static file globals used only in one function moved into
Packit 57a33d
      the appropriate function
Packit 57a33d
    * man/enca.1: made more human readable, different macros are used
Packit 57a33d
Packit 57a33d
2001-01-26 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/detect_lang.c, src/detect_lang.h: detect_lang() accepts string
Packit 57a33d
      parameter now
Packit 57a33d
    * src/guess.c: implemented utf-8 parse test is_valid_utf8() and
Packit 57a33d
      (La)TeX-encoded accents test look_like_TeX()
Packit 57a33d
Packit 57a33d
2001-01-25 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * src/detect_lang.c, src/detect_lang.h, src/Makefile.am, src/defaults.h:
Packit 57a33d
      guessing user's preferred language from locale (not used yet)
Packit 57a33d
    * configure.in, acconfig.h: implemented check for locale.alias
Packit 57a33d
Packit 57a33d
v0.7.7
Packit 57a33d
2001-01-01 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * e_read4() now consistently sets number of bytes in buffer to zero even
Packit 57a33d
      when reading of zero bytes is requested (seems to break nothing, but...)
Packit 57a33d
    * documentation synchronized
Packit 57a33d
Packit 57a33d
2000-12-31 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * `none' is accepted as converter name and causes clearing the converter
Packit 57a33d
      list
Packit 57a33d
    * finished iconv interface
Packit 57a33d
    * changed some messages, hope no one parses them
Packit 57a33d
    * ssize_t availability checked by configure
Packit 57a33d
Packit 57a33d
2000-11-29 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * long long int availability is now explicitely checked by configure
Packit 57a33d
    * unsigned char -> byte
Packit 57a33d
    * implemented e_write4() and e_read4() that allow to specify buffer address
Packit 57a33d
      and size (e_read_with_limit replaced by e_read4())
Packit 57a33d
    * fixed files closed twice in copy_and_convert()
Packit 57a33d
    * fixed bad return value tests for e_read() and e_write() in
Packit 57a33d
      copy_and_convert()
Packit 57a33d
    * implemented iconv_one_step() and enc_trans() for iconv, so it is almost
Packit 57a33d
      usable on iconv-transitive (GNU) systems now
Packit 57a33d
Packit 57a33d
2000-11-28 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * iconv transitivity is now explicitely checked by iconvcap instead of
Packit 57a33d
      checking for gconv
Packit 57a33d
Packit 57a33d
2000-11-26 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * misspelled `Europian' corrected to `European' in macce long name
Packit 57a33d
Packit 57a33d
2000-11-21 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * fixed some nonsubstantial stuff, redundant #includes, docs and comments
Packit 57a33d
      forgotten in too hastily released v0.7.6
Packit 57a33d
    * convert_iconv.c separated from convert.c
Packit 57a33d
Packit 57a33d
v0.7.6
Packit 57a33d
2000-11-20 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * unicode mapping data made NULL terminated instead of fixed-length
Packit 57a33d
    * discovered bug in gcc :-(
Packit 57a33d
    * all upper-half-of-ascii structures promoted to 256 characters (too many
Packit 57a33d
      changes to record here)
Packit 57a33d
    * support for cork encoding ceased
Packit 57a33d
    * help text updated and divided to sections (thus fixing warning about
Packit 57a33d
      too long, ISO C violating, string)
Packit 57a33d
    * get_in_enc_list() and get_converters() changed to print_* printing the
Packit 57a33d
      lists, called directly from process_opt()
Packit 57a33d
    * convert_recode.c separated from convert.c to make the amount of #if's
Packit 57a33d
      bearable
Packit 57a33d
    * encoding list made NULL terminated instead of fixed-length
Packit 57a33d
    * reversed order of generating recoding table so, character with lowest
Packit 57a33d
      8bit code is always outputed for synonyms (instead of highest)
Packit 57a33d
    * implemented converter flags CONV_EXTERN, we do not try to recover after
Packit 57a33d
      external converter failure, since it's impossible by definition
Packit 57a33d
    * xlat table cache bubble sorting on use
Packit 57a33d
    * man page and other documentation synchronized
Packit 57a33d
Packit 57a33d
2000-11-19 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * a simple test suite introduced in test/ (not distributed)
Packit 57a33d
    * fixed stupid || -> && bug in e_close() causing failure in pipes
Packit 57a33d
    * copy_and_convert() now processes what is saved in io_buffer always when
Packit 57a33d
      called on stdin (not only when recoding is done too), this fixes bug in
Packit 57a33d
      conversion to the same encoding in pipe
Packit 57a33d
    * fixed comparing return value of e_tmpfd() with zero (instead of -1)
Packit 57a33d
      causing not calling external converter in redirection
Packit 57a33d
    * stdin is always copied to stdout when we are not able to perform
Packit 57a33d
      conversion, irregardles of reason
Packit 57a33d
    * some error messages improved
Packit 57a33d
Packit 57a33d
2000-11-18 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * it's up to every converter to translate cstocs encoding names to its
Packit 57a33d
      native names---implemented recode's enc_trans(), others use cstocs
Packit 57a33d
    * rearranged converters to work in any order as expected, implemented ERR_*
Packit 57a33d
      (internal) error codes in convert.c
Packit 57a33d
    * implemented -c printing list of all valid converter names
Packit 57a33d
      (get_converters())
Packit 57a33d
    * implemented e_tolower that cannot fail (and appropriate autoconf test)
Packit 57a33d
    * split process_opt() to make less monster from it
Packit 57a33d
    * error messages begin with enca file name without path (strip_path())
Packit 57a33d
    * some preliminary iconv support, the converter doesn't actually exist yet
Packit 57a33d
    * errorneous values of most commandline parametres no longer cause enca to
Packit 57a33d
      abort
Packit 57a33d
    * request cache bubble sorting on use
Packit 57a33d
Packit 57a33d
2000-11-16 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * fixed destroying outer and request after every use
Packit 57a33d
    * implemented librecode request chache optimization
Packit 57a33d
    * implemented e_unlink()
Packit 57a33d
    * any converter combination/order can be specified on command line with
Packit 57a33d
      -E option (meaning changed!)
Packit 57a33d
    * external converter failure made non-fatal
Packit 57a33d
Packit 57a33d
2000-11-14 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * bcstocs and brecode return exit status and message is printed when it
Packit 57a33d
      fails
Packit 57a33d
Packit 57a33d
2000-11-05 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * made iconv configure test, all configure results are cached
Packit 57a33d
Packit 57a33d
2000-10-31 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * config.h is always included first (even before system headers)
Packit 57a33d
Packit 57a33d
2000-10-30 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * fixed freeing not allocated request in convert_recode()
Packit 57a33d
    * implemented some more verbosity in converter
Packit 57a33d
    * strstr() alternative moved to common.c
Packit 57a33d
    * implemented strstrcount() conting occurences of needle
Packit 57a33d
    * '/' is added after both in_enc and out_enc when creating recode request
Packit 57a33d
      string, partially helps with touchy librecode, but sometimes it fails
Packit 57a33d
      anyway
Packit 57a33d
    * monstrous convert_recode() split to several functions, nevertheless
Packit 57a33d
      remains monstrous
Packit 57a33d
Packit 57a33d
2000-10-25 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * more autoconf madness
Packit 57a33d
Packit 57a33d
v0.7.5
Packit 57a33d
2000-10-25 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * strstr() defined in options.c when not provided by system library
Packit 57a33d
Packit 57a33d
2000-10-22 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * copying policy changed to GNU/GPL version 2, explicitely, instead of
Packit 57a33d
      version 2 or any later version
Packit 57a33d
    * librecode autoabort feature finally disabled
Packit 57a33d
    * fixed request cache initialization bug
Packit 57a33d
    * fixed O_RDONLY zero/nonzero portability problem
Packit 57a33d
    * convert_recode() restores file from temporary copy when librecode
Packit 57a33d
      converter fails
Packit 57a33d
    * encoding names are not duplicated but assigned in get_encodings()
Packit 57a33d
    * heavy use of const modifier (too many changes to record here)
Packit 57a33d
    * solved cyclic dependancy between langdata and langhook headers by making
Packit 57a33d
      hookdata plain pointer (i.e. void*) and moving T_HookData definition
Packit 57a33d
      to .c file
Packit 57a33d
Packit 57a33d
2000-10-18 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * removed ffname_[rw]() filename wrapper in cases we cannot get stdin/stdout
Packit 57a33d
      (like e_lseek())
Packit 57a33d
    * stdin/stdout is internally passed as NULL (instead of empty string) so
Packit 57a33d
      one can no longer call enca '' '' to make it wait for several stdin's
Packit 57a33d
    * return values of recode_new_outer() and recode_new_request() are checked
Packit 57a33d
    * implemented librecode request caching, outer is now global and new
Packit 57a33d
      request_cache too, neverhteless caching strategy is poor
Packit 57a33d
    * implemented e_strdup() (strdup()) is not ISO/POSIX) and heavily used
Packit 57a33d
      instead of strlen/malloc/strcpy sequences
Packit 57a33d
Packit 57a33d
2000-10-15 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * fixed closing stderr in e_close() (though calling it with filedescriptor 2
Packit 57a33d
      would be bug anyway)
Packit 57a33d
    * cleaned types of variables library functions are called with
Packit 57a33d
      (unsigned long int -> size_t, etc.)
Packit 57a33d
    * unsigned long long int is used when available for weight/occurence
Packit 57a33d
      computations, mathint type introduced
Packit 57a33d
    * cleaned names possibly conflicting with POSIX reserved names and libc
Packit 57a33d
      header reserved names
Packit 57a33d
    * recode_scan_request() return value is now checked for success
Packit 57a33d
    * fails back to external converter when librecode cannot convert due to
Packit 57a33d
      errorneous request (as one would understand from man page)
Packit 57a33d
    * prints error message when conversion is impossible
Packit 57a33d
    * merged all file-copying code in convert.c to copy_and_convert(),
Packit 57a33d
      convert_internal_stdin() optimized out of existence
Packit 57a33d
    * return codes in convert.c changed, -1 is now returned as error code only
Packit 57a33d
      by low level i/o from common.c
Packit 57a33d
    * get/generate_xtable() are no longer able to generate identity (not needed)
Packit 57a33d
Packit 57a33d
2000-10-14 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * cleaned some T_GResult.boxout residua
Packit 57a33d
    * addresses of language filter/hook reports printing functions passed in
Packit 57a33d
      T_GResult
Packit 57a33d
    * some #include <...> corrected to "..." for local files
Packit 57a33d
    * corrected filter reports in SMS mode
Packit 57a33d
Packit 57a33d
2000-10-13 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * binary filter is more drastic, requires BIN_MIN_TEXT_CHAR letters
Packit 57a33d
      (instead of non-binary characters) to switch back to text mode
Packit 57a33d
Packit 57a33d
v0.7.4
Packit 57a33d
2000-10-11 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * fixed behaviour in SMS mode (mismatched if([!]Settings.SMSMode); might
Packit 57a33d
      even cause coredumps?)
Packit 57a33d
    * implemented box-drawing character filter filter_boxdraw_out() and put it
Packit 57a33d
      into langdata_cz.c, again with interface lang_filter(); not run in SMS
Packit 57a33d
      mode (printresults.c updated accordingly)
Packit 57a33d
Packit 57a33d
v0.7.3
Packit 57a33d
2000-10-08/09 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * fixed reading only 4096 bytes from pipe (by a crude way, even if trying to
Packit 57a33d
      lower number of system calls as much as possible) from 0.7.1
Packit 57a33d
    * regenerated data (hope last time) and realized pair/... based guessing
Packit 57a33d
      is nonsense
Packit 57a33d
    * implemented filter that filters out blocks of probably binary data (stdin
Packit 57a33d
      is saved when conversion is required), filter_binary_out() number of
Packit 57a33d
      filtered characters is printed by -d
Packit 57a33d
    * stdin is copied to stdout when its encoding is unknown (much more logical,
Packit 57a33d
      but can break existing scripts)
Packit 57a33d
Packit 57a33d
v0.7.2
Packit 57a33d
2000-10-05 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * corrected F_EMPTY message (F_EMPTY now really means file is empty)
Packit 57a33d
    * second best is marked in -d output by `-' (added p_esec to T_GResult)
Packit 57a33d
Packit 57a33d
2000-10-04 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * *_cs filenames corrected to *_cz (Czechoslovakian -> Czech)
Packit 57a33d
    * lang_hook() divided to interface lang_hook() and lang_hook_stz() doing
Packit 57a33d
      the real work (preparation for more langhooks)
Packit 57a33d
    * information about active language hooks saved in active_hooks (for
Packit 57a33d
      printing)
Packit 57a33d
    * perhaps solved language hook info printing dependency (when -d): new
Packit 57a33d
      function print_lang_hook_data() is defined directly in langhook_cz and
Packit 57a33d
      called in print_results
Packit 57a33d
Packit 57a33d
2000-10-02/03 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * recoding chains made possible by starting -x parameter with `..'
Packit 57a33d
    * BSD [s]random() changed to ISO [s]rand()
Packit 57a33d
    * fixed all remaining warnings except 1.4 kB long string containing help
Packit 57a33d
      text (compile tried with -Werror -Wall -pedantic -ansi
Packit 57a33d
      -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
Packit 57a33d
      -Wnested-externs)
Packit 57a33d
Packit 57a33d
v0.7.1
Packit 57a33d
2000-10-01 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * moved to low level i/o: e_fopen() changed to e_open(), etc., e_write(),
Packit 57a33d
      etc. introduced, convert_die() abadoned
Packit 57a33d
    * return codes slightly changed to distinguish between guessing failure
Packit 57a33d
      and i/o failure
Packit 57a33d
    * get_xtable() and generate_xtable() changed to be able to generate identity
Packit 57a33d
      (that is then used in convert_internal_stdin())
Packit 57a33d
    * not all i/o failures cause aborting
Packit 57a33d
    * documentation improvements and corrections, as usual
Packit 57a33d
Packit 57a33d
2000-09-30 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * temporary file creation is tried 3x and existing temporary files are not
Packit 57a33d
      overwirtten
Packit 57a33d
Packit 57a33d
v0.7.0
Packit 57a33d
2000-09-25/26 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * removed option `disable external converter' (-e), empty -C parameter
Packit 57a33d
      can be used instead
Packit 57a33d
    * e_tmpf() divided to e_tmpf() creating the file and e_tmpfname() generating
Packit 57a33d
      temporary file name
Packit 57a33d
    * fixed memory leak (not freeing tmpfname) in convert_recode() and
Packit 57a33d
      convert_external()
Packit 57a33d
    * man page updated
Packit 57a33d
Packit 57a33d
2000-09-24/25 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * fixed io_pos == 0 bug when enca converts stdin as dull converter
Packit 57a33d
    * unicode.* renamed to unicodemap.*
Packit 57a33d
    * -x encoding separator changed to .. to be compatible with recode and
Packit 57a33d
      comply RFC 1345 (allowing comma in encoding names)
Packit 57a33d
    * multiple .. allowed in -x argument to make possible specify recode chains
Packit 57a33d
      (but only recode understand them)
Packit 57a33d
    * ffname() divided to ffname_r() and ffname_w(), one returns stdin name one
Packit 57a33d
      stdout name
Packit 57a33d
    * implemented convert_recode() converting via recode library
Packit 57a33d
    * conditionaly added program_name and other stuff requred by librecode
Packit 57a33d
    * == changed to = in bcstocs and brecode to make them work in older bash
Packit 57a33d
    * conversion to the same encoding no longer causes warnings
Packit 57a33d
    * conversion to the same encoding works correctly even for stdin
Packit 57a33d
    * ascii no longer considered unknown encoding
Packit 57a33d
    * introduced verbose option (-V), converter now prints what is doing on
Packit 57a33d
      -V not on -p
Packit 57a33d
    * librecode interface _disabled_ by default in configure.in
Packit 57a33d
Packit 57a33d
2000-09-23/24 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * two underscores removed from begin (and end) of #defines to comply ISO C
Packit 57a33d
    * guess read buffer and convert read/write buffer merged (the same applies
Packit 57a33d
      to BUFFER_SIZE and Settings.ReadLimit) and this io_buffer made persistent
Packit 57a33d
      (created by new functions enca_init(), destroyed by enca_done()) so
Packit 57a33d
      information from stdin does not get lost
Packit 57a33d
    * user specified read limit is rounded up to nearest multiple of 16
Packit 57a33d
    * convert_internal() splitted to convert_internal_file() and
Packit 57a33d
      convert_internal_stdin(), that converts stdin to stdout
Packit 57a33d
    * introduced e_tmpf() creating temporary files since none of glibc functions
Packit 57a33d
      does The Right Thing (execept maybe non-POSIX tempnam())
Packit 57a33d
    * convert_external() creates temporary file and put stdin there if stdin is
Packit 57a33d
      to be converted and passes `-' as fourth parameter to converter
Packit 57a33d
      instructing it to send output to stdout
Packit 57a33d
    * bcstocs and brecode rewritten to recognize the fourth parameter and put
Packit 57a33d
      under GNU GPL
Packit 57a33d
    * a new output type OT_ALIAS (option -g) introduced that lists all known
Packit 57a33d
      aliases and -f does approximately the same as in 0.6 serie again
Packit 57a33d
    * resloved strange dependencies between langdata and langhook
Packit 57a33d
    * fixed e_tmpf() passing-by-value bug
Packit 57a33d
    * encoding names specified as -x parameters are converted to lowercase
Packit 57a33d
    * fixed terrible typo || -> && in bcstocs and brecode
Packit 57a33d
Packit 57a33d
2000-09-22/23 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * introduced recode wrapper script, brecode
Packit 57a33d
    * introduced is_subset_consistent() checking if characters have the same
Packit 57a33d
      meaning in two encodings (unfortunately makes guess.c dependent on
Packit 57a33d
      unicode.h)
Packit 57a33d
    * implemented -M (by function sms_hook())
Packit 57a33d
    * activation and usefulness of sms_hook() reported by -d
Packit 57a33d
    * added Cork encoding to unicode.c to make -M useful (but conversion from/to
Packit 57a33d
      Cork is still quite bad, and should be done by cstocs/librecode only)
Packit 57a33d
    * implemented e_malloc(), e_calloc() and e_realloc() aborting on failure,
Packit 57a33d
      declared free() in common.h, defined NEW() allocator [this one is really
Packit 57a33d
      braindead]
Packit 57a33d
Packit 57a33d
2000-09-21/22 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * fixed not-initalizing-encoding-table coredump
Packit 57a33d
    * added new output type OT_RFC1345 (option -r), some OT's renamed
Packit 57a33d
    * added -r and -M options (-M accepted, but not implemented yet)
Packit 57a33d
    * prefixing with filename is now on by default when run on more than one
Packit 57a33d
      file
Packit 57a33d
    * added RFC 1345 names and in consequence renamed name* memebers of
Packit 57a33d
      S_EncRaw and S_EncStat to keep namespace consistent
Packit 57a33d
    * much more (in fact all known) aliases listed in full names -- maybe too
Packit 57a33d
      many
Packit 57a33d
    * in detailed output is now file name printed on the top and cstocs and RFC
Packit 57a33d
      1345 names are printed separately in (bottom) result part
Packit 57a33d
    * hook name is not fixed, but part of langdata_cs.c (still not very clean,
Packit 57a33d
      though)
Packit 57a33d
Packit 57a33d
2000-09-17/18 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * moved to autoconf/automake (not respected by the C sources yet)
Packit 57a33d
    * reorganized to deep package
Packit 57a33d
    * fixed `cd . && pwd` bug in automake :-(
Packit 57a33d
    * old config.h renamed to defaults.h
Packit 57a33d
    * rawdata.c and rawuni.c merged with encdata.c and encuni.c mainly to avoid
Packit 57a33d
      problems with automake
Packit 57a33d
    * bcstocs now prints error message when it fails, to make things clear
Packit 57a33d
    * encopt* renamed to options*, encuni* to unicode* and encdata* to
Packit 57a33d
      langdata*
Packit 57a33d
    * enca.c split to convert.c, guess.c, printresult.c and langhook.c,
Packit 57a33d
      header files introduced, some functions renamed and their parameters
Packit 57a33d
      changed (too many changes to list here)
Packit 57a33d
      (greetings to Halef)
Packit 57a33d
    * process_file() now only controls what actions should be taken and no
Packit 57a33d
      longer does anything itself
Packit 57a33d
    * print_results() no longer calls converter, this is done in process_file()
Packit 57a33d
    * results of guessing passed encapsulated in struct S_GResult
Packit 57a33d
    * language specific files (lang*) got _cs extension
Packit 57a33d
    * HELP_TEXT and VERSION_TEXT defined as strings instead of macros
Packit 57a33d
    * common stuff moved to common.c/common.h
Packit 57a33d
      [enca now compiles but doesn't work yet]
Packit 57a33d
Packit 57a33d
v0.6.2
Packit 57a33d
2000-08-17 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * help texts (-h and -v) improved, thanx to Halef
Packit 57a33d
    * some other minor changes in docs
Packit 57a33d
Packit 57a33d
v0.6.1
Packit 57a33d
2000-08-15 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * tarball repacked with files encuni.c, rawuni.c, rawuni.h missing in
Packit 57a33d
      0.6.0 tarball
Packit 57a33d
    * bcstocs magic line changed to #!/bin/bash
Packit 57a33d
    * TODO updated to reflect current work on 0.7
Packit 57a33d
Packit 57a33d
v0.6.0
Packit 57a33d
2000-07-20 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * formal changes in rawdata.c
Packit 57a33d
    * internal converter implemented (rawuni.c, encuni.c, enca.c)
Packit 57a33d
    * -x can now take form -x in_enc,out_enc
Packit 57a33d
    * introduced options -e and -E
Packit 57a33d
    * introduced option -l
Packit 57a33d
    * READLIMIT_MAX changed back to 1MB
Packit 57a33d
    * man page improved(?)
Packit 57a33d
Packit 57a33d
v0.5.0
Packit 57a33d
2000-07-17 Yeti<yeti@physics.muni.cz>
Packit 57a33d
    * waits for converter to return (much slower conversion, but doesn't
Packit 57a33d
      produce `cannot fork()'s)
Packit 57a33d
    * -p makes -x print what is doing
Packit 57a33d
    * fixed `Unrecognized encoding' when winner is 1250 (from 0.4.3)
Packit 57a33d
    * _exit() in converter caller corrected to exit() since we don't use
Packit 57a33d
      vfork()
Packit 57a33d
    * use EXIT_SUCCESS and EXIT_FAILURE instead of 0 and 1
Packit 57a33d
    * aborts when it cannot close open file (since it means something very
Packit 57a33d
      bad is happening)
Packit 57a33d
    * added forgotten z-with-check to il2/1250 hack
Packit 57a33d
    * il2/1250 hack put to separate function
Packit 57a33d
    * (minimalistic) config.h introduced
Packit 57a33d
    * READLIMIT_MAX put to config.h and changed to 4MB
Packit 57a33d
    * recomputed statistical data (probably not the last time)
Packit 57a33d
    * also other defaults put to config.h
Packit 57a33d
    * corrected -d table alignment
Packit 57a33d
    * fixed not initializing significancy table
Packit 57a33d
    * added -f to cp and rm in Makefile
Packit 57a33d
    * some other code clean-ups
Packit 57a33d
Packit 57a33d
v0.4.3
Packit 57a33d
2000-07-14 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * corrected short encoding name t1 -> cork
Packit 57a33d
    * corrected some dividing by zero resulting inf/nan rating
Packit 57a33d
    * il2/1250 hack made more logical
Packit 57a33d
    * -d prints encodings alphabetically sorted
Packit 57a33d
    * significancy table is computed only once
Packit 57a33d
Packit 57a33d
v0.4.2
Packit 57a33d
2000-07-13 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * removed options -m/-M since it's nonsense to maintain something marked
Packit 57a33d
      `do not use' in man page
Packit 57a33d
    * -p now shows stdin as <STDIN>, instead of empty string
Packit 57a33d
    * ascii and ??? made `encodings'
Packit 57a33d
    * bcstocs doesn't depend on mktemp
Packit 57a33d
    * some other code clean-ups
Packit 57a33d
Packit 57a33d
v0.4.1
Packit 57a33d
2000-07-12 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * silly default of 60 significant characters changed to 10
Packit 57a33d
    * minor bugfixes and corrections
Packit 57a33d
Packit 57a33d
v0.4.0
Packit 57a33d
2000-07-10 Yeti <yeti@physics.muni.cz>
Packit 57a33d
    * rewritten from scratch in ISO C