| 12000-09-26 Bruno Haible <bruno@linuix.math.u-bordeaux.fr> 2 3 * gperf-2.7.2 released. 4 5 * doc/gperf.texi: Add a second bug report address 6 <gperf-bugs@lists.sourceforge.net>. 7 * README: Updated. 8 92000-08-28 Bruno Haible <bruno@linuix.math.u-bordeaux.fr> 10 11 * lib/getopt.h (struct option): Use "const" also when compiling in 12 C++ mode. Avoids warnings from Sun CC and HP-UX aCC. 13 14 * doc/Makefile.in (docdir): Change from $(datadir)/doc/@PACKAGE@ to 15 $(prefix)/doc/@PACKAGE@, following the newest GNU standards. 16 172000-08-20 Bruno Haible <bruno@linuix.math.u-bordeaux.fr> 18 19 * src/version.cc: Bump version number to 2.7.2. 20 * doc/gperf.texi: Likewise. 21 22 * doc/texinfo.tex: Update to post-texinfo-4.0 version. @code in the 23 title page now chooses a larger font. The overall layout of the 24 text is denser. 25 26 * AUTHORS: New file. 27 28 * tests/Makefile.in (all): Add check-lang-utf8 and check-lang-ucs2. 29 (check-lang-utf8, check-lang-ucs2): New targets. 30 (clean): Remove lu8out and lu2out. 31 * tests/lang-utf8.gperf, tests/lang-utf8.exp: New files. 32 * tests/lang-ucs2.gperf, tests/test2.c, tests/lang-ucs2.in, 33 tests/lang-ucs2.exp: New files. 34 35 Allow the use of embedded NULs in keys. 36 * lib/hash.h (hashpjw): Add a length argument. 37 * lib/hash.cc (hashpjw): Likewise. Don't stop when encountering a NUL 38 character. 39 * src/hash-table.h (Hash_Table constructor): Add ignore_len argument. 40 (Hash_Table::ignore_length): New field. 41 (Hash_Table::insert): Renamed from Hash_Table::operator(). Remove 42 ignore_length argument. 43 * src/hash-table.cc (NIL): Remove macro. 44 (Hash_Table constructor): Add ignore_len argument. Use it to 45 initialize ignore_length. 46 (Hash_Table destructor): Specify explicit length of char_set and 47 key. 48 (Hash_Table::insert): Renamed from Hash_Table::operator(). Remove 49 ignore_length argument. Pass explicit length to hashpjw. Compare 50 char_set using memcmp, not strcmp. 51 * src/list-node.h (List_Node): Rename field length to key_length. 52 New field char_set_length. 53 (List_Node constructor): Accept key and rest, not the entire line. 54 * src/list-node.cc (List_Node constructor): Accept key and rest, not 55 the entire line. Don't NUL terminate key and char_set. Specify 56 explicit length of key. Initialize char_set_length field. 57 * src/key-list.cc: Include <ctype.h>. 58 (parse_line): New function. 59 (Key_List::read_keys): Call parse_line instead of new List_Node. 60 Pass option[NOLENGTH] to Hash_Table constructor, not 61 Hash_Table::insert. Specify explicit length of key and char_set. 62 (Key_List::get_occurrence): Use explicit length of char_set. 63 (Key_List::set_determined): Likewise. 64 (Key_List::already_determined): Likewise. 65 (output_string): Add length argument. Output unprintable characters 66 using octal escape sequence. 67 (output_keyword_entry): Use explicit length of key. 68 (Key_List::output_lookup_array): Specify explicit length of key. 69 (output_switch_case): Likewise. 70 (Key_List::dump): Likewise. 71 * src/gen-perf.h (Gen_Perf::compute_disjoint_union): Add two length 72 arguments. 73 * src/gen-perf.cc (Gen_Perf::compute_disjoint_union): Likewise. Don't 74 stop when encountering NUL characters. Don't NUL terminate the 75 result. 76 (Gen_Perf::hash): Use explicit length of char_set. 77 (Gen_Perf::change): Specify explicit length of key. 78 * doc/gperf.texi: Document it. 79 80 * doc/help2man: New file, help2man version 1.022. 81 * Makefile.devel (all): Add doc/gperf.1. 82 (doc/gperf.1): New target. 83 * doc/gperf.1: Automatically generated. 84 85 * mkinstalldirs: New file, from automake-1.4, grep-2.4.1, guile-1.4, 86 libtool-1.3.3, make-3.79.1, tar-1.13. 87 * src/Makefile.in (MKINSTALLDIRS): New variable. 88 (install, installdirs): Use it instead of mkdir. 89 * doc/Makefile.in (MKINSTALLDIRS): New variable. 90 (install, installdirs): Use it instead of mkdir. 91 92 * INSTALL: Update. 93 942000-08-19 Bruno Haible <bruno@linuix.math.u-bordeaux.fr> 95 96 * src/key-list.cc (Output_Compare_Memcmp): New class. 97 (Key_List::output_lookup_function): When option -l is given, use 98 memcmp instead of strcmp or strncmp. 99 100 * doc/gperf.texi: The bug report address is <bug-gnu-utils@gnu.org>. 101 The download address is ftp.gnu.org. Remove mention of -a and -g 102 options (now nops). Explain effect of -c option. 103 104 * doc/configure.in (PACKAGE): New variable. 105 * doc/Makefile.in (datadir, docdir): New variables. 106 (dvidir, htmldir): Change values. 107 (install, installdirs): Update. 108 109 * src/configure.in: Rename cache variable gp_cxx_throw_decl to 110 gp_cv_cxx_throw_decl. 111 112 * src/key-list.cc (Key_List::output_hash_function): When outputting 113 __inline, take advantage of C++ compilers which have inline. 114 115 * src/key-list.cc (Output_Compare_Strncmp::output_comparison): 116 After the call to strncmp, verify that expr2 is not longer than 117 `len'. 118 Reported by Carlo Wood <carlo@runaway.xs4all.nl>. 119 120 * src/key-list.cc (Key_List::output_lookup_function_body): Avoid 121 emitting the loop for dealing with duplicates if 122 total_duplicates == 0. 123 124 * src/key-list.cc (Key_List::read_keys): Don't accept an empty key. 125 126 * src/Makefile.in (install, installdirs, uninstall): Respect 127 $(DESTDIR). 128 * doc/Makefile.in (install, installdirs, uninstall): Likewise. 129 130 * src/options.cc (Options::print_options): Escape the arguments which 131 contain special characters. 132 133 * tests/c-parse.gperf: Updated from gcc-2.95.2/gcc/c-parse.gperf. 134 * tests/objc.gperf: New file, from gcc-2.95.2/gcc/objc/objc.gperf. 135 * tests/chill.gperf: New file, from gcc-2.95.2/gcc/ch/gperf. 136 * tests/cplusplus.gperf: New file, from gcc-2.95.2/gcc/cp/gxx.gperf. 137 * tests/gplus.gperf: Remove file. 138 * tests/java.gperf: New file, from gcc-2.95.2/gcc/java/keyword.gperf. 139 * tests/Makefile: Check them all. 140 * tests/c-parse.exp: Renamed from tests/test-1.exp. 141 * tests/modula2.exp: Renamed from tests/test-2.exp. 142 * tests/cplusplus.exp: Renamed from tests/test-3.exp. 143 * tests/gpc.exp: Renamed from tests/test-5.exp. 144 145 * src/key-list.cc (output_switch_case): Add trailing semicolon to 146 lengthptr assignment line. Fixes bug with -D and -S. 147 From Reini Urban <rurban@sbox.tu-graz.ac.at>. Also reported by 148 David Hunter. 149 * tests/Makefile.in (check-lang-syntax): Perform each test with -D 150 once without and once with duplicates. 151 152 * src/key-list.cc (output_keyword_entry): Avoid outputting a struct 153 initializer of the form {"key",}. 154 155 * src/iterator.cc: Don't include <stream.h>. 156 From Michael Deutschmann <ldeutsch@mail.netshop.net>. 157 158 * tests/Makefile.in (VALIDATE, check-lang-syntax): Use $(srcdir) where 159 appropriate. 160 Reported by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>. 161 162 * tests/validate: Don't run -traditional tests by default. 163 164 * src/main.cc (main): Check for write error on stdout before returning. 165 166 * src/Makefile.in (LDFLAGS): New definition, to catch the value given 167 at configure time. 168 169 Make the structure initializers customizable. Based on a patch by 170 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>. 171 * src/options.h (Options::get_initializer_suffix, 172 Options::initializer_suffix): New declarations. 173 * src/options.icc (Options::get_initializer_suffix): New function. 174 * src/options.cc (DEFAULT_INITIALIZER_SUFFIX): New constant. 175 (Options::initializer_suffix): New variable. 176 (Options::short_usage): Document option "-F". 177 (Options::long_usage): Document option "-F". 178 (Options constructor): Initialize initializer_suffix. 179 (Options destructor): Dump initializer_suffix. 180 (long_options): Add option "-F". 181 (Options::operator()): Accept option "-F". Sets initializer_suffix. 182 * src/key-list.cc (output_keyword_blank_entries): Output 183 initializer_suffix. 184 * doc/gperf.texi: Document option "-F". 185 186 * COPYING: Replace with GPL version 2 (with new FSF address and Y2K 187 safe year format). 188 189 * doc/gpl.texinfo: New file. 190 * doc/gperf.texi: Document it. 191 * doc/Makefile.in (gperf.info, gperf.dvi, gperf.html, gperf_toc.html): 192 Update dependencies. 193 194 * doc/Makefile.in (MAKEINFO): Unset LANG while running makeinfo. 195 1961998-05-20 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de> 197 198 * doc/Makefile.in (gperf.dvi, clean): Remove gperf.cps. 199 (install, installdirs, uninstall): Don't install gperf.dvi. The 200 info and HTML documentations are sufficient for on-line use, and 201 users who wish to print the documentation (in PS or DVI format) 202 can do this directly off the source distribution. 203 (DVIPS): Use "-D600" instead of "-Pljfour", for portability. 204 2051998-05-20 Akim Demaille <demaille@inf.enst.fr> 206 207 * doc/gperf.texi: Many modifications: 208 (Output Format): Declare `hash' and `in_word_set' as functions. 209 (Concept Index): New section. 210 (Title page): Use standard presentation. 211 (Top): Use @top instead of @unnumbered so that automatic master 212 update works. 213 (Motivation): Avoid spaces in @var. 214 (Options): Use the standard name ``Invoking ...''. 215 (Options): Declare also the long form of the options. 216 (Options): Remove redundant @itemize when @table is used. 217 2181998-05-08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 219 220 * aclocal.m4 (CL_PROG_INSTALL): Set cl_cv_path_install, not 221 ac_cv_path_install. 222 223Sat May 2 13:20:54 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de> 224 225 * gperf-2.7 released. 226
|