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