maint: post-release administrivia
* NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update.
* doc/bison.texi: Fix spello. Fix missing colors, and factor.
The original Texinfo macros introducing colors were made for diagnostics, which are printed in bold. So by copy-paste accident the styles we introduced for counterexamples were also in bold. They should not. * doc/bison.texi: Separate the styling of diagnostics from the styling for counterexamples. Don't use bold in the latter case.
doc: factor ifnottex/iftex examples
* doc/bison.texi: Factor the common bits out of ifnottex/iftex.
doc: refer to cex from sections dealing with conflicts
The documentation about -Wcex should be put forward. * doc/bison.texi: Refer to -Wcex from the sections about conflicts.
scanner: don't crash on strings containing a NUL byte
We crash if the input contains a string containing a NUL byte. Reported by Suhwan Song. https://lists.gnu.org/r/bug-bison/2020-07/msg00051.html * src/flex-scanner.h (STRING_FREE): Avoid accidental use of last_string. * src/scan-gram.l: Don't call STRING_FREE without calling STRING_FINISH first. * tests/input.at (Invalid inputs): Check that case.
cex: style: prefer FOO_print to print_FOO
* src/state-item.h, src/state-item.c (print_state_item): Rename as... (state_item_print): this. * src/counterexample.c (print_counterexample): Rename as... (counterexample_print): this.
cex: style: prefer "res" for the returned value
* src/derivation.c (derivation_new): here.
diagnostics: better location for type redeclarations
From
foo.y:1.7-11: error: %type redeclaration for bar
1 | %type <foo> bar bar
| ^~~~~
foo.y:1.7-11: note: previous declaration
1 | %type <foo> bar bar
| ^~~~~
to
foo.y:1.17-19: error: %type redeclaration for bar
1 | %type <foo> bar bar
| ^~~
foo.y:1.13-15: note: previous declaration
1 | %type <foo> bar bar
| ^~~
* src/symlist.h, src/symlist.c (symbol_list_type_set): There's no need
for the tag's location, use that of the symbol.
* src/parse-gram.y: Adjust.
* tests/input.at: Adjust.libtextstyle: be sure to have ostream_printf and hyperlink support
Older versions of libtextstyle do not support them, rule them out. Reported by Lars Wendler https://lists.gnu.org/r/bug-bison/2020-07/msg00030.html and by Arnold Robbins https://lists.gnu.org/r/bug-bison/2020-07/msg00041.html and https://lists.gnu.org/mailman/private/gawk-devel/2020-July/003988.html and by Nelson H. F. Beebe https://lists.gnu.org/mailman/private/gawk-devel/2020-July/003993.html With support from Bruno Haible in gnulib https://lists.gnu.org/r/bug-gnulib/2020-08/msg00000.html thread starting at https://lists.gnu.org/r/bug-gnulib/2020-07/msg00148.html * configure.ac: Require libtextstyle 0.20.5. * gnulib: Update.
portability: beware of max () with MSVC
Reported by Maarten De Braekeleer. https://lists.gnu.org/r/bison-patches/2020-07/msg00080.html We don't want to use gnulib's min and max macros, since we use function calls in min/max arguments. * src/location.c (max_int, min_int): Move to... * src/system.h: here. * src/counterexample.c, src/derivation.c: Use max_int instead of max.
portability: use INT_LITERAL instead of INT because MSVC defines INT
It is defined as a typedef, not a macro. https://lists.gnu.org/r/bison-patches/2020-08/msg00001.html * src/parse-gram.y, src/scan-gram.l: here.
portability: use CHAR_LITERAL instead of CHAR because MSVC defines CHAR
* src/parse-gram.y, src/scan-gram.l: here.
portability: rename accept to acceptsymbol because of MSVC
MSVC already defines this symbol. * src/symtab.h, src/symtab.c (accept): Rename as... (acceptsymbol): this. Adjust dependencies.
portability: we use termios.h and sys/ioctl.h
Reported by Maarten De Braekeleer. https://lists.gnu.org/r/bison-patches/2020-07/msg00079.html * bootstrap.conf (gnulib_modules): Add termios and sys_ioctl.