head 1.1; branch 1.1.1; access; symbols netbsd-11-0-RC5:1.1.1.3 netbsd-11-0-RC4:1.1.1.3 netbsd-11-0-RC3:1.1.1.3 netbsd-11-0-RC2:1.1.1.3 netbsd-11-0-RC1:1.1.1.3 perseant-exfatfs-base-20250801:1.1.1.3 netbsd-11:1.1.1.3.0.14 netbsd-11-base:1.1.1.3 netbsd-10-1-RELEASE:1.1.1.3 perseant-exfatfs-base-20240630:1.1.1.3 perseant-exfatfs:1.1.1.3.0.12 perseant-exfatfs-base:1.1.1.3 netbsd-8-3-RELEASE:1.1.1.2 netbsd-9-4-RELEASE:1.1.1.3 netbsd-10-0-RELEASE:1.1.1.3 netbsd-10-0-RC6:1.1.1.3 netbsd-10-0-RC5:1.1.1.3 netbsd-10-0-RC4:1.1.1.3 netbsd-10-0-RC3:1.1.1.3 netbsd-10-0-RC2:1.1.1.3 netbsd-10-0-RC1:1.1.1.3 netbsd-10:1.1.1.3.0.10 netbsd-10-base:1.1.1.3 netbsd-9-3-RELEASE:1.1.1.3 cjep_sun2x-base1:1.1.1.3 cjep_sun2x:1.1.1.3.0.8 cjep_sun2x-base:1.1.1.3 cjep_staticlib_x-base1:1.1.1.3 netbsd-9-2-RELEASE:1.1.1.3 cjep_staticlib_x:1.1.1.3.0.6 cjep_staticlib_x-base:1.1.1.3 netbsd-9-1-RELEASE:1.1.1.3 phil-wifi-20200421:1.1.1.3 phil-wifi-20200411:1.1.1.3 is-mlppp:1.1.1.3.0.4 is-mlppp-base:1.1.1.3 phil-wifi-20200406:1.1.1.3 netbsd-8-2-RELEASE:1.1.1.2 netbsd-9-0-RELEASE:1.1.1.3 netbsd-9-0-RC2:1.1.1.3 netbsd-9-0-RC1:1.1.1.3 phil-wifi-20191119:1.1.1.3 netbsd-9:1.1.1.3.0.2 netbsd-9-base:1.1.1.3 phil-wifi-20190609:1.1.1.3 netbsd-8-1-RELEASE:1.1.1.2 netbsd-8-1-RC1:1.1.1.2 pgoyette-compat-merge-20190127:1.1.1.2.14.1 pgoyette-compat-20190127:1.1.1.3 pgoyette-compat-20190118:1.1.1.3 pgoyette-compat-1226:1.1.1.3 flex-2-6-4:1.1.1.3 pgoyette-compat-1126:1.1.1.2 pgoyette-compat-1020:1.1.1.2 pgoyette-compat-0930:1.1.1.2 pgoyette-compat-0906:1.1.1.2 netbsd-7-2-RELEASE:1.1.1.1 pgoyette-compat-0728:1.1.1.2 netbsd-8-0-RELEASE:1.1.1.2 phil-wifi:1.1.1.2.0.16 phil-wifi-base:1.1.1.2 pgoyette-compat-0625:1.1.1.2 netbsd-8-0-RC2:1.1.1.2 pgoyette-compat-0521:1.1.1.2 pgoyette-compat-0502:1.1.1.2 pgoyette-compat-0422:1.1.1.2 netbsd-8-0-RC1:1.1.1.2 pgoyette-compat-0415:1.1.1.2 pgoyette-compat-0407:1.1.1.2 pgoyette-compat-0330:1.1.1.2 pgoyette-compat-0322:1.1.1.2 pgoyette-compat-0315:1.1.1.2 netbsd-7-1-2-RELEASE:1.1.1.1 pgoyette-compat:1.1.1.2.0.14 pgoyette-compat-base:1.1.1.2 netbsd-7-1-1-RELEASE:1.1.1.1 matt-nb8-mediatek:1.1.1.2.0.12 matt-nb8-mediatek-base:1.1.1.2 perseant-stdc-iso10646:1.1.1.2.0.10 perseant-stdc-iso10646-base:1.1.1.2 netbsd-8:1.1.1.2.0.8 netbsd-8-base:1.1.1.2 prg-localcount2-base3:1.1.1.2 prg-localcount2-base2:1.1.1.2 prg-localcount2-base1:1.1.1.2 prg-localcount2:1.1.1.2.0.6 prg-localcount2-base:1.1.1.2 pgoyette-localcount-20170426:1.1.1.2 bouyer-socketcan-base1:1.1.1.2 pgoyette-localcount-20170320:1.1.1.2 netbsd-7-1:1.1.1.1.0.32 netbsd-7-1-RELEASE:1.1.1.1 netbsd-7-1-RC2:1.1.1.1 netbsd-7-nhusb-base-20170116:1.1.1.1 bouyer-socketcan:1.1.1.2.0.4 bouyer-socketcan-base:1.1.1.2 pgoyette-localcount-20170107:1.1.1.2 netbsd-7-1-RC1:1.1.1.1 flex-2-6-3:1.1.1.2 pgoyette-localcount-20161104:1.1.1.2 netbsd-7-0-2-RELEASE:1.1.1.1 localcount-20160914:1.1.1.2 netbsd-7-nhusb:1.1.1.1.0.30 netbsd-7-nhusb-base:1.1.1.1 pgoyette-localcount-20160806:1.1.1.2 pgoyette-localcount-20160726:1.1.1.2 pgoyette-localcount:1.1.1.2.0.2 pgoyette-localcount-base:1.1.1.2 netbsd-7-0-1-RELEASE:1.1.1.1 flex-2-6-0:1.1.1.2 netbsd-7-0:1.1.1.1.0.28 netbsd-7-0-RELEASE:1.1.1.1 netbsd-7-0-RC3:1.1.1.1 netbsd-7-0-RC2:1.1.1.1 netbsd-7-0-RC1:1.1.1.1 flex-2-5-39:1.1.1.1 netbsd-6-0-6-RELEASE:1.1.1.1 netbsd-6-1-5-RELEASE:1.1.1.1 netbsd-7:1.1.1.1.0.26 netbsd-7-base:1.1.1.1 yamt-pagecache-base9:1.1.1.1 yamt-pagecache-tag8:1.1.1.1 netbsd-6-1-4-RELEASE:1.1.1.1 netbsd-6-0-5-RELEASE:1.1.1.1 tls-earlyentropy:1.1.1.1.0.24 tls-earlyentropy-base:1.1.1.1 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1.1.1 riastradh-drm2-base3:1.1.1.1 netbsd-6-1-3-RELEASE:1.1.1.1 netbsd-6-0-4-RELEASE:1.1.1.1 netbsd-6-1-2-RELEASE:1.1.1.1 netbsd-6-0-3-RELEASE:1.1.1.1 netbsd-6-1-1-RELEASE:1.1.1.1 riastradh-drm2-base2:1.1.1.1 riastradh-drm2-base1:1.1.1.1 riastradh-drm2:1.1.1.1.0.16 riastradh-drm2-base:1.1.1.1 netbsd-6-1:1.1.1.1.0.22 netbsd-6-0-2-RELEASE:1.1.1.1 netbsd-6-1-RELEASE:1.1.1.1 khorben-n900:1.1.1.1.0.20 netbsd-6-1-RC4:1.1.1.1 flex-2-5-37:1.1.1.1 netbsd-6-1-RC3:1.1.1.1 agc-symver:1.1.1.1.0.18 agc-symver-base:1.1.1.1 netbsd-6-1-RC2:1.1.1.1 netbsd-6-1-RC1:1.1.1.1 yamt-pagecache-base8:1.1.1.1 netbsd-6-0-1-RELEASE:1.1.1.1 yamt-pagecache-base7:1.1.1.1 matt-nb6-plus-nbase:1.1.1.1 yamt-pagecache-base6:1.1.1.1 netbsd-6-0:1.1.1.1.0.14 netbsd-6-0-RELEASE:1.1.1.1 netbsd-6-0-RC2:1.1.1.1 tls-maxphys:1.1.1.1.0.12 tls-maxphys-base:1.1.1.1 matt-nb6-plus:1.1.1.1.0.10 matt-nb6-plus-base:1.1.1.1 netbsd-6-0-RC1:1.1.1.1 yamt-pagecache-base5:1.1.1.1 yamt-pagecache-base4:1.1.1.1 netbsd-6:1.1.1.1.0.8 netbsd-6-base:1.1.1.1 yamt-pagecache-base3:1.1.1.1 yamt-pagecache-base2:1.1.1.1 yamt-pagecache:1.1.1.1.0.6 yamt-pagecache-base:1.1.1.1 cherry-xenmp:1.1.1.1.0.4 cherry-xenmp-base:1.1.1.1 bouyer-quota2-nbase:1.1.1.1 bouyer-quota2:1.1.1.1.0.2 bouyer-quota2-base:1.1.1.1 matt-mips64-premerge-20101231:1.1.1.1 matt-premerge-20091211:1.1.1.1 flex-2-5-35:1.1.1.1 FLEX:1.1.1; locks; strict; comment @# @; 1.1 date 2009.10.26.00.29.07; author christos; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2009.10.26.00.29.07; author christos; state Exp; branches; next 1.1.1.2; 1.1.1.2 date 2016.01.09.15.43.26; author christos; state Exp; branches 1.1.1.2.14.1 1.1.1.2.16.1; next 1.1.1.3; commitid gZAvxMYao3aXUgQy; 1.1.1.3 date 2018.12.23.15.57.54; author christos; state Exp; branches; next ; commitid xPH9BkspeOjBjW4B; 1.1.1.2.14.1 date 2018.12.26.14.01.17; author pgoyette; state Exp; branches; next ; commitid xUhK8IAeBM1azj5B; 1.1.1.2.16.1 date 2019.06.10.21.44.50; author christos; state Exp; branches; next ; commitid jtc8rnCzWiEEHGqB; desc @@ 1.1 log @Initial revision @ text @This file describes the flex test suite. * WHO SHOULD USE THE TEST SUITE? The test suite is intended to be used by flex developers, i.e., anyone hacking the flex distribution. If you are simply installing flex, then you can ignore this directory and its contents. * STRUCTURE OF THE TEST SUITE The test suite consists of several directories, each containing a scanner known to work with the most recent version of flex. In general, after you modify your copy of the flex distribution, you should re-run the test suite. Some of the tests may require certain tools to be available (e.g., bison, diff). If any test returns an error or generates an error message, then your modifications *may* have broken a feature of flex. At a minimum, you'll want to investigate the failure and determine if it's truly significant. * HOW TO RUN THE TEST SUITE To build and execute all tests from the top level of the flex source tree: $ make check To build and execute a single test: $ cd tests/ # from the top level of the flex tree. $ cd test-pthread-nr # for example $ make test * HOW TO ADD A NEW TEST TO THE TEST SUITE **- RUN the script `create-test` found in this directory with a single argument of the name of the test you want to create. If it fails with a message about a non-existent file `config.status', then run the configure script in the top-level directory and everything will be fine. If it fails to work for you other than this, report it as a bug. ** Modify the files in the newly created directory so that they test whatever feature of flex you are interested in. ** On success, your test should return zero. ** On error, your test should return 1 (one) and print a message to stderr, which will have been redirected to the file named, "OUTPUT", in your test's directory. ** If your test is skipped (e.g., because bison was not found), then the test should return 2 (two). See "test-bison-nr/Makefile.am" for an example. ** You must modify the last few lines of the top-level configure.in by adding the Makefile for your test directory. (This step is done automatically by `create-test`.) ** You must add the name of your test to the SUBDIRS variable in tests/Makefile.am. (This is also done automatically for you by `create-test'.) ** Add a description of your new test to the end of the file `descriptions'. Remember to keep the description as brief as possible, preferably to one line. ** You will have to run the autogen.sh script in the top-level directory as well as run the configure script in that directory. (Note that running config.status may prove easier or quicker.) ** The easiest way for you to submit your new test to the flex maintainers is by generating a patch. The flex maintainers only need to have the Makefile.am, the flex input file, the test input file (if there is one) and any other files necessary to compile the test. You do not need to submit files generated by autoconf, automake, configure etc. It would be helpful to include the file .cvsignore which you will find in your test directory if you used the `create-test' script. @ 1.1.1.1 log @from sourceforge. @ text @@ 1.1.1.2 log @Import flex 2.6.0 @ text @d11 2 a12 2 The testsuite consists of several tests. Each test is centered around a scanner known to work with the most recent version of flex. In d14 5 a18 5 should re-run the test suite. Some of the tests may require certain tools to be available (e.g., bison, diff). If any test returns an error or generates an error message, then your modifications *may* have broken a feature of flex. At a minimum, you'll want to investigate the failure and determine if it's truly significant. d29 2 a30 1 $ make testname.log d32 1 a32 3 where "testname" is the name of the test. This is an automake-ism that will create (or re-create, if need be), a log of the particular test run that you're working on. d34 6 a39 1 * HOW TO ADD A NEW TEST TO THE TEST SUITE d41 2 a42 8 ** List your test in the TESTS variable in Makefile.am in this directory. Note that due to the large number of tests, we use variables to group similar tests together. This also helps with handling the automake test suite requirements. Hopefully your test can be listed in SIMPLE_TESTS. You'll need to add the appropriate automake _SOURCES variable as well. If you're unsure, then consult the automake manual, paying attention to the parallel test harness section. d47 2 a48 2 stderr, which will have been redirected to the log file created by the automake test suite harness. d51 2 a52 1 the test should return 2 (two). d54 24 a77 3 ** Once your work is done, submit a patch via the flex development mailing list, the github pull request mechanism or some other suitable means. @ 1.1.1.2.16.1 log @Sync with HEAD @ text @d53 1 a53 2 the test should return 77 (seventy-seven). This is the exit status that would be recognized by automake's "test-driver" as _skipped_. @ 1.1.1.2.14.1 log @Sync with HEAD, resolve a few conflicts @ text @d53 1 a53 2 the test should return 77 (seventy-seven). This is the exit status that would be recognized by automake's "test-driver" as _skipped_. @ 1.1.1.3 log @2017-05-06 Will Estes * po/ca.po, po/da.po, po/de.po, po/eo.po, po/es.po, po/fi.po, po/fr.po, po/ga.po, po/hr.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sr.po, po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po, po/zh_TW.po: gettext: pulled latest translations; recompiled against current sources 2017-05-06 Will Estes * NEWS: version 2.6.4 * NEWS: Record release date. 2017-05-06 Will Estes * .prev-version: note previous version 2017-05-06 Will Estes * NEWS: doc: update NEWS for upcoming release 2017-05-04 viktor.shepel * doc/flex.texi: doc: Correct typo in C code sample in manual 2017-05-04 Explorer09 * src/flex.skl: scanner: Mention %# comments are removed when building skel.c 2017-05-02 Demi Obenour * src/flex.skl: Honor user definitions of yy_* macros The user may have defined the yy_* macros themselves. In that case, don't clobber them. 2017-05-02 Demi Obenour * src/flex.skl, src/main.c: Don't leak macro definitions into header files This allowed unnamespaced definitions to leak into header files, breaking client code. Fixes #142 2017-05-03 Demi Obenour * src/scan.l: scanner: Check for 0 bracecount when EOL ends quoted literal. This can happen in the case of // comments (which Flex doesn't handle specially). 2017-05-03 Demi Obenour * src/scan.l: scanner: when bracelevel is negative, treat as zero. This really should never happen, but this at least fixes the breakage on Verilator. 2017-04-02 Jeff Smith * tests/Makefile.am, tests/tableopts.am, tests/tableopts.sh: test: enable more silent building of tests. When running 'make V=0 check', some compile and link steps are made less verbose and some are not. This cleans up most steps that are not. These have no effect if V=0 is not specified. 2017-05-03 Demi Obenour * src/Makefile.am, src/misc.c, src/mkskel.sh: build: Delete comments from skeleton file. Since the comments in flex.skl are, by hypothesis, not needed in skel.c, we remove them. THis reduces the size of the resulting executable somewhat. 2017-05-03 Explorer09 * Makefile.am, configure.ac, lib/Makefile.am: build: do not generate lib/Makefile.in. Files in lib/ are picked up and built using makefile directives in src/Makefile.am. Remove the need to generate lib/Makefile.in and the stub lib/Makefile.am. 2017-05-02 Will Estes * po/POTFILES.in: gettext: revert listing generated .c files 2017-04-10 Jeff Smith * src/filter.c: FLEX_EXIT() is the preferred way to exit flex 2017-04-11 Explorer09 * src/misc.c: Fix myesc() 'sptr' conditionals * Don't call isascii() here. It's deprecated in POSIX and not needed for myesc's case. * The check of the character class and range here should match what's defined as {ESCSEQ} in scan.l, so for [[:xdigit:]] we use isxdigit(); for [0-7] we check '0' <= c <= '7' (not isdigit(c) because isdigit is locale-dependant in standard's sense) * Add missing length limit for "\x" ( is at most 2 digits) 2017-04-11 Explorer09 * src/flexdef.h, src/misc.c: Obsolete htoui() and otoui(); use strtoul(). No sense to keep these two function when libc's strtoul() can do the same job, but better. 2017-04-12 Todd C. Miller * src/flex.skl: scanner: update yy_buf_size after yyrealloc() 2017-05-02 Simon Sobisch * configure.ac: build: use lowest versions for gettext, automake. 2017-05-02 Simon Sobisch * po/Makevars, po/Rules-getpo, po/update_linguas.sh: gettext: more recent makevars; new script to update po files. Previously, "make dist" and similar commands would cause the po files to be updated, which is incorrect. The more recent version now used should not do this. Replaced Rules-getpo by extra script to manually update and rebuild all po files. 2017-05-02 Simon Sobisch * po/POTFILES.in: gettext: list generated files instead of flex, bison sources in POTFILES.in. Listing the flex and bison sources -- as the gettext manual suggests -- causes warnings. Listing the generated C files for the lexer and parser removes the warnings. Since both files contain line directives, any translator who needs to refer back to those files should be able to find the context in which strings are needed. 2017-05-02 Simon Sobisch * autogen.sh: build: only touch ChangeLog if it does not exist 2017-05-02 Simon Sobisch * configure.ac, doc/Makefile.am: build: list earliest useable versions for automake 2017-05-02 Simon Sobisch * autogen.sh: build: check for how to call libtoolize. Previously, we would call libtoolize and if that failed, we would call glibtoolize since some platforms have the libtoolize program under that name. Instead, we check to see if the environment variable LIBTOOLIZE is set and use that if so. Otherwise, we try to find a program "libtoolize" on the path and failing that glibtoolize. We alert the user if no suitable program can be found. 2017-01-06 Alastair Hughes * configure.ac, m4/ax_prog_cc_for_build.m4, src/Makefile.am: build: support cross compiling. Check for cross compiling. If cross compiling, build stage1flex using a custom link command. We also override LDADD since that adds the replacement implementations that are cross compiled, and instead always use the replacement library implementations. We don't use BUILD_OBJEXT and BUILD_EXEEXT since it seems that automake does not support these. Fixes #78. 2017-02-17 Explorer09 * configure.ac, src/flexdef.h: build: Include ; add strcasecmp() check to configure. strings.h (not string.h) is the standard-defined include header for strcasecmp(). Include for portability (even though glibc exposes strcasecmp() declaration also in by default). 2017-02-17 Explorer09 * configure.ac, src/flexdef.h: build: Let configure error if missing required functions, headers.. `configure` will now error if a required header or function is not found on the system. Also add comments on optional functions checks. Add sys/stats.h and sys/wait.h to list of required headers in configure. This fixes issue #180. 2017-02-12 Explorer09 * src/dfa.c, src/flexdef.h: scanner: compute powers of two faster. Replace the naive "for" loop in determining power of two with a clever bitwise solution. This code is around the Internet already and is in Public Domain. 2017-02-07 Explorer09 * configure.ac, tests/Makefile.am, tests/pthread.l: test: skip pthread test when needed files missing. "Unlisting" the pthread test when libpthread is not available is never a good idea. Should let it compile into a stub program that returns the "skip" status. configure.ac and tests/Makefile.am are edited so that pthread test can be built anyway, but only works (not as the stub) when both pthread.h and libpthread are detected on the system. Also fix a small typo in tests/pthread.l comments. 2017-02-16 Will Estes * src/Makefile.am: build: mv scan.c when building dist. Revert change to copy scan.c when building the distribution archive. Move it instead. This satisfies automake's notions of what should be clean and ensures that the distribution archive contains a just-built copy of scan.c. Fixes #186 2017-02-06 Will Estes * src/Makefile.am: build: don't assume distdir/scan.c is writeable 2017-01-02 Explorer09 * src/Makefile.am: build: Add dist-hook to force remake scan.c. This will ensure the flex scanner included in release tarball being generated by exactly the flex version to be released. Here's one catch after this change: You may not run "make dist" or "make distdir" if you configure the flex source to be cross-compiled. 2017-01-02 Explorer09 * src/Makefile.am: build: respect '--localedir' from configure. Makefile shouldn't overwrite the 'localedir' variable, because that's what '--localedir' option in 'configure' is for. 2017-01-02 Explorer09 * src/Makefile.am: build: Remove "-I$(top_srcdir)/intl" from CPPFLAGS. Revert commit e02c3d27eeb6b53ec82532ab080c23ce26813fd4 ("include the intl/ subdirectory when searching for include files") Flex doesn't come with libintl source code, so inclusion of $(top_srcdir)/intl subdirectory during compiling is unnecessary. This flag seems to be left after "remove intl from dist" (commit 8f45da06adbd7dbcdfdbdd5c20ff4c47fc504f35) without someone cleaning this up. Users who need to build with gettext functionality from libintl would use the '--with-libintl-prefix' configure option. 2017-02-03 Explorer09 * src/regex.c: scanner: fix regcomp's error reporting, double malloc. Fix unneeded double malloc - let regerror(). Write its message after our "regcomp for (regex) failed: " string. Also, errbuf cannot be free()'d because of flexfatal containing a longjmp. 2017-01-03 Explorer09 * tests/Makefile.am, tests/no_bison_stub.c: test: Skip bison tests if bison is not available 2017-01-03 Explorer09 * configure.ac: build: remove repeated bison detection from configure. AC_PROG_YACC already detects the bison program. We can just use it, and make notice if [ $YACC != 'bison -y' ] Remove unused AC_SUBST([BISON], ...). Add AM_CONDITIONAL([HAVE_BISON], ...) so that we can skip bison tests in testsuite when bison is absent. We don't make any attempt to detect other yacc implementations since flex is developed with bison. While it would be possible, the need isn't there right now. It would be possible to add a --with-parser option that defaulted to bison if such a need cropped up. 2017-01-01 Explorer09 * src/Makefile.am: build: fix Makefile parse.h dependency clauses. The current clauses stating "main.c: parse.h" and "yylex.c: parse.h" do not work as expected. Make did not try to build parse.h upon building flex-main.o as it would think main.c exist already and ignore the clause. Fix this by explicitly stating that the .o files depend on parse.h instead. This dependency bug only happens if user builds flex from a checked-out repository. 2017-01-03 Explorer09 * tests/Makefile.am: test: Remake *_scanner.c if *_scanner.h is missing. If a ${foo}_scanner.c exists but the respective ${foo}_scanner.h is missing, then 'make' can halt. Fix this by deleting the ${foo}_scanner.c file and then remake it. This rule is the same as the automake-generated rule for .c files that require LEX or YACC (except automake will use ylwrap). 2016-12-31 Explorer09 * tests/Makefile.am: test: remove BUILT_SOURCES; add missing dependencies. Without BUILT_SOURCES in Makefile, no test sources in tests/ will be built when using the default "make all" target. This is desireable for people who are just building flex but who do not want to run, and therefore, build any part of the test suite. Also fix missing sources dependencies: bison_nr_scanner.$(OBJEXT): bison_nr_parser.h bison_yylloc_scanner.$(OBJEXT): bison_yylloc_parser.h bison_yylval_scanner.$(OBJEXT): bison_yylval_parser.h 2017-01-19 Explorer09 * configure.ac, lib/reallocarray.c, src/flexint.h, src/misc.c: build: detect overflow for [re]allocate_array. Use reallocarray() when we have it (i.e. in OpenBSD system). When we don't, use equivalent overflow detection for our allocate_array and reallocate_array functions. Remove lib/reallocarray.c from our LIBOBJS as we no longer need it. Provide a fallback SIZE_MAX macro definition in flexint.h (not preprocessor friendly, but enough for our reallocate_array use case). 2017-01-23 Will Estes * NEWS, configure.ac: doc: v2.6.4 2017-01-23 Thomas Klausner * src/Makefile.am: build: more BSD make and vpath build fixes. BSD make doesn't like $< with more than one source specified. Additionally, make sure to specify srcdir when referring to source files since vpath builds depend on this. 2017-01-22 Thomas Klausner * src/Makefile.am: build: Fix skel.c generation with BSD make 2017-01-22 Christos Zoulas * src/flex.skl: Add more defines in the non-reentrant part. Fix the reentrant part; don't "#define yyfoo yyfoo" because it breaks code that does #ifndef yywrap .. 2017-01-22 Christos Zoulas * src/flexdef.h: scanner: Add yyparse prototype 2017-01-22 Thomas Klausner * src/flex.skl: scanner: move comment for consistency 2017-01-22 Christos Zoulas * src/misc.c: scanner: Use array instead of pointer 2017-01-22 Christos Zoulas * src/main.c: scanner: manage path to m4 better. Avoid alloca() for SSP; it is better anyway; since we don't need to strdup the path. 2017-01-22 Christos Zoulas * src/gen.c: scanner: Avoid creating unused label 2017-01-22 Christos Zoulas * src/buf.c: Cast argument to avoid arithmetic on void *. 2017-01-22 Christos Zoulas * src/scan.l: scanner: Use strncpy 2017-01-22 Christos Zoulas * src/main.c: scanner: Use prefix when defining yywrap to avoid redefinition. Fixes regression introduced in v2.6.3. 2017-01-22 Christos Zoulas * src/flexdef.h, src/misc.c: scanner: Include stdarg.h for va_list 2017-01-22 Christos Zoulas * src/flexdef.h, src/main.c, src/parse.y: scanner: Rename warn to lwarn. This avoids a naming conflict in NetBSD's libc. 2017-01-01 Explorer09 * tests/README: test: document automake convention for skipped exit status. 2017-01-03 Explorer09 * tests/Makefile.am: test: let testwrapper scripts be run by ${SHELL}. This allows user to use a different shell if /bin/sh has problems. The use of $SHELL (variable) to run scripts is already an Automake convention. All shell scripts in build-aux are run by $SHELL. 2017-01-02 Explorer09 * tests/options.cn, tests/tableopts.sh, tests/testwrapper-direct.sh, tests/testwrapper.sh: test: Remove test scripts bashisms. They now all work under a POSIX compliant sh. Specifically, 'dash' can now be used for running "make check" tests. Note that none of these scripts has ever been using a pipe, so `set -o pipefail` is unnecessary and removed. 2017-01-02 Explorer09 * tests/testwrapper.sh: test: exit on '-1' test non-zero status. If a '-1' test program returns a non-zero status, don't go further and compare it's (numeric) output values. This allows a '-1' test to indicate a "skip" status or an otherwise error. (Currently no such '-1' test would skip like this, though.) Shell syntax note: `set -e` will not exit with the syntax like this `test $(false) = $(false);`. The exit statuses of `false` in the example will be ignored instead. But putting the output in a variable, such as `VAR=$(false)`, DOES exit. 2017-01-02 Explorer09 * Makefile.am, src/Makefile.am: build: Fix 'make indent' target This 'make indent' target has not been working since the directories reorganization in flex 2.6.0. Now make it work again. Note that the current indent profile breaks many styles of existing code. The indent target should not be used until the .indent.pro options are reviewed for desireability. 2017-01-01 Explorer09 * configure.ac: build: Simplify indent program detection 2017-01-12 Tobias Klauser * src/filter.c: filter: Don't emit #line if %option noline set One place emitting a #line directive to the generated header was missed in commit 647a92b9f4 when resolving #55. Fix it to respect gen_line_dirs as well. 2017-01-12 Will Estes * po/ca.po, po/da.po, po/de.po, po/eo.po, po/es.po, po/fi.po, po/fr.po, po/ga.po, po/hr.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sr.po, po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po, po/zh_TW.po: translation: refresh po files from translation project 2017-01-10 Harald van Dijk * src/flex.skl: c++: Fix yyrestart(NULL) SEGV. Binding a reference to a dereferenced null pointer is invalid and compilers optimise away the &file == 0 check. We need a real stream. yyin is available already, and yyrestart(NULL) is only supported when yyin will not be used, so there is no harm in just passing in that. Since we now always have a valid stream, we can skip the null check too. Fixes #98. 2017-01-09 luistung * src/scan.l: scanner: join symbol list. Removed a newline that caused a problem building the scanner in some circumstances. Specifically: 'bad character' error when executing /bin/sh ../build-aux/ylwrap scan.l lex.yy.c scan.c -- flex 2017-01-11 Will Estes * src/flex.skl: scanner: remove void cast before fprintf @ text @d53 1 a53 2 the test should return 77 (seventy-seven). This is the exit status that would be recognized by automake's "test-driver" as _skipped_. @