Expand PMF_FN_* macros.
[netbsd-mini2440.git] / external / bsd / flex / dist / NEWS
blob19783b7cab9e49b336698a6b64186f16c36f81bd
1 This is the file NEWS for the flex package. It records user -visible
2 changes between releases of flex.
4 See the file COPYING for copying conditions.
6 * version 2.5.35 released 2008-02-26
8 ** fixed bug that prevented flex from accepting certain comments in the
9   scanner file (resolves bugs #1849809 and #1849805)
11 ** fix bug that prevented headers for all functions from being generated
12   (resolves bug #1628314)
14 ** change yy_size_t to be size_t (resolves bug #1849812)
16 ** new de, nl, pl, pt_br, vi translations from the translation project
18 * version 2.5.34 released 2007-12-12
20 ** introduce yylex_init_extra; see the manual for details
22 ** introduce %option extra-type="your_type *" (resolves bug #1744505)
24 ** The flex program now parses multiple short concatenated options (resolves bug
25   #1619820). Thanks to Petr Machata of Red Hat on this issue.
27 ** better checking after yyalloc/yyrealloc (resolves bug #1595967)
29 ** flex now provides for a libfl_pic.a compiled with position
30    independent code. Particularly useful when including a flex scanner
31    in a shared library and with more recent versions of gcc. Thanks to the Debian project for the idea.
33 ** SourceForge feature request #1658379: Expose YY_BUF_SIZE in the
34         header file.
36 ** flex better escapes filenames with special characters in them
37    (resolves bug #1623600)
39 ** a memory leak was plugged(resolves bug #1601111)
41 ** pattern language expanded; see the manual for details on the below
42    highlights
44 *** pattern options added to specify patterns as case-insensitive or
45     case-sensitive
47 *** pattern options to specify whether the "." character should match
48     the newline character
50 *** pattern options added to allow ignoring of whitespace in patterns
52 *** POSIX character classes may be negated in patterns
54 *** patterns may now use set difference, union operators
56 ** the manual now contains an appendix listing various common patterns
57    which may be useful when writing scanners
59 ** some memory leaks were removed from the C++ scanner (but the C++
60   scanner is still experimental and may change radically without
61   notice)
63 ** c++ scanners can now use yywrap
65 ** added new unit test for c++ and yywrap
67 ** portability fixes to some unit tests
69 ** flex man page and flex manual in pdf now distributed in the flex
70 distribution
72 ** new ca, vi, ga, nl translations from the translation project
74 ** flex no longer comes with an rpm spec file
76 ** flex development now happens with automake 1.9.6
78 * version 2.5.33 released 2006-2-20
80 ** all flex resources are now to be found from the website at
81    http://flex.sourceforge.net/
83 ** there was no release 2.5.32 published
85 ** numerous bug and security fixes
87 ** new nl, vi, sv, ro, po, ga, ca, fr, tr translations from the translation project
89 ** upgrade to use gettext 0.12 (this now makes the "pdf" and "ps"
90    targets in the build system able to be run successfully)
92 * version 2.5.31 released 2003-4-1
94 ** remove --enable-maintainer-mode configure option; none of the
95    Makefiles were using it and it can be unduely confusing
97 * version 2.5.30 released 2003-4-1
99 ** yylineno is per-buffer in reentrant scanners
101 ** added %top directive for placing code at the top of the generated
102    scanner; see manual for details
104 ** flex now uses m4 to generate scanners; while this means that
105    scanners are more readable, it means that flex requires m4 to be
106    installed; see manual for details
108 * version 2.5.29 released 2003-3-5
110 ** Automatic stack management for multiple input buffers in C and C++ scanners
112 ** moved the flex documentation to a new doc/ subdirectory
114 ** cleanups to the yy namespace
116 * version 2.5.28 released 2003-2-12
118 ** flex is now hosted at sourceforge
120 ** Fixed trailing slash bug in YY_INPUT macro def
122 ** Flex now warns if always-interactive is specified with fast or full
124 * version 2.5.27 released 2003-1-21
126 ** flex now works with recent bison versions
128 ** new pt_br translation from the translation project
130 * version 2.5.26 released 2003-1-14
132 ** Fixed table deserialization bug on big-endian archs. Patch sent from Bryce Nichols <bryce@bnichols.org>
134 ** yyleng has proper declarations now; this caused flex to generate
135    unusable scanners for some programs
137 ** the flex distribution now includes a spec file suitable for use
138    with rpm
140 ** some more c++ fixes
142 ** new es translation from the translation project
144 ** slight tweeks to the flex_int*_t types
146 ** flex now warns about pattern ranges that might be ambiguous when
147    generating a case-insensitive scanner
150 * version 2.5.25 released 2002-12-2
152 ** flex now uses flex_int*_t types. For C99 systems, they are just the
153    int*_t types; for non-C99 systems, we just make some typedefs
155 ** new pt_br translation from the translation project
157 * version 2.5.24 released 2002-11-25
159 * more portability fixes
161 ** the manual continues to be updated and edited, but it's still got a
162    ways to go
164 ** it is possible to have multiple c++ scanners in the same program again
166 ** new turkish translation from the translation project
168 * version 2.5.23 released 2002-10-21
170 ** more portability fixes
172 ** the manual includes a title page and a table-of-contents when printed
174 ** the test suite can be run with "make check" from the top-level
175    directory
177 ** configure now accepts the --enable-maintainer-mode option
179 ** gettext functionality is now only available externally
181 ** the constant FLEX_BETA is defined if flex is a beta release
183 ** the script create-test was not included in the distribution and it
184    should have been
186 * version 2.5.22 released 2002-10-10
188 ** more portability fixes around how we get ahold of the integral
189    types; there is a constant FLEX_NEED_INTEGRAL_TYPE_DEFINITIONS
190    which you should define if you don't have the <inttypes.h> header
191    file (after you complain to your C vendor for not providing a
192    reasonable C environment)
194 ** more test suite cleanups; in particular, the test suite should run
195    correctly when build from a different directory
197 ** upgraded automake to 1.7 and consequently autoconf to 2.54; this
198    means, among other things, that there is some support for
199 formatting the manual in postscript and pdf in the distributed
200    Makefile.in (and therefore in the Makefile built by configure)
202 ** the flex.1 manpage is generated by help2man; (this has been true
203    for quite a while but was not listed here)
205 ** flex now includes three defined constants to indicate which version
206   of flex generated a scanner (YY_FLEX_{MAJOR,MINOR,SUBMINOR}_VERSION)
208 ** flex tries its best to output only the relevant portions of the
209    skeleton when generating a scanner, thus avoiding as much
210    conditional compilation as possible
212 * version 2.5.21 released 2002-9-17
214 ** one of the tests in the test suite broke the dist target
216 * version 2.5.20 released 2002-9-16
218 ** A flex scanner has the ability to save the DFA tables to a file,
219    and load them at runtime when needed; see the manual for details
221 ** Added %option bison-bridge (--bison-bridge)
223 ** Removed %option reentrant-bison/--reentrant-bison/-Rb
225 ** yylineno is present in all scanners; Modified nasty performance
226    penalty warning with yylineno in documentation
228 ** test-table-opts is now run last in the test suite because it's so fat
230 ** flex can, to some extent, diagnose where internal problems occur
232 ** new translations from the translation project: fr, ca, de, ru, sv
234 **Flex generates C99 defs now; see YY_TRADITIONAL_FUNC_DEFS in the
235   manual if that's not a good thing for you
237 * version 2.5.19 released 2002-9-5
239 ** prevent segfault on input lines which are longer than the allocated
240    space (problem report from Manoj Srivastava
241    <srivasta@golden-gryphon.com>)
243 ** Changed option 'header' to 'header-file'
245 * version 2.5.18 released 2002-9-4
247 ** portability fixes for integer constants and in the way the test
248    suite reports its results
250 ** the test for bison was reporting bison missing when it was, in
251    fact, found
253 ** if we don't find GNU indent, we're more careful when we're not
254    finding it
256 * version 2.5.17 released 2002-8-29
258 ** more portability fixes
260 ** updated config.sub and config.guess
262 ** flex is indented by GNU indent (this was done earlier but not
263    explicitly documented)
265 * version 2.5.16 released 2002-8-28
267 ** c++ scanners compile again
269 ** there is now an indent target in the top-level Makefile; configure
270    checks for GNU indent which is required for proper operation of the
271    indent target
273 ** some more portability fixes were made
275 ** %options and invocation sections of manual merged
277 ** a c++ test was added to the test suite
279 ** we're trying to clean up more files in the test suite's make clean
280    targets
282 * version 2.5.15 released 2002-8-21
284 ** reject-state buffer is now dynamically allocated and REJECT buffer
285    variables are reentrant-safe
287 ** manual now discusses memory usage
289 ** skeleton now processed by m4 before mkskel.sh; (this only matters
290    if you want to change the skeleton or if you're doing flex development)
292 ** zh_cn translation added from translation project
294 ** a bug that caused a segfault has now been fixed
296 ** the test suite now respects the usual CFLAGS, etc. variables
298 ** removed some warnings which some tests trigggered with the -s option
300 ** the flex-generated header file now tries to be smarter about
301    conditionally including start conditions
303 ** tables code omitted from generated scanner when not used
305 * version 2.5.14 released 2002-8-15
307 ** the tests using the reentrant c scanner as c++ were reworked
308    slightly to be sure that the c++ was enforced
310 ** de translation now included in the distribution
312 ** various portability fixes regarding nls support, c++ include
313    headers, etc.
315 * version 2.5.13 released 2002-8-15
317 ** the header file output with %option header is now much smaller
319 ** Fixed type mismatch in printf in scanner skeleton
321 ** yylex_init now reports errors
323 * version 2.5.12 released 2002-8-8
325 ** updated gettext support to 0.11.5
327 ** new fr translation from the translation project
329 ** bison is no longer needed to build flex; If you are building flex
330    from a release (i.e., not from a cvs snapshot), then you don't need
331    to have a pre-built lex around either (unless you modify scan.l, of
332    course); (This has been true for some time, but was not mentioned
333    here.)
335 * version 2.5.11 released 2002-7-31
337 ** Fixed bug where yyless did not consider yylineno
339 ** the yylineno performance hit is now gone
341 ** fixed some typos in the manual and we now include texinfo.tex in
342    the distribution
344 ** traditional prototypes output for C scanners, controlled by a
345    preprocessor symbol; see documentation for details
347 * version 2.5.10 released 2002-7-24
349 ** yy_globals renamed to yyscanner and yy_globals_t renamed to
350    yy_guts_t
352 ** added dist-bzip2 option to Makefile.am so we now produce a bzip2'd
353    archive in addition to the standard gzip archive
355 *  version 2.5.9
357 ** new tests in test suite: test-mem-{nr,r}, test-posix,
358    test-posixly-correct, test-debug-{nr,r}
360 ** made changes to work with gcc-3.2 development code
362 ** ability to choose which memory functions are used in flex
364 ** new yylex_destroy() function for the non-reentrant scanner
366 ** new handling of POSIXLY_CORRECT environment variable
368 ** the test suite now has its copyrights explicitly described
370 ** new ca, de, fr, ru, sv, tr translations
372 * version 2.5.8
374 ** a new --posix option generates scanners with posix-style abc{1,3}
375    compatible parsing, see manual for the screwy details
377 * version 2.5.7
379 ** configure.in now includes a call to AC_PREREQ to enforce the
380    requirement for autoconf at least 2.50 (This only effects you if
381    you're doing flex development.)
383 ** configure now uses autoconf's versioning information and configure
384    --help reports the bug-reporting address for flex
386 ** test suite now only reports success versus failure; reporting
387    skipped is problematic under the current setup
389 ** compilation with --disable-nls now works
391 ** flex can now be built in a separate directory
393 * version 2.5.6
395 ** gettext support added (from gettext 0.11)
397 *** translations for ca, da, de, es, fr, ko, ru, sv, tr included
399 ** distribution now built under automake 1.6 and autoconf 2.53
401 ** command-line option parsing happens differently now:
403 *** Added long option parsing
405 *** Options -n and -c, previously deprecated, now simply do nothing
407 *** Options are now parsed left to right
409 ** added a number of new options
411 *** All positive %options are now accessible from the command line
413 *** Added option -D, to define a preprocessor symbol
415 *** Added option --header=FILE to specify a C .h file to generate
417 *** added option --yywrap to call yywrap on EOF
419 *** added option --yylineno to track line count in yylineno
421 *** --yyclass=NAME name of C++ class when generating c++ scanners
423 *** for long option names which are associated with existing short
424 options, see accompanying documentation
426 *** new %option nounistd or command-line --nounistd added to prevent
427     flex from generating #include <unistd.h> on systems that don't
428     have that include file
430 ** Support for reentrant C scanners has been added
432 *** Updated the manual with the new reentrant API
434 *** Two new options %option reentrant (-R) and 
435 %option reentrant-bison (-Rb)
437 *** All globals optionally placed into struct yyglobals_t
439 *** All access to globals replaced by macro invocations
441 *** All functions optionally take one additional
442 argument, yy_globals
444 *** New style for invoking reentrant scanner:
445 yylex_init(void** scanner );
446 yylex( scanner );
447 yylex_destroy( scanner );
449 *** Added get/set functions for members of struct yy_globals_t
450 e.g.,  yyget_text, yyget_leng, etc
452 *** Prefix substitution added for new functions
454 *** Macro shortcuts to the lengthy get/set functions
455 provided for use in actions, e.g.,  yytext, yyleng, etc
457 *** Arbitrary, user-defined data, "yyextra", may be added to scanner
459 ** %option nomain no longer implies %option yywrap
460 But the inverse is still true
462 ** Developer test suite added
464 *** TESTS/ directory has been added. Users can 
465 'make test' in the TESTS directory to execute the test suite
467 ** Support for bison variables yylval and yylloc added
469 ** automake support for the build process
471 ** manual is now in texinfo/info format
473 *** flex.1 removed from distribution
475 ** flex no longer generates C-language scanners with C++-style
476    comments
478 ** flex now generates scanners in c++ which are compatible with
479    recent c++ compilers
481 ** flex input scanner now recognizes '\r' as an EOL character
483 See the file ONEWS for changes in earlier releases.
485 Local Variables:
486 mode: text
487 mode: outline-minor
488 end: