home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fonts 1 / freshfonts1.bin / bbs / programs / amiga / makeindex.lha / makeindex-2.12 / src / LOG < prev    next >
Text File  |  1991-10-19  |  24KB  |  555 lines

  1.                Revision History for MakeIndex
  2.  
  3. This is a reverse time-ordered history of changes to MakeIndex.
  4.  
  5. -----------------------------------------------------------------
  6. [19-Oct-1991]
  7.     Merged in small set of changes into mkind.c and mkind.h for
  8.     IBM VM/CMS support.  Since there are no operational changes,
  9.     and 2.11 has only been distributed to the beta test list,
  10.     I'm leaving the version number at 2.11, and advancing the date.
  11.  
  12. [11-Sep-1991]
  13.     Version 2.11 released by Nelson H.F. Beebe <beebe@math.utah.edu>
  14.  
  15.     This version incorporates feedback from test sites for 2.10,
  16.     and importantly, replaces memory-gobbling fixed strings in the
  17.     index entries with dynamically-allocated strings, reducing the
  18.     storage per entry from 1844 bytes to 80 bytes + actual string
  19.     lengths.  For details, see the new NOTES file.  The use of
  20.     dynamic strings now lets MakeIndex 2.11 process all of the
  21.     entries in test/b209f.idx; with MakeIndex 2.10 and earlier, 6
  22.     were rejected because of long fields.
  23.  
  24.     Reorder two lines in doc/makeindex.l to avoid single quote at
  25.     beginning of line, which nroff and troff then lose.
  26.  
  27.     Move typeout of version string in mkind.c to before parsing of
  28.     style file; otherwise, MakeIndex can terminate with an error
  29.     message before identifying itself.
  30.  
  31.     Correct argument parsing in mkind.c to check for a following
  32.     argument before assuming it is there.
  33.  
  34.     Change long macro PUT_HEADER in genind.h to function
  35.     put_header() in genind.c; it was too long for some compilers.
  36.  
  37.     Correct bad args to STY_ERROR2() in scanst.c (had LINE_MAX
  38.     instead of LINEMAX).
  39.  
  40.     Correct array dimension in flush_line() in genind.c from
  41.     tmp[LINE_MAX] to tmp[sizeof(buff)]; long index entries
  42.     otherwise overwrote stack storage.
  43.  
  44.     Correct array dimension in mkind.c from pageno[STRING_MAX] to
  45.     pageno[NUMBER_MAX].
  46.  
  47.     Correct array dimension in scanid.c from keyword[STRING_MAX]
  48.     to keyword[ARRAY_MAX].
  49.  
  50.     Correct two array dimensions in genind.c from 2*STRING_MAX to
  51.     2*ARGUMENT_MAX.
  52.  
  53.     Document array sizes xxx_MAX in mkind.h (note above corrections).
  54.  
  55.     Add more code in scanid.c to check for overflow of field[].  A
  56.     case was found where overwriting occurred if an idx_escape is
  57.     found when i == ARRAY_MAX - 1.  In this new version, the length
  58.     is no longer ARRAY_MAX, but is passed as an additional argument
  59.     to the function scan_field().
  60.  
  61.     In sortid.c, change type of idx_gc from `int' to `long' to avoid
  62.     integer overflow or wraparound when there are more than 32767
  63.     (or whatever the host INT_MAX value is) comparisons.
  64.  
  65.     Change two tests in scanid.c in scan_roman_lower() and
  66.     scan_roman_upper() from "if (... && (new = ...))" to
  67.     "if (... & ((new = ...) != 0))" to suppress compiler warnings on
  68.     some systems about possible error in use of = instead of ==.
  69.  
  70.     Add test/b211a.idx to test MakeIndex with very long
  71.     index fields near, at, and beyond the standard internal array
  72.     dimensions.
  73.  
  74.     Add test/b211b.{idx,ist} to test MakeIndex with the German
  75.     sort option.
  76.  
  77.     Add missing "level = i;" in genind.c; this fixes an obscure bug
  78.     that is seen only when certain style files are used.  The
  79.     test/b211b.idx file tests the fix.
  80.  
  81.     Lattice has gone out of business, so the files src/make-lc.bat
  82.     and src/makefile.lc are in some sense obsolete, and will receive
  83.     no further maintenance.  They are retained in the distribution
  84.     for now because some sites may still be using that compiler.
  85.  
  86.     Revise scanid.c to permit idx_quote (by default, a quotation
  87.     mark) to quote ANY input character in the first argument to
  88.     the indexentry macro.  Revise sortid.c to use unsigned char
  89.     data for sorting, removing architecture dependence.  This also
  90.     requires a change in the TOLOWER and TOUPPER macros in mkind.h.
  91.     This is an important extension to MakeIndex: it permits sort
  92.     keys to be created for all ASCII characters, including braces
  93.     and others that otherwise have significance to MakeIndex (by
  94.     default, @, |, !).  It also permits the user to get characters
  95.     1..255 into the actual field; this will be important for TeX
  96.     3.0 which can support a 256-character set.  Character 0 cannot
  97.     be easily supported, because it is a string terminator in C,
  98.     the language in which MakeIndex is currently implemented.  A
  99.     future extension might support an escape mechanism for it.
  100.     Too bad MakeIndex was not originally designed to support
  101.     C-like \ooo (octal) and \xhh (hexadecimal) escape sequences!
  102.     The file test/b211e.idx tests the sorting and display of all
  103.     characters in 1..255, and the file test/b211e.ltx typesets the
  104.     test index.  Because Ctl-Z is an end-of-file marker in PC DOS
  105.     text files, test/b211h.idx is derived from test/b211e.idx by
  106.     removing the line with that character, and used in dosdiff.bat
  107.     in place of b211e.  Note that MakeIndex collates space and the
  108.     characters in 1..31 and 127..255 somewhat differently than
  109.     ASCII.  The MakeIndex order is:
  110.  
  111.         punctuation characters (in ASCII order),
  112.         digits,
  113.         control characters (1..31),
  114.         space (32),
  115.         letters (ignoring case),
  116.         characters 127 .. 255.
  117.  
  118.     In prepare_idx() in mkind.c, add a check for a NULL `head';
  119.     this can arise if the input file is garbage (e.g. you type
  120.     makeindex foo, meaning foo.idx, but a foo file already exists,
  121.     and is used instead of foo.idx).  Without this check, a NULL
  122.     pointer is subsequently dereferenced, with core dumps on some
  123.     machines.  The problem really lies in process_index() in
  124.     mkind.c, where idx_tc gets incremented before we know we have
  125.     a valid entry, such that in main(), idx_gt gets set to 1, when
  126.     `head' is still NULL.  It seems easier to catch this error in
  127.     prepare_idx() instead of process_index().
  128.  
  129.     Add additional architecture-specific targets to Makefile
  130.     to incorporate the compiler switches shown under the 2.10
  131.     LOG file entry below.
  132.  
  133.     The book.idx file is still too big for a Turbo C 2.0 compiled
  134.     version of MakeIndex 2.11 on MS DOS to handle.
  135.  
  136.     Fix several loops that called GET_CHAR() without checking
  137.     for an EOF result (genind.c, mkind.c, mkind.h, scanid.c,
  138.     scanst.h).
  139.  
  140.     Fix range handling error in compare_page() in sortid.c; the file
  141.     test/b211f.idx tests that the fix is correct.
  142.  
  143.     Incorporate bug repairs from:
  144.  
  145.         Eberhard Mattes <mattes@azu.informatik.uni-stuttgart.de>
  146.  
  147.         Mark James <mark@bdblues.altair.fr>, <mark@nuri.inria.fr>
  148.  
  149. -----------------------------------------------------------------
  150. [05-Jul-1991]
  151.     Version 2.10 released by Nelson H.F. Beebe <beebe@math.utah.edu>
  152.  
  153.     Testing of this version has been carried out on these systems:
  154.  
  155.         ===================================    =================
  156.         System                    Compile Defines
  157.         ===================================    =================
  158.         Apollo DN/10000                -DOS_SYSV -U__STDC__
  159.         DECstation Ultrix 4.2
  160.         HP 375 (4.3BSD)
  161.         HP 9000/720 (HP-UX, System V UNIX)    -DOS_SYSV
  162.         HP 9000/850S (HP-UX, System V UNIX)    -DOS_SYSV
  163.         IBM 3090/600S-VF AIX            -D_BSD
  164.         IBM PC DOS
  165.         IBM RS/6000 AIX 3.1
  166.         NeXT Mach
  167.         Silicon Graphics 4D-240            -DOS_SYSV
  168.         Stardent 1520 UNIX Release 2.2
  169.         SunOS 4.1.1 (BSD UNIX)
  170.         VAX VMS 5.3
  171.         ===================================    =================
  172.  
  173.     This version addresses all outstanding bug reports that I am
  174.     aware of, and brings the code completely up to the level of
  175.     Standard C (ANSI X3.159-1989 Programming Language--C, ISO C
  176.     1990).
  177.  
  178.     In test/, rename long filenames to shorter ones, and add
  179.     several new test files, and a Makefile to automate the testing
  180.     of a new version on UNIX.
  181.  
  182.     Add a README file with compilation instructions.
  183.  
  184.     In mkind.c, mkind.h, and scanst.c, rename LONG_MAX to
  185.     ARRAY_MAX.  LONG_MAX is used in Standard C for the largest
  186.     long integer.
  187.  
  188.     In mkind.h, drop IBM_PC_LATTICE.  There were no uses of it
  189.     elsewhere in the code, and Lattice is no longer in business, and
  190.     Microsoft C and Turbo C are now the major compilers on PC DOS
  191.     (Waterloo and TopSpeed lag far behind).  Existing support for
  192.     TOPS-20 will be retained for now, even though by the end of
  193.     1991, there may not be any more TOPS-20 systems alive; ours was
  194.     retired 31-Oct-1990, and the American Mathematical Society's on
  195.     31-Mar-1991.
  196.  
  197.     In mkind.h, except in OS_PCDOS, increase STRING_MAX from 128 to
  198.     256, and in genind.c, change dimensions of 2*LINE_MAX to
  199.     2*STRING_MAX.  Anita Hoover <anita@brahms.udel.edu> repor