Improve the process for GNU tools
[minix3.git] / external / bsd / flex / dist / NEWS
blobaa30e43ddad80b79a636b87232757671aff9f09f
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 * flex version  2.5.39
8 ** no user visible changes in this release
10 * version 2.5.38 released 2014-02-14
12 ** internationalization
14 *** add sr translation from the translation project
16 *** update da, es, ko, nl, pt_BR, ro, ru, sv, tr, vi, zh_CN translations from the translation project
18 *** rename zh_tw to its proper zh_TW name
20 * version 2.5.37 released 2012-08-03
22 ** Import flex into git. See
23    git://flex.git.sourceforge.net/gitroot/flex/flex.
25 ** Fix make install target to not fail when the flex++ program is
26    already installed
28 ** New translations from the translation project: de, fi, pl, vi
30 * version 2.5.36 released 2012-07-20
32 ** various portability fixes that quiet compiler warnings on 64-bit
33    hosts
35 ** various manual fixes, including correcting the name of a %option and
36    updating some simple examples to use ANSI C syntax
38 ** various bug fixes that prevent certain error conditions from
39    persisting when they should not persist
41 ** improvements to the test suite so it behaves better when linking
42    compiled files
44 ** new translations from the translation project: ca, da, es, fi, fr,
45    ga, ko, pt_br, ro, ru, sv, tr, zh_cn
47 ** the flex distribution is now built with automake 1.10.1 and automake
48    2.61
50 * version 2.5.35 released 2008-02-26
52 ** fixed bug that prevented flex from accepting certain comments in the
53   scanner file (resolves bugs #1849809 and #1849805)
55 ** fix bug that prevented headers for all functions from being generated
56   (resolves bug #1628314)
58 ** change yy_size_t to be size_t (resolves bug #1849812)
60 ** new de, nl, pl, pt_br, vi translations from the translation project
62 * version 2.5.34 released 2007-12-12
64 ** introduce yylex_init_extra; see the manual for details
66 ** introduce %option extra-type="your_type *" (resolves bug #1744505)
68 ** The flex program now parses multiple short concatenated options (resolves bug
69   #1619820). Thanks to Petr Machata of Red Hat on this issue.
71 ** better checking after yyalloc/yyrealloc (resolves bug #1595967)
73 ** flex now provides for a libfl_pic.a compiled with position
74    independent code. Particularly useful when including a flex scanner
75    in a shared library and with more recent versions of gcc. Thanks to the Debian project for the idea.
77 ** SourceForge feature request #1658379: Expose YY_BUF_SIZE in the
78         header file.
80 ** flex better escapes filenames with special characters in them
81    (resolves bug #1623600)
83 ** a memory leak was plugged(resolves bug #1601111)
85 ** pattern language expanded; see the manual for details on the below
86    highlights
88 *** pattern options added to specify patterns as case-insensitive or
89     case-sensitive
91 *** pattern options to specify whether the "." character should match
92     the newline character
94 *** pattern options added to allow ignoring of whitespace in patterns
96 *** POSIX character classes may be negated in patterns
98 *** patterns may now use set difference, union operators
100 ** the manual now contains an appendix listing various common patterns
101    which may be useful when writing scanners
103 ** some memory leaks were removed from the C++ scanner (but the C++
104   scanner is still experimental and may change radically without
105   notice)
107 ** c++ scanners can now use yywrap
109 ** added new unit test for c++ and yywrap
111 ** portability fixes to some unit tests
113 ** flex man page and flex manual in pdf now distributed in the flex
114 distribution
116 ** new ca, vi, ga, nl translations from the translation project
118 ** flex no longer comes with an rpm spec file
120 ** flex development now happens with automake 1.9.6
122 * version 2.5.33 released 2006-2-20
124 ** all flex resources are now to be found from the website at
125    http://flex.sourceforge.net/
127 ** there was no release 2.5.32 published
129 ** numerous bug and security fixes
131 ** new nl, vi, sv, ro, po, ga, ca, fr, tr translations from the translation project
133 ** upgrade to use gettext 0.12 (this now makes the "pdf" and "ps"
134    targets in the build system able to be run successfully)
136 * version 2.5.31 released 2003-4-1
138 ** remove --enable-maintainer-mode configure option; none of the
139    Makefiles were using it and it can be unduely confusing
141 * version 2.5.30 released 2003-4-1
143 ** yylineno is per-buffer in reentrant scanners
145 ** added %top directive for placing code at the top of the generated
146    scanner; see manual for details
148 ** flex now uses m4 to generate scanners; while this means that
149    scanners are more readable, it means that flex requires m4 to be
150    installed; see manual for details
152 * version 2.5.29 released 2003-3-5
154 ** Automatic stack management for multiple input buffers in C and C++ scanners
156 ** moved the flex documentation to a new doc/ subdirectory
158 ** cleanups to the yy namespace
160 * version 2.5.28 released 2003-2-12
162 ** flex is now hosted at sourceforge
164 ** Fixed trailing slash bug in YY_INPUT macro def
166 ** Flex now warns if always-interactive is specified with fast or full
168 * version 2.5.27 released 2003-1-21
170 ** flex now works with recent bison versions
172 ** new pt_br translation from the translation project
174 * version 2.5.26 released 2003-1-14
176 ** Fixed table deserialization bug on big-endian archs. Patch sent from Bryce Nichols <bryce@bnichols.org>
178 ** yyleng has proper declarations now; this caused flex to generate
179    unusable scanners for some programs
181 ** the flex distribution now includes a spec file suitable for use
182    with rpm
184 ** some more c++ fixes
186 ** new es translation from the translation project
188 ** slight tweeks to the flex_int*_t types
190 ** flex now warns about pattern ranges that might be ambiguous when
191    generating a case-insensitive scanner
194 * version 2.5.25 released 2002-12-2
196 ** flex now uses flex_int*_t types. For C99 systems, they are just the
197    int*_t types; for non-C99 systems, we just make some typedefs
199 ** new pt_br translation from the translation project
201 * version 2.5.24 released 2002-11-25
203 * more portability fixes
205 ** the manual continues to be updated and edited, but it's still got a
206    ways to go
208 ** it is possible to have multiple c++ scanners in the same program again
210 ** new turkish translation from the translation project
212 * version 2.5.23 released 2002-10-21
214 ** more portability fixes
216 ** the manual includes a title page and a table-of-contents when printed
218 ** the test suite can be run with "make check" from the top-level
219    directory
221 ** configure now accepts the --enable-maintainer-mode option
223 ** gettext functionality is now only available externally
225 ** the constant FLEX_BETA is defined if flex is a beta release
227 ** the script create-test was not included in the distribution and it
228    should have been
230 * version 2.5.22 released 2002-10-10
232 ** more portability fixes around how we get ahold of the integral
233    types; there is a constant FLEX_NEED_INTEGRAL_TYPE_DEFINITIONS
234    which you should define if you don't have the <inttypes.h> header
235    file (after you complain to your C vendor for not providing a
236    reasonable C environment)
238 ** more test suite cleanups; in particular, the test suite should run
239    correctly when build from a different directory
241 ** upgraded automake to 1.7 and consequently autoconf to 2.54; this
242    means, among other things, that there is some support for
243 formatting the manual in postscript and pdf in the distributed
244    Makefile.in (and therefore in the Makefile built by configure)
246 ** the flex.1 manpage is generated by help2man; (this has been true
247    for quite a while but was not listed here)
249 ** flex now includes three defined constants to indicate which version
250   of flex generated a scanner (YY_FLEX_{MAJOR,MINOR,SUBMINOR}_VERSION)
252 ** flex tries its best to output only the relevant portions of the
253    skeleton when generating a scanner, thus avoiding as much
254    conditional compilation as possible
256 * version 2.5.21 released 2002-9-17
258 ** one of the tests in the test suite broke the dist target
260 * version 2.5.20 released 2002-9-16
262 ** A flex scanner has the ability to save the DFA tables to a file,
263    and load them at runtime when needed; see the manual for details
265 ** Added %option bison-bridge (--bison-bridge)
267 ** Removed %option reentrant-bison/--reentrant-bison/-Rb
269 ** yylineno is present in all scanners; Modified nasty performance
270    penalty warning with yylineno in documentation
272 ** test-table-opts is now run last in the test suite because it's so fat
274 ** flex can, to some extent, diagnose where internal problems occur
276 ** new translations from the translation project: fr, ca, de, ru, sv
278 **Flex generates C99 defs now; see YY_TRADITIONAL_FUNC_DEFS in the
279   manual if that's not a good thing for you
281 * version 2.5.19 released 2002-9-5
283 ** prevent segfault on input lines which are longer than the allocated
284    space (problem report from Manoj Srivastava
285    <srivasta@golden-gryphon.com>)
287 ** Changed option 'header' to 'header-file'
289 * version 2.5.18 released 2002-9-4
291 ** portability fixes for integer constants and in the way the test
292    suite reports its results
294 ** the test for bison was reporting bison missing when it was, in
295    fact, found
297 ** if we don't find GNU indent, we're more careful when we're not
298    finding it
300 * version 2.5.17 released 2002-8-29
302 ** more portability fixes
304 ** updated config.sub and config.guess
306 ** flex is indented by GNU indent (this was done earlier but not
307    explicitly documented)
309 * version 2.5.16 released 2002-8-28
311 ** c++ scanners compile again
313 ** there is now an indent target in the top-level Makefile; configure
314    checks for GNU indent which is required for proper operation of the
315    indent target
317 ** some more portability fixes were made
319 ** %options and invocation sections of manual merged
321 ** a c++ test was added to the test suite
323 ** we're trying to clean up more files in the test suite's make clean
324    targets
326 * version 2.5.15 released 2002-8-21
328 ** reject-state buffer is now dynamically allocated and REJECT buffer
329    variables are reentrant-safe
331 ** manual now discusses memory usage
333 ** skeleton now processed by m4 before mkskel.sh; (this only matters
334    if you want to change the skeleton or if you're doing flex development)
336 ** zh_cn translation added from translation project
338 ** a bug that caused a segfault has now been fixed
340 ** the test suite now respects the usual CFLAGS, etc. variables
342 ** removed some warnings which some tests trigggered with the -s option
344 ** the flex-generated header file now tries to be smarter about
345    conditionally including start conditions
347 ** tables code omitted from generated scanner when not used
349 * version 2.5.14 released 2002-8-15
351 ** the tests using the reentrant c scanner as c++ were reworked
352    slightly to be sure that the c++ was enforced
354 ** de translation now included in the distribution
356 ** various portability fixes regarding nls support, c++ include
357    headers, etc.
359 * version 2.5.13 released 2002-8-15
361 ** the header file output with %option header is now much smaller
363 ** Fixed type mismatch in printf in scanner skeleton
365 ** yylex_init now reports errors
367 * version 2.5.12 released 2002-8-8
369 ** updated gettext support to 0.11.5
371 ** new fr translation from the translation project
373 ** bison is no longer needed to build flex; If you are building flex
374    from a release (i.e., not from a cvs snapshot), then you don't need
375    to have a pre-built lex around either (unless you modify scan.l, of
376    course); (This has been true for some time, but was not mentioned
377    here.)
379 * version 2.5.11 released 2002-7-31
381 ** Fixed bug where yyless did not consider yylineno
383 ** the yylineno performance hit is now gone
385 ** fixed some typos in the manual and we now include texinfo.tex in
386    the distribution
388 ** traditional prototypes output for C scanners, controlled by a
389    preprocessor symbol; see documentation for details
391 * version 2.5.10 released 2002-7-24
393 ** yy_globals renamed to yyscanner and yy_globals_t renamed to
394    yy_guts_t
396 ** added dist-bzip2 option to Makefile.am so we now produce a bzip2'd
397    archive in addition to the standard gzip archive
399 *  version 2.5.9
401 ** new tests in test suite: test-mem-{nr,r}, test-posix,
402    test-posixly-correct, test-debug-{nr,r}
404 ** made changes to work with gcc-3.2 development code
406 ** ability to choose which memory functions are used in flex
408 ** new yylex_destroy() function for the non-reentrant scanner
410 ** new handling of POSIXLY_CORRECT environment variable
412 ** the test suite now has its copyrights explicitly described
414 ** new ca, de, fr, ru, sv, tr translations
416 * version 2.5.8
418 ** a new --posix option generates scanners with posix-style abc{1,3}
419    compatible parsing, see manual for the screwy details
421 * version 2.5.7
423 ** configure.in now includes a call to AC_PREREQ to enforce the
424    requirement for autoconf at least 2.50 (This only effects you if
425    you're doing flex development.)
427 ** configure now uses autoconf's versioning information and configure
428    --help reports the bug-reporting address for flex
430 ** test suite now only reports success versus failure; reporting
431    skipped is problematic under the current setup
433 ** compilation with --disable-nls now works
435 ** flex can now be built in a separate directory
437 * version 2.5.6
439 ** gettext support added (from gettext 0.11)
441 *** translations for ca, da, de, es, fr, ko, ru, sv, tr included
443 ** distribution now built under automake 1.6 and autoconf 2.53
445 ** command-line option parsing happens differently now:
447 *** Added long option parsing
449 *** Options -n and -c, previously deprecated, now simply do nothing
451 *** Options are now parsed left to right
453 ** added a number of new options
455 *** All positive %options are now accessible from the command line
457 *** Added option -D, to define a preprocessor symbol
459 *** Added option --header=FILE to specify a C .h file to generate
461 *** added option --yywrap to call yywrap on EOF
463 *** added option --yylineno to track line count in yylineno
465 *** --yyclass=NAME name of C++ class when generating c++ scanners
467 *** for long option names which are associated with existing short
468 options, see accompanying documentation
470 *** new %option nounistd or command-line --nounistd added to prevent
471     flex from generating #include <unistd.h> on systems that don't
472     have that include file
474 ** Support for reentrant C scanners has been added
476 *** Updated the manual with the new reentrant API
478 *** Two new options %option reentrant (-R) and 
479 %option reentrant-bison (-Rb)
481 *** All globals optionally placed into struct yyglobals_t
483 *** All access to globals replaced by macro invocations
485 *** All functions optionally take one additional
486 argument, yy_globals
488 *** New style for invoking reentrant scanner:
489 yylex_init(void** scanner );
490 yylex( scanner );
491 yylex_destroy( scanner );
493 *** Added get/set functions for members of struct yy_globals_t
494 e.g.,  yyget_text, yyget_leng, etc
496 *** Prefix substitution added for new functions
498 *** Macro shortcuts to the lengthy get/set functions
499 provided for use in actions, e.g.,  yytext, yyleng, etc
501 *** Arbitrary, user-defined data, "yyextra", may be added to scanner
503 ** %option nomain no longer implies %option yywrap
504 But the inverse is still true
506 ** Developer test suite added
508 *** TESTS/ directory has been added. Users can 
509 'make test' in the TESTS directory to execute the test suite
511 ** Support for bison variables yylval and yylloc added
513 ** automake support for the build process
515 ** manual is now in texinfo/info format
517 *** flex.1 removed from distribution
519 ** flex no longer generates C-language scanners with C++-style
520    comments
522 ** flex now generates scanners in c++ which are compatible with
523    recent c++ compilers
525 ** flex input scanner now recognizes '\r' as an EOL character
527 See the file ONEWS for changes in earlier releases.
529 Local Variables:
530 mode: text
531 mode: outline-minor
532 end: