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