Imported Upstream version 2.5.35
[platform/upstream/flex.git] / NEWS
1 This is the file NEWS for the flex package. It records user -visible
2 changes between releases of flex.
3
4 See the file COPYING for copying conditions.
5
6 * version 2.5.35 released 2008-02-26
7
8 ** fixed bug that prevented flex from accepting certain comments in the
9   scanner file (resolves bugs #1849809 and #1849805)
10
11 ** fix bug that prevented headers for all functions from being generated
12   (resolves bug #1628314)
13
14 ** change yy_size_t to be size_t (resolves bug #1849812)
15
16 ** new de, nl, pl, pt_br, vi translations from the translation project
17
18 * version 2.5.34 released 2007-12-12
19
20 ** introduce yylex_init_extra; see the manual for details
21
22 ** introduce %option extra-type="your_type *" (resolves bug #1744505)
23
24 ** The flex program now parses multiple short concatenated options (resolves bug
25   #1619820). Thanks to Petr Machata of Red Hat on this issue.
26
27 ** better checking after yyalloc/yyrealloc (resolves bug #1595967)
28
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.
32
33 ** SourceForge feature request #1658379: Expose YY_BUF_SIZE in the
34         header file.
35
36 ** flex better escapes filenames with special characters in them
37    (resolves bug #1623600)
38
39 ** a memory leak was plugged(resolves bug #1601111)
40
41 ** pattern language expanded; see the manual for details on the below
42    highlights
43
44 *** pattern options added to specify patterns as case-insensitive or
45     case-sensitive
46
47 *** pattern options to specify whether the "." character should match
48     the newline character
49
50 *** pattern options added to allow ignoring of whitespace in patterns
51
52 *** POSIX character classes may be negated in patterns
53
54 *** patterns may now use set difference, union operators
55
56 ** the manual now contains an appendix listing various common patterns
57    which may be useful when writing scanners
58
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)
62
63 ** c++ scanners can now use yywrap
64
65 ** added new unit test for c++ and yywrap
66
67 ** portability fixes to some unit tests
68
69 ** flex man page and flex manual in pdf now distributed in the flex
70 distribution
71
72 ** new ca, vi, ga, nl translations from the translation project
73
74 ** flex no longer comes with an rpm spec file
75
76 ** flex development now happens with automake 1.9.6
77
78 * version 2.5.33 released 2006-2-20
79
80 ** all flex resources are now to be found from the website at
81    http://flex.sourceforge.net/
82
83 ** there was no release 2.5.32 published
84
85 ** numerous bug and security fixes
86
87 ** new nl, vi, sv, ro, po, ga, ca, fr, tr translations from the translation project
88
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)
91
92 * version 2.5.31 released 2003-4-1
93
94 ** remove --enable-maintainer-mode configure option; none of the
95    Makefiles were using it and it can be unduely confusing
96
97 * version 2.5.30 released 2003-4-1
98
99 ** yylineno is per-buffer in reentrant scanners
100
101 ** added %top directive for placing code at the top of the generated
102    scanner; see manual for details
103
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
107
108 * version 2.5.29 released 2003-3-5
109
110 ** Automatic stack management for multiple input buffers in C and C++ scanners
111
112 ** moved the flex documentation to a new doc/ subdirectory
113
114 ** cleanups to the yy namespace
115
116 * version 2.5.28 released 2003-2-12
117
118 ** flex is now hosted at sourceforge
119
120 ** Fixed trailing slash bug in YY_INPUT macro def
121
122 ** Flex now warns if always-interactive is specified with fast or full
123
124 * version 2.5.27 released 2003-1-21
125
126 ** flex now works with recent bison versions
127
128 ** new pt_br translation from the translation project
129
130 * version 2.5.26 released 2003-1-14
131
132 ** Fixed table deserialization bug on big-endian archs. Patch sent from Bryce Nichols <bryce@bnichols.org>
133
134 ** yyleng has proper declarations now; this caused flex to generate
135    unusable scanners for some programs
136
137 ** the flex distribution now includes a spec file suitable for use
138    with rpm
139
140 ** some more c++ fixes
141
142 ** new es translation from the translation project
143
144 ** slight tweeks to the flex_int*_t types
145
146 ** flex now warns about pattern ranges that might be ambiguous when
147    generating a case-insensitive scanner
148
149
150 * version 2.5.25 released 2002-12-2
151
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
154
155 ** new pt_br translation from the translation project
156
157 * version 2.5.24 released 2002-11-25
158
159 * more portability fixes
160
161 ** the manual continues to be updated and edited, but it's still got a
162    ways to go
163
164 ** it is possible to have multiple c++ scanners in the same program again
165
166 ** new turkish translation from the translation project
167
168 * version 2.5.23 released 2002-10-21
169
170 ** more portability fixes
171
172 ** the manual includes a title page and a table-of-contents when printed
173
174 ** the test suite can be run with "make check" from the top-level
175    directory
176
177 ** configure now accepts the --enable-maintainer-mode option
178
179 ** gettext functionality is now only available externally
180
181 ** the constant FLEX_BETA is defined if flex is a beta release
182
183 ** the script create-test was not included in the distribution and it
184    should have been
185
186 * version 2.5.22 released 2002-10-10
187
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)
193
194 ** more test suite cleanups; in particular, the test suite should run
195    correctly when build from a different directory
196
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)
201
202 ** the flex.1 manpage is generated by help2man; (this has been true
203    for quite a while but was not listed here)
204
205 ** flex now includes three defined constants to indicate which version
206   of flex generated a scanner (YY_FLEX_{MAJOR,MINOR,SUBMINOR}_VERSION)
207
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
211
212 * version 2.5.21 released 2002-9-17
213
214 ** one of the tests in the test suite broke the dist target
215
216 * version 2.5.20 released 2002-9-16
217
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
220
221 ** Added %option bison-bridge (--bison-bridge)
222
223 ** Removed %option reentrant-bison/--reentrant-bison/-Rb
224
225 ** yylineno is present in all scanners; Modified nasty performance
226    penalty warning with yylineno in documentation
227
228 ** test-table-opts is now run last in the test suite because it's so fat
229
230 ** flex can, to some extent, diagnose where internal problems occur
231
232 ** new translations from the translation project: fr, ca, de, ru, sv
233
234 **Flex generates C99 defs now; see YY_TRADITIONAL_FUNC_DEFS in the
235   manual if that's not a good thing for you
236
237 * version 2.5.19 released 2002-9-5
238
239 ** prevent segfault on input lines which are longer than the allocated
240    space (problem report from Manoj Srivastava
241    <srivasta@golden-gryphon.com>)
242
243 ** Changed option 'header' to 'header-file'
244
245 * version 2.5.18 released 2002-9-4
246
247 ** portability fixes for integer constants and in the way the test
248    suite reports its results
249
250 ** the test for bison was reporting bison missing when it was, in
251    fact, found
252
253 ** if we don't find GNU indent, we're more careful when we're not
254    finding it
255
256 * version 2.5.17 released 2002-8-29
257
258 ** more portability fixes
259
260 ** updated config.sub and config.guess
261
262 ** flex is indented by GNU indent (this was done earlier but not
263    explicitly documented)
264
265 * version 2.5.16 released 2002-8-28
266
267 ** c++ scanners compile again
268
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
272
273 ** some more portability fixes were made
274
275 ** %options and invocation sections of manual merged
276
277 ** a c++ test was added to the test suite
278
279 ** we're trying to clean up more files in the test suite's make clean
280    targets
281
282 * version 2.5.15 released 2002-8-21
283
284 ** reject-state buffer is now dynamically allocated and REJECT buffer
285    variables are reentrant-safe
286
287 ** manual now discusses memory usage
288
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)
291
292 ** zh_cn translation added from translation project
293
294 ** a bug that caused a segfault has now been fixed
295
296 ** the test suite now respects the usual CFLAGS, etc. variables
297
298 ** removed some warnings which some tests trigggered with the -s option
299
300 ** the flex-generated header file now tries to be smarter about
301    conditionally including start conditions
302
303 ** tables code omitted from generated scanner when not used
304
305 * version 2.5.14 released 2002-8-15
306
307 ** the tests using the reentrant c scanner as c++ were reworked
308    slightly to be sure that the c++ was enforced
309
310 ** de translation now included in the distribution
311
312 ** various portability fixes regarding nls support, c++ include
313    headers, etc.
314
315 * version 2.5.13 released 2002-8-15
316
317 ** the header file output with %option header is now much smaller
318
319 ** Fixed type mismatch in printf in scanner skeleton
320
321 ** yylex_init now reports errors
322
323 * version 2.5.12 released 2002-8-8
324
325 ** updated gettext support to 0.11.5
326
327 ** new fr translation from the translation project
328
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.)
334
335 * version 2.5.11 released 2002-7-31
336
337 ** Fixed bug where yyless did not consider yylineno
338
339 ** the yylineno performance hit is now gone
340
341 ** fixed some typos in the manual and we now include texinfo.tex in
342    the distribution
343
344 ** traditional prototypes output for C scanners, controlled by a
345    preprocessor symbol; see documentation for details
346
347 * version 2.5.10 released 2002-7-24
348
349 ** yy_globals renamed to yyscanner and yy_globals_t renamed to
350    yy_guts_t
351
352 ** added dist-bzip2 option to Makefile.am so we now produce a bzip2'd
353    archive in addition to the standard gzip archive
354
355 *  version 2.5.9
356
357 ** new tests in test suite: test-mem-{nr,r}, test-posix,
358    test-posixly-correct, test-debug-{nr,r}
359
360 ** made changes to work with gcc-3.2 development code
361
362 ** ability to choose which memory functions are used in flex
363
364 ** new yylex_destroy() function for the non-reentrant scanner
365
366 ** new handling of POSIXLY_CORRECT environment variable
367
368 ** the test suite now has its copyrights explicitly described
369
370 ** new ca, de, fr, ru, sv, tr translations
371
372 * version 2.5.8
373
374 ** a new --posix option generates scanners with posix-style abc{1,3}
375    compatible parsing, see manual for the screwy details
376
377 * version 2.5.7
378
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.)
382
383 ** configure now uses autoconf's versioning information and configure
384    --help reports the bug-reporting address for flex
385
386 ** test suite now only reports success versus failure; reporting
387    skipped is problematic under the current setup
388
389 ** compilation with --disable-nls now works
390
391 ** flex can now be built in a separate directory
392
393 * version 2.5.6
394
395 ** gettext support added (from gettext 0.11)
396
397 *** translations for ca, da, de, es, fr, ko, ru, sv, tr included
398
399 ** distribution now built under automake 1.6 and autoconf 2.53
400
401 ** command-line option parsing happens differently now:
402
403 *** Added long option parsing
404
405 *** Options -n and -c, previously deprecated, now simply do nothing
406
407 *** Options are now parsed left to right
408
409 ** added a number of new options
410
411 *** All positive %options are now accessible from the command line
412
413 *** Added option -D, to define a preprocessor symbol
414
415 *** Added option --header=FILE to specify a C .h file to generate
416
417 *** added option --yywrap to call yywrap on EOF
418
419 *** added option --yylineno to track line count in yylineno
420
421 *** --yyclass=NAME name of C++ class when generating c++ scanners
422
423 *** for long option names which are associated with existing short
424 options, see accompanying documentation
425
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
429
430 ** Support for reentrant C scanners has been added
431
432 *** Updated the manual with the new reentrant API
433
434 *** Two new options %option reentrant (-R) and 
435 %option reentrant-bison (-Rb)
436
437 *** All globals optionally placed into struct yyglobals_t
438
439 *** All access to globals replaced by macro invocations
440
441 *** All functions optionally take one additional
442 argument, yy_globals
443
444 *** New style for invoking reentrant scanner:
445 yylex_init(void** scanner );
446 yylex( scanner );
447 yylex_destroy( scanner );
448
449 *** Added get/set functions for members of struct yy_globals_t
450 e.g.,  yyget_text, yyget_leng, etc
451
452 *** Prefix substitution added for new functions
453
454 *** Macro shortcuts to the lengthy get/set functions
455 provided for use in actions, e.g.,  yytext, yyleng, etc
456
457 *** Arbitrary, user-defined data, "yyextra", may be added to scanner
458
459 ** %option nomain no longer implies %option yywrap
460 But the inverse is still true
461
462 ** Developer test suite added
463
464 *** TESTS/ directory has been added. Users can 
465 'make test' in the TESTS directory to execute the test suite
466
467 ** Support for bison variables yylval and yylloc added
468
469 ** automake support for the build process
470
471 ** manual is now in texinfo/info format
472
473 *** flex.1 removed from distribution
474
475 ** flex no longer generates C-language scanners with C++-style
476    comments
477
478 ** flex now generates scanners in c++ which are compatible with
479    recent c++ compilers
480
481 ** flex input scanner now recognizes '\r' as an EOL character
482
483 See the file ONEWS for changes in earlier releases.
484
485 Local Variables:
486 mode: text
487 mode: outline-minor
488 end: