Home | History | Annotate | Download | only in bison
      1 2012-12-12  Akim Demaille  <akim (a] lrde.epita.fr>
      2 
      3 	version 2.7
      4 	* NEWS: Record release date.
      5 
      6 2012-12-12  Akim Demaille  <akim (a] lrde.epita.fr>
      7 
      8 	yacc.c: scope reduction
      9 	* data/yacc.c (yysyntax_error): here.
     10 
     11 2012-12-12  Akim Demaille  <akim (a] lrde.epita.fr>
     12 
     13 	tests: C90 compliance
     14 	* tests/synclines.at: here.
     15 
     16 2012-12-12  Akim Demaille  <akim (a] lrde.epita.fr>
     17 
     18 	fix C90 compliance
     19 	* data/glr.c, src/graphviz.h, src/ielr.c, src/scan-gram.l,
     20 	* src/system.h, tests/actions.at, tests/glr-regression.at: Do not
     21 	use // comments.
     22 	Do not introduce variables after statements.
     23 	Provide "main" with a return value.
     24 
     25 2012-12-12  Akim Demaille  <akim (a] lrde.epita.fr>
     26 
     27 	glr.c: scope reduction
     28 	* data/glr.c (yyreportSyntaxError): Reduce the scope of yysize1 (now
     29 	yysz).
     30 
     31 2012-12-12  Akim Demaille  <akim (a] lrde.epita.fr>
     32 
     33 	gnulib: update
     34 
     35 2012-12-09  Akim Demaille  <akim (a] lrde.epita.fr>
     36 
     37 	news: prepare for forthcoming release
     38 	* NEWS: Fill paragraph.
     39 	Reorder.
     40 	Update examples.
     41 	Remove line for 2.6.90.
     42 
     43 2012-12-09  Akim Demaille  <akim (a] lrde.epita.fr>
     44 
     45 	doc: explain how mid-rule actions are translated
     46 	* doc/bison.texi (Actions in Mid-Rule): Mention and use named references.
     47 	Split into three subsections, among which...
     48 	(Mid-Rule Action Translation): this new section.
     49 
     50 2012-12-09  Akim Demaille  <akim (a] lrde.epita.fr>
     51 
     52 	error: use better locations for unused midrule values
     53 	On
     54 
     55 	  %%
     56 	  exp: {;} {$$;} { $$ = $1; }
     57 
     58 	instead of reporting (with -fcaret -Wmidrule-value)
     59 
     60 	  midrule.y:2.6-8: warning: unset value: $$ [-Wmidrule-values]
     61 	   exp: {;} {$$;} { $$ = $1; }
     62 	        ^^^
     63 	  midrule.y:2.6-27: warning: unused value: $2 [-Wmidrule-values]
     64 	   exp: {;} {$$;} { $$ = $1; }
     65 	        ^^^^^^^^^^^^^^^^^^^^^^
     66 
     67 	report
     68 
     69 	  midrule.y:2.6-8: warning: unset value: $$
     70 	   exp: {;} {$$;} { $$ = $1; }
     71 	        ^^^
     72 	  midrule.y:2.10-14: warning: unused value: $2
     73 	   exp: {;} {$$;} { $$ = $1; }
     74 	            ^^^^^
     75 
     76 	* src/reader.c (grammar_rule_check): When warning about the value of a
     77 	midrule action, use the location of the midrule action instead of the
     78 	location of the rule.
     79 	the location of the part of the rule.
     80 	* tests/actions.at (Default %printer and %destructor for mid-rule values):
     81 	Adjust expectations
     82 	* tests/input.at (Unused values with default %destructor): Ditto.
     83 	(AT_CHECK_UNUSED_VALUES): Ditto.
     84 	And use -fcaret.
     85 
     86 2012-12-09  Akim Demaille  <akim (a] lrde.epita.fr>
     87 
     88 	doc: various minor improvements and fixes
     89 	* doc/figs/example.dot, doc/figs/example.y: New.
     90 	* doc/bison.texi: Prefer "token" to TOKEN.
     91 	Use @group where appropriate.
     92 	Adjust with style changes in the output (State 0, not state 0).
     93 	Fix some @ref that were missing the third argument.
     94 	Fix some incorrect line numbers.
     95 	Use "nonterminal", not "non-terminal".
     96 	Fix overfull and underfull TeX hboxes.
     97 	Put the comments in the index.
     98 	Remove duplicate index entries.
     99 	Fuse glossary entries where appropriate.
    100 	(Understanding): Improve the continuity between sections.
    101 	Use example.dot to show the whole graph.
    102 	* doc/Makefile.am: Adjust.
    103 
    104 2012-12-09  Akim Demaille  <akim (a] lrde.epita.fr>
    105 
    106 	tests: ignore more useless compiler warnings
    107 	* tests/synclines.at (AT_SYNCLINES_COMPILE): Ignore complains about
    108 	using c++ to compile C.
    109 
    110 2012-12-09  Akim Demaille  <akim (a] lrde.epita.fr>
    111 
    112 	tests: be robust to C being compiled with a C++11 compiler
    113 	* tests/glr-regression.at: Use YY_NULL instead of NULL.
    114 	Comment changes.
    115 
    116 2012-12-09  Akim Demaille  <akim (a] lrde.epita.fr>
    117 
    118 	build: beware of Clang++ not supporting POSIXLY_CORRECT
    119 	* m4/c-working.m4 (BISON_LANG_COMPILER_POSIXLY_CORRECT): New.
    120 	(BISON_C_COMPILER_POSIXLY_CORRECT): Use it.
    121 	For consistency with C++, also define BISON_C_WORKS.
    122 	* m4/cxx.m4 (BISON_CXX_COMPILER_POSIXLY_CORRECT): New.
    123 	* configure.ac: Use it.
    124 	* tests/atlocal.in: Get its result.
    125 	Propagate properly CXX values when used to compile C.
    126 	When POSIXLY_CORRECT, adjust BISON_C_WORKS and BISON_CXX_WORKS.
    127 	* tests/local.at (AT_COMPILE): Use BISON_C_WORKS.
    128 
    129 2012-12-07  Akim Demaille  <akim (a] lrde.epita.fr>
    130 
    131 	maint: post-release administrivia
    132 	* NEWS: Add header line for next release.
    133 	* .prev-version: Record previous version.
    134 	* cfg.mk (old_NEWS_hash): Auto-update.
    135 
    136 2012-12-07  Akim Demaille  <akim (a] lrde.epita.fr>
    137 
    138 	version 2.6.90
    139 	* NEWS: Record release date.
    140 
    141 2012-12-07  Akim Demaille  <akim (a] lrde.epita.fr>
    142 
    143 	build: fix syntax-check error.
    144 	* cfg.mk: Exclude names-refs, it includes a "double" if (end of first
    145 	line, first of second line below).
    146 
    147 	test.y:43.12-44.59:  symbol not found in production: if
    148 	 if-stmt-a: IF expr[cond] THEN stmt.list[then] ELSE stmt.list[else] FI
    149 	            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    150 
    151 2012-12-07  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    152 
    153 	cpp: simplify the Flex version checking macro
    154 	* src/flex-scanner,h (FLEX_VERSION): Consider YY_FLEX_SUBMINOR_VERSION
    155 	defined.
    156 
    157 2012-12-07  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    158 
    159 	news: improve the carets example and fix a typo
    160 	* NEWS: Here.
    161 
    162 2012-12-07  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    163 
    164 	cpp: improve the Flex version checking macro
    165 	* src/flex-scanner.h (FLEX_VERSION): Here.
    166 
    167 2012-12-07  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    168 
    169 	carets: improve the code
    170 	* src/location.c: Remove duplicate documentations.
    171 	(caret_info): Stylistic change.
    172 	(location_caret): Many reworks.
    173 
    174 2012-12-07  Akim Demaille  <akim (a] lrde.epita.fr>
    175 
    176 	maint: update news
    177 	* NEWS: There is no 2.6.6, remove its stub.
    178 
    179 2012-12-07  Akim Demaille  <akim (a] lrde.epita.fr>
    180 
    181 	build: keep -Wmissing-declarations and -Wmissing-prototypes for modern GCCs
    182 	Fixes a -Werror failure of xalloc.h used in src.
    183 	From Eric Blake.
    184 	http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00006.html
    185 
    186 	* configure.ac: Check whether GCC pragma diagnostic push/pop works.
    187 	Enable these warnings for bison if it does.
    188 	Enable these warnings for the test suite anyway.
    189 
    190 2012-12-07  Akim Demaille  <akim (a] lrde.epita.fr>
    191 
    192 	build: drop -Wcast-qual
    193 	Suggested by Jim Meyering.
    194 	http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00017.html
    195 	* configure.ac (warn_common): Remove -Wcast-qual.
    196 
    197 2012-12-07  Akim Demaille  <akim (a] lrde.epita.fr>
    198 
    199 	gnulib: update
    200 
    201 2012-12-06  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    202 
    203 	misc: pacify the Tiny C Compiler
    204 	* src/graphviz.c (conclude_red): Remove a useless return.
    205 
    206 2012-12-05  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    207 
    208 	cpp: make the check of Flex version portable
    209 	This was problematic with tcc 0.9.25
    210 
    211 	* src/flex-scanner.h (FLEX_VERSION_GT): Rewrite and rename as...
    212 	(FLEX_VERSION): This.
    213 
    214 2012-12-05  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    215 
    216 	misc: require getline
    217 	* bootstrap.conf: Here, used by src/location.c.
    218 	* src/getargs.c (long_options): Rename --flags to --feature.
    219 
    220 2012-12-05  Akim Demaille  <akim (a] lrde.epita.fr>
    221 
    222 	c++: support wide strings for file names
    223 	Reported by Mark Boyall.
    224 	http://lists.gnu.org/archive/html/help-bison/2011-08/msg00002.html
    225 
    226 	* data/location.cc (operator<<): Be templated on the type of
    227 	output stream.
    228 	* tests/headers.at (Several parsers): Adjust.
    229 
    230 2012-12-05  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    231 
    232 	doc: document carets
    233 	* NEWS: Announce it.
    234 	* doc/bison.texi (Bison Options):  Here.
    235 
    236 2012-12-05  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    237 
    238 	tests: enhance existing tests with carets
    239 	* tests/actions.at: Unset value.
    240 	* tests/conflicts.at: Rule useless due to conflicts.
    241 	* tests/input.at: Missing terminator, unexpected end of file, command line
    242 	redefinition of variable.
    243 	* tests/named-refs.at: Many errors.
    244 	* tests/reduce.at: Useless nonterminals and rules.
    245 	* tests/regression.at: Large token.
    246 
    247 2012-12-05  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    248 
    249 	errors: show carets
    250 	* src/locations.c (caret_info): New, persistant information useful
    251 	for...
    252 	(location_caret): New, print a caret.
    253 	(cleanup_caret): Release caret_info cleanly, call it...
    254 	* src/main.c (main): Here.
    255 	* src/complain.c (error_message): Call location_caret here.
    256 
    257 2012-12-05  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    258 
    259 	getargs: add support for --feature/-f
    260 	Introduce -fdiagnostics-show-caret
    261 
    262 	* src/getargs.c (feature_flag): New global.
    263 	* src/getargs.h (feature): New enum.
    264 
    265 2012-12-04  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    266 
    267 	getargs: don't label --language/-l as experimental
    268 	* NEWS: Announce it.
    269 	* doc/bison.texi, src/getargs.c (usage): Here.
    270 
    271 2012-12-03  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    272 
    273 	getargs: fix the locations of command-line input
    274 	* src/getargs.c (command_line_location): Here.
    275 	* tests/input.at: Adjust.
    276 
    277 2012-12-03  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    278 
    279 	errors: indent missing action code semicolon warning
    280 	Also, remove a duplicate #define.
    281 
    282 	* src/scan-code.l (SC_RULE_ACTION): Here.
    283 	* tests/actions.at: Adjust.
    284 
    285 2012-12-03  Akim Demaille  <akim (a] lrde.epita.fr>
    286 
    287 	parser: accept #line NUM
    288 	* src/scan-gram.l (scanner): Accept '#line NUM'.
    289 	(handle_syncline): Adjust to the possible missing file name.
    290 
    291 2012-12-03  Akim Demaille  <akim (a] lrde.epita.fr>
    292 
    293 	m4: use a safer pattern to enable/disable output
    294 	Work on some other areas of Bison revealed that some macros expanded
    295 	to be expanded only once were actually expanded several times.  This
    296 	was due to the fact that changecom was not properly restored each
    297 	time, and macro names appearing in comments were then expanded.
    298 
    299 	Introduce begin/end macros which are easier to match that
    300 	changecom()/changecom(#).
    301 
    302 	* data/bison.m4 (b4_output_begin, b4_output_end): New.
    303 	* data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java,
    304 	* data/location.cc, data/stack.hh, data/yacc.c:
    305 	Use them.
    306 
    307 2012-12-03  Akim Demaille  <akim (a] lrde.epita.fr>
    308 
    309 	tests: beware of gnulib's need for config.h
    310 	* tests/skeletons.at, tests/torture.at: Be sure to include config.h
    311 	where appropriate.
    312 
    313 2012-11-30  Akim Demaille  <akim (a] lrde.epita.fr>
    314 
    315 	gnulib: update
    316 	* lib/yyerror.c: Include config.h since the following stdio.h might be
    317 	from gnulib.
    318 
    319 2012-11-30  Akim Demaille  <akim (a] lrde.epita.fr>
    320 
    321 	yacc.c, glr.c: check and fix the display of locations
    322 	In some case, negative column number could be displayed.
    323 	Make YY_LOCATION_PRINT similar to bison's own implementation of
    324 	locations.  Since the macro is getting fat, make it a static
    325 	function.
    326 	Reported by Jonathan Fabrizio.
    327 
    328 	* data/c.m4 (yy_location_print_define): Improve the implementation,
    329 	and generate the yy_location_print_ function.
    330 	Adjust YY_LOCATION_PRINT.
    331 	* tests/actions.at (Location Print): New tests.
    332 
    333 2012-11-30  Akim Demaille  <akim (a] lrde.epita.fr>
    334 
    335 	formatting changes
    336 	* data/c.m4: Fix comments, put macros in a more natural order.
    337 	Space changes (from M-x whitespace-cleanup).
    338 	* src/location.c: Fix spaces.
    339 	* tests/actions.at: Space changes.
    340 
    341 2012-11-30  Akim Demaille  <akim (a] lrde.epita.fr>
    342 
    343 	glr.c: remove stray macro
    344 	* data/glr.c (YYOPTIONAL_LOC): Remove, unused since commit
    345 	769a8ef9bcb5e14d0be9d0869f5dca20ab093930.
    346 
    347 2012-11-29  Akim Demaille  <akim (a] lrde.epita.fr>
    348 
    349 	doc: minor fixes
    350 	* doc/bison.texi: Use stderr for error messages.
    351 	Meta-variables are usually spelled in lower case.
    352 	Use @code for function names.
    353 
    354 2012-11-29  Akim Demaille  <akim (a] lrde.epita.fr>
    355 
    356 	doc: improve the index
    357 	* doc/bison.texi: Fix uses of "deffn" so that the arguments of the
    358 	directives do not show in the index.
    359 	Remove a duplicate entry for api.pure.
    360 
    361 2012-11-29  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    362 
    363 	doc: introduce api.pure full, rearrange some examples
    364 	* NEWS: Add entry.
    365 	* doc/bison.texi (%define Summary): Show the old Yacc behaviour.
    366 	(Parser Function): Move parse-param examples here.
    367 	(Pure Calling): Remove parse-param examples.
    368 	(Error Reporting): Don't show the old behavior, stick to 'full'.
    369 
    370 2012-11-29  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    371 
    372 	yacc.c: support "%define api.pure full"
    373 	This makes the interface for yyerror() pure without the need for a spurious
    374 	parse_param.
    375 
    376 	* data/yacc.c (b4_pure_if, b4_pure_flag): New definition, accept three states.
    377 	(b4_yacc_pure_if): Rename as...
    378 	(b4_yyerror_arg_loc_if): This, and use b4_pure_flag.
    379 	* tests/actions.at (%define api.pure): Modernize.
    380 	* test/calc.at (Simple LALR Calculator): Modernize.
    381 	* tests/local.at (AT_YYERROR_ARG_LOC_IF): Adjust.
    382 
    383 2012-11-26  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    384 
    385 	local.at: improvements
    386 	* tests/local.at (AT_YYERROR_FORMALS): Make llocp const.
    387 	(AT_PURE_AND_LOC_IF, AT_GLR_OR_PARAM_IF): Remove, expand...
    388 	(AT_YYERROR_ARG_LOC_IF): Here, and use m4_join for readability.
    389 
    390 2012-11-26  Akim Demaille  <akim (a] lrde.epita.fr>
    391 
    392 	Merge remote-tracking branch 'origin/branch-2.6' into maint
    393 	* origin/branch-2.6:
    394 	  yacc.c: always initialize yylloc
    395 	  doc: one of the fixes for an ambiguous grammar was ambiguous too
    396 	  doc: fix the dangling else with precedence directives
    397 	  doc: prefer "token" to TOKEN
    398 	  doc: formatting changes
    399 
    400 2012-11-23  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    401 
    402 	yacc.c: always initialize yylloc
    403 	The initial location might be used if the parser starts by an empty
    404 	reduction, so really ensure proper initialization of the initial
    405 	location.  The previous approach fails for PostgreSQL, which uses
    406 	Reported by Peter Eisentraut.
    407 	http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00023.html
    408 	With help from Thophile Ranquet.
    409 
    410 	* data/yacc.c (b4_declare_scanner_communication_variables): Be sure
    411 	to initialize yylloc, even when its structure is unknown.
    412 	(yyparse): Simplify the call to b4_dollar_pushdef.
    413 	* tests/actions.at (Initial location): Check of similar pattern
    414 	as in the case of PostgreSQL.
    415 
    416 2012-11-23  Akim Demaille  <akim (a] lrde.epita.fr>
    417 
    418 	scanner: issue a single error for groups of invalid characters
    419 	* src/scan-gram.l: Scan groups of invalid characters together.
    420 	* tests/input.at, tests/named-refs.at: Adjust.
    421 
    422 2012-11-23  Akim Demaille  <akim (a] lrde.epita.fr>
    423 
    424 	tests: formatting changes
    425 	* tests/named-refs.at: Here.
    426 
    427 2012-11-23  Akim Demaille  <akim (a] lrde.epita.fr>
    428 
    429 	doc: one of the fixes for an ambiguous grammar was ambiguous too
    430 	Reported by  .
    431 	http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00024.html
    432 
    433 	* doc/bison.texi (Reduce/Reduce): Fix the resulting ambiguity using
    434 	precedence/associativity directives.
    435 
    436 2012-11-22  Akim Demaille  <akim (a] lrde.epita.fr>
    437 
    438 	doc: fix the dangling else with precedence directives
    439 	* doc/bison.texi (Non Operators): New node.
    440 	(Shift/Reduce): Point to it.
    441 	Don't promote "%expect n" too much.
    442 
    443 2012-11-22  Akim Demaille  <akim (a] lrde.epita.fr>
    444 
    445 	doc: prefer "token" to TOKEN
    446 	This is more readable in short examples.
    447 
    448 	* doc/bison.texi (Shift/Reduce): here.
    449 	Make "win" and "lose" action more alike.
    450 
    451 2012-11-22  Akim Demaille  <akim (a] lrde.epita.fr>
    452 
    453 	doc: formatting changes
    454 	* doc/bison.texi: Use @group.
    455 
    456 2012-11-14  Akim Demaille  <akim (a] lrde.epita.fr>
    457 
    458 	scanner: use explicit "ignore" statements
    459 	* src/scan-gram.l: here.
    460 
    461 2012-11-12  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    462 
    463 	tests: close files in glr-regression
    464 	* tests/glr-regression.at: Here.
    465 
    466 2012-11-12  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    467 
    468 	xml: match DOT output and xml2dot.xsl processing
    469 	Make the DOT produced by XSLT processing equivalent to the one made with the
    470 	--graph option.
    471 
    472 	* data/xslt/xml2dot.xsl: Stylistic changes, and add support for reductions.
    473 	* doc/bison.texi (Xml): Update.
    474 	* src/graphviz.c (conclude_red): Minor stylistic changes to DOT internals.
    475 	(output_red): Swap enabled and disabled reductions output, for coherence
    476 	with XSLT output.
    477 	* src/print_graph.c (print_core): Minor stylistic change to States' output.
    478 	(print_actions): Swap order of output for reductions and transitions.
    479 	* tests/local.at (AT_BISON_CHECK_XML): Ignore differences in order.
    480 	* tests/output.at: Adjust to changes in DOT internals.
    481 
    482 2012-11-12  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    483 
    484 	xml: factor xslt space template
    485 	* data/xslt/bison.xsl (space): New, import from...
    486 	* data/xslt/xml2text.xsl: Here.
    487 
    488 2012-11-12  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    489 
    490 	graph: fix a memory leak
    491 	* src/graphviz.c (output_red): Here.
    492 
    493 2012-11-12  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    494 
    495 	xml: documentation
    496 	The XML output combined with the XSL Transformations provided in data/ are
    497 	incredibly useful, they should be documented.
    498 
    499 	* doc/bison.texi (Xml): New node.
    500 
    501 2012-11-12  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
    502 
    503 	output: capitalize State
    504 	* src/print.c (print_state): Here.
    505 	* tests/conflicts.at, tests/existing.at, tests/local.at, tests/reduce.at,
    506 	tests/regression.at, tests/sets.at: Adjust.
    507 
    508 2012-11-12  Akim Demaille  <akim (a] lrde.epita.fr>
    509 
    510 	maint: address syntax-check errors.
    511 	* cfg.mk: Ignore the "error" call in tests/c++.at, it is not to be
    512 	translated.
    513 	* doc/bison.texi: Fix incorrect @pxref use.
    514 	* po/POTFILES.in: Add missing file.
    515 	* src/print_graph.c: Remove useless include.
    516 
    517 2012-11-12  Akim Demaille  <akim (a] lrde.epita.fr>
    518 
    519 	tests: use valgrind where appropriate
    520 	Reported by Thophile Ranquet.
    521 
    522 	* cfg.mk (sc_at_parser_check): New.
    523 	* tests/c++.at: Fix use of AT_CHECK vs. AT_PARSER_CHECK.
    524 
    525 2012-11-12  Akim Demaille  <akim (a] lrde.epita.fr>
    526 
    527 	Merge remote-tracking branch 'origin/branch-2.6' into maint
    528 	* origin/branch-2.6:
    529 	  tests: use valgrind where appropriate
    530 	  tests: don't expect $EGREP to support -w
    531 
    532 2012-11-10  Akim Demaille  <akim (a] lrde.epita.fr>
    533 
    534 	tests: use valgrind where appropriate
    535 	Reported by Thophile Ranquet.
    536 
    537 	* tests/glr-regression.at: Rewrite some test cases so that AT_PARSER_CHECK,
    538 	which runs valgrind, is exposed with the parser, not with "echo".
    539 	* tests/local.at, tests/regression.at, tests/headers.at:
    540 	Use AT_PARSER_CHECK for generated parsers.
    541 
    542 2012-11-08  Akim Demaille  <akim (a] lrde.epita.fr>
    543 
    544 	tests: don't expect $EGREP to support -w
    545 	Does not work on Solaris 10.  Reported by Dennis Clarke.
    546 	http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00009.html
    547 	* tests/headers.at (Several parsers): Use Perl instead.
    548 	While at it, run it only once, on all the generated headers.
    549 	Adjust to YY_NULL be defined in position.hh.
    550 
    551 2012-11-08  Akim Demaille  <akim (a] lrde.epita.fr>
    552 
    553 	tests: more possible error compiler messages for "#error"
    554 	* tests/synclines.at (AT_SYNCLINES_COMPILE): Adjust for Clang.
    555 	Verified with GCC 4.0, 4.2 to 4.8, and Clang 2.9, 3.2: none skip.
    556 
    557 2012-11-08  Akim Demaille  <akim (a] lrde.epita.fr>
    558 
    559 	regen
    560 
    561 2012-11-08  Akim Demaille  <akim (a] lrde.epita.fr>
    562 
    563 	Merge branch 'branch-2.6' into maint
    564 	* origin/branch-2.6:
    565 	  maint: post-release administrivia
    566 	  version 2.6.5
    567 	  regen
    568 	  tests: syntax-check
    569 	  tests: beware of compilers that do not support POSIXLY_CORRECT
    570 	  gnulib: update
    571 
    572 2012-11-07  Akim Demaille  <akim (a] lrde.epita.fr>
    573 
    574 	maint: post-release administrivia
    575 	* NEWS: Add header line for next release.
    576 	* .prev-version: Record previous version.
    577 	* cfg.mk (old_NEWS_hash): Auto-update.
    578 
    579 2012-11-07  Akim Demaille  <akim (a] lrde.epita.fr>
    580 
    581 	version 2.6.5
    582 	* NEWS: Record release date.
    583 
    584 2012-11-07  Akim Demaille  <akim (a] lrde.epita.fr>
    585 
    586 	regen
    587 
    588 2012-11-07  Akim Demaille  <akim (a] lrde.epita.fr>
    589 
    590 	tests: syntax-check
    591 	* tests/actions.at: Fix typo.
    592 
    593 2012-11-07  Akim Demaille  <akim (a] lrde.epita.fr>
    594 
    595 	tests: beware of compilers that do not support POSIXLY_CORRECT
    596 	Running "maintainer-release-check" on OS X with Clang 2.9 fails,
    597 	because "clang-mp-2.9 -o test -g test.c" launches "/usr/bin/dsymutil
    598 	test -o test.dSYM" which fails with "error: unable to open executable
    599 	'-o'".
    600 
    601 	* m4/c-working.m4 (BISON_CHECK_WITH_POSIXLY_CORRECT)
    602 	(BISON_C_COMPILER_POSIXLY_CORRECT): New.
    603 	* configure.ac: Use the latter.
    604 	* tests/atlocal.in (POSIXLY_CORRECT_IS_EXPORTED): New.
    605 	* tests/local.at (AT_BISON_CHECK_WARNINGS_): Use it instead of computing its
    606 	value each time.
    607 	(AT_QUELL_VALGRIND): Skip tests that cannot work because of compilers
    608 	that do not support POSIXLY_CORRECT.
    609 
    610 2012-11-07  Akim Demaille  <akim (a] lrde.epita.fr>
    611 
    612 	gnulib: update
    613 
    614 2012-11-06  Akim Demaille  <akim (a] lrde.epita.fr>
    615 
    616 	Merge branch 'branch-2.6' into maint
    617 	* origin/branch-2.6: (24 commits)
    618 	  tests: calc: modernize the use of locations
    619 	  tests: remove useless location initializations
    620 	  lalr1.cc: always initialize yylval.
    621 	  tests: check that C and C++ objects can be linked together.
    622 	  yacc.c: also disable -Wuninitialized.
    623 	  glr.cc, yacc.c: initialize yylloc properly
    624 	  yacc.c, glr.c: a better YY_LOCATION_PRINT
    625 	  yacc.c: simplify initialization
    626 	  doc: formatting changes
    627 	  c++: fix position operator signatures
    628 	  tests: remove useless location initialization.
    629 	  tests: fix locations in C
    630 	  tests: handle %parse-param in the generated yyerror
    631 	  tests: simplifications
    632 	  grammars: fix display of nul character in error message
    633 	  tests: sort
    634 	  tests: cosmetic changes
    635 	  comment changes
    636 	  autoconf: update
    637 	  gnulib: update
    638 	  ...
    639 
    640 2012-11-06  Akim Demaille  <akim (a] lrde.epita.fr>
    641 
    642 	tests: calc: modernize the use of locations
    643 	* tests/calc.at: Don't initialize the location, let the parser
    644 	do it.
    645 	Use a $printer.
    646 	Change some testing input to be easier to distinguish (instead of always
    647 	"0 0" for instance).
    648 
    649 2012-11-06  Akim Demaille  <akim (a] lrde.epita.fr>
    650 
    651 	tests: remove useless location initializations
    652 	* tests/actions.at, tests/calc.at: here.
    653 
    654 2012-11-06  Akim Demaille  <akim (a] lrde.epita.fr>
    655 
    656 	lalr1.cc: always initialize yylval.
    657 	* data/lalr1.cc: here.
    658 
    659 2012-11-06  Akim Demaille  <akim (a] lrde.epita.fr>
    660 
    661 	tests: check that C and C++ objects can be linked together.
    662 	* tests/local.at (AT_SKIP_IF_CANNOT_LINK_C_AND_CXX): New.
    663 	* tests/headers.at (Several parsers): Use it.
    664 
    665 2012-11-06  Akim Demaille  <akim (a] lrde.epita.fr>
    666 
    667 	yacc.c: also disable -Wuninitialized.
    668 	* data/yacc.c (YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN): For some versions
    669 	of GCC, -Wmaybe-uninitialized alone does not suffice.
    670 
    671 2012-11-06  Akim Demaille  <akim (a] lrde.epita.fr>
    672 
    673 	glr.cc, yacc.c: initialize yylloc properly
    674 	There are several issues to address here.  One is that yylloc should
    675 	be initialized when possible.  Another is that the push parser needs
    676 	to update yypushed_loc when the user modified it.  And if the parser
    677 	starts by a reduction of an empty, it uses the first location on the
    678 	stack, which, therefore, must also be initialized to this initial
    679 	location.
    680 
    681 	This is getting complex, especially since because initializing a
    682 	global (impure interface) is different from initializing a local
    683 	variable.  To simplify, the local yylloc is not initialized during its
    684 	definition.
    685 
    686 	* data/c.m4 (b4_yyloc_default_define): Replace by...
    687 	(b4_yyloc_default): this.
    688 	Adjust dependencies.
    689 	* data/glr.cc: Initialize yylloc.
    690 	* data/yacc.c (b4_declare_scanner_communication_variables):
    691 	Initialize yylloc during its definition.
    692 	Don't define yyloc_default.
    693 	(yypush_parse): The location formal is not const, as we might
    694 	initialize it.
    695 	(yyparse): Define yyloc_default.
    696 	Use it before running the user initial action.
    697 	Possibly update the first location on the stack, and the pushed
    698 	location after the user initial action.
    699 	* tests/actions.at (Initial locations): Check that the initial
    700 	location is correct.
    701 
    702 2012-11-06  Akim Demaille  <akim (a] lrde.epita.fr>
    703 
    704 	yacc.c, glr.c: a better YY_LOCATION_PRINT
    705 	* data/c.m4 (b4_yy_location_print_define): New.
    706 	Now issues "short" locations, e.g., "1.1" instead of "1.1-1.1".
    707 	Was initially a function, but then we face "static but unused"
    708 	warnings.
    709 	Simpler as a macro.
    710 	* tests/local.at, data/glr.c, data/yacc.c: Use it instead of duplicating.
    711 	* tests/actions.at: Adjust expectations.
    712 
    713 2012-11-06  Akim Demaille  <akim (a] lrde.epita.fr>
    714 
    715 	yacc.c: simplify initialization
    716 	* data/yacc.c: Fuse the initializations of yyssp, yyss and the like.
    717 	Remove an obsolete comment: we do initialize these initial stack
    718 	members (in some cases).
    719 
    720 2012-11-05  Akim Demaille  <akim (a] lrde.epita.fr>
    721 
    722 	doc: formatting changes
    723 	* doc/bison.texi: In a pointer type.
    724 
    725 2012-11-05  Akim Demaille  <akim (a] lrde.epita.fr>
    726 
    727 	c++: fix position operator signatures
    728 	* data/location.cc (operator+=, operator-=): Remove const from return
    729 	type.
    730 
    731 2012-11-05  Akim Demaille  <akim (a] lrde.epita.fr>
    732 
    733 	tests: remove useless location initialization.
    734 	* tests/glr-regression.at: here.
    735 	glr.c does initialize yylloc.
    736 
    737 2012-11-05  Akim Demaille  <akim (a] lrde.epita.fr>
    738 
    739 	tests: fix locations in C
    740 	* tests/local.at (AT_YYERROR_DEFINE): Don't display the end of the location
    741 	if it is not after its beginning.
    742 	* tests/actions.at, tests/cxx-type.at: Adjust the expected output.
    743 
    744 2012-11-05  Akim Demaille  <akim (a] lrde.epita.fr>
    745 
    746 	tests: handle %parse-param in the generated yyerror
    747 	* tests/local.at (AT_PARSE_PARAMS): New.
    748 	(AT_YYERROR_FORMALS, AT_YYERROR_DEFINE): Use it to add the parse-param
    749 	to yyerror.
    750 	* tests/calc.at, tests/regression.at: Use AT_YYERROR_DEFINE and
    751 	AT_YYERROR_DECLARE, now that they handle properly the parse-params.
    752 	Be sure to let AT_BISON_OPTION_PUSHDEFS now what parse-params are used.
    753 
    754 2012-11-05  Akim Demaille  <akim (a] lrde.epita.fr>
    755 
    756 	tests: simplifications
    757 	* tests/actions.at (Exotic Dollars): Formatting changes.
    758 	Use AT_FULL_COMPILE.
    759 	(AT_CHECK_PRINTER_AND_DESTRUCTOR): Remove useless initialization of @$.
    760 
    761 2012-11-01  Akim Demaille  <akim (a] lrde.epita.fr>
    762 
    763 	grammars: fix display of nul character in error message
    764 	Reported by Marc Mendiola.
    765 	http://lists.gnu.org/archive/html/help-bison/2012-10/msg00017.html
    766 
    767 	* gnulib: Update to get quote_mem.
    768 	* src/scan-gram.l: Use it.
    769 	* tests/input.at (Invalid inputs): Additional checks.
    770 	* tests/named-refs.at: Likewise.
    771 
    772 2012-11-01  Akim Demaille  <akim (a] lrde.epita.fr>
    773 
    774 	tests: sort
    775 	* tests/regression.at (Invalid inputs, Invalid inputs with {}): Move to...
    776 	* tests/input.at: here, for consistency.
    777 
    778 2012-11-01  Akim Demaille  <akim (a] lrde.epita.fr>
    779 
    780 	tests: cosmetic changes
    781 	* tests/actions.at (AT_CHECK_PRINTER_AND_DESTRUCTOR): Improve the
    782 	displayed title.
    783 
    784 2012-11-01  Akim Demaille  <akim (a] lrde.epita.fr>
    785 
    786 	comment changes
    787 	* data/lalr1.cc: here.
    788 
    789 2012-11-01  Akim Demaille  <akim (a] lrde.epita.fr>
    790 
    791 	autoconf: update
    792 	There are comment changes only in the files we use.
    793 
    794 2012-11-01  Akim Demaille  <akim (a] lrde.epita.fr>
    795 
    796 	gnulib: update
    797 
    798 2012-10-28  Akim Demaille  <akim (a] lrde.epita.fr>
    799 
    800 	regen
    801 
    802 2012-10-28  Akim Demaille  <akim (a] lrde.epita.fr>
    803 
    804 	yacc.c: initialize yylval and yylloc.
    805 	When generating a pure push parser, the initialization of yylval and
    806 	yylloc may not be visible to the compiler.  With warnings enabled, GCC
    807 	4.3.6, 4.4.7, 4.5.4, and 4.6.3 report uninitialized uses of
    808 	yylval/yylloc.  Using local pragmas to disable these warnings is not
    809 	supported before 4.6, and 4.6 does not support it properly.  So
    810 	initialize yylval and yylloc at their definition.  Reported by Peter
    811 	Simons.  See
    812 	http://lists.gnu.org/archive/html/bison-patches/2012-10/msg00133.html
    813 
    814 	* data/c.m4 (b4_yyloc_default_define): New.
    815 	* data/yacc.c: Use it when locations are requested.
    816 	(YYLVAL_INITIALIZE): Replace by...
    817 	(YY_INITIAL_VALUE): this.
    818 	(yyparse): Initialize yylloc and yylval.
    819 	Therefore, remove the initialization of yylloc's field.
    820 	* data/glr.c: Likewise.
    821 
    822 2012-10-26  Akim Demaille  <akim (a] lrde.epita.fr>
    823 
    824 	Merge branch 'branch-2.6' into maint
    825 	* origin/branch-2.6:
    826 	  regen
    827 	  yacc.c: do not define location support when not using locations
    828 	  maint: be compilable with GCC 4.0
    829 	  tests: address a warning from GCC 4.4
    830 	  tests: don't use options that Clang does not support
    831 	  tests: restore the tests on -Werror
    832 	  regen
    833 	  parse-gram: update the Bison interface
    834 	  fix comment
    835 
    836 2012-10-26  Akim Demaille  <akim (a] lrde.epita.fr>
    837 
    838 	doc: minor style change
    839 	* doc/figs/example-reduce.txt: here.
    840 
    841 2012-10-26  Akim Demaille  <akim (a] lrde.epita.fr>
    842 
    843 	maint: use gendocs's new -I option
    844 	* gnulib: Update gendocs.
    845 	* cfg.mk (gendocs_options_): New.
    846 
    847 2012-10-26  Akim Demaille  <akim (a] lrde.epita.fr>
    848 
    849 	regen
    850 
    851 2012-10-26  Akim Demaille  <akim (a] lrde.epita.fr>
    852 
    853 	yacc.c: don't use _Pragma GCC diagnostic with 4.6
    854 	Reported by Peter Simons.
    855 	http://lists.gnu.org/archive/html/bug-bison/2012-10/msg00033.html
    856 
    857 	* data/yacc.c (b4_declare_scanner_communication_variables): 4.7
    858 	seems fine though.
    859 
    860 2012-10-26  Akim Demaille  <akim (a] lrde.epita.fr>
    861 
    862 	regen
    863 
    864 2012-10-26  Akim Demaille  <akim (a] lrde.epita.fr>
    865 
    866 	yacc.c: do not define location support when not using locations
    867 	* data/yacc.c (YYLLOC_DEFAULT, YYRHSLOC): Don't define when not
    868 	using locations.
    869 
    870 2012-10-26  Akim Demaille  <akim (a] lrde.epita.fr>
    871 
    872 	maint: be compilable with GCC 4.0
    873 	The "shadows a global declaration" warning in GCC 4.0 was a bit
    874 	annoying.  It does not like that a type name be used in a prototype of
    875 	a function (not the implementation, just the declaration):
    876 
    877 	  In file included from src/LR0.c:38:
    878 	  src/reader.h:56: warning: declaration of 'named_ref' shadows a
    879 	                            global declaration
    880 	  src/named-ref.h:35: warning: shadowed declaration is here
    881 
    882 	It does not like either when a global variable name is used in a
    883 	prototype.  Flex 2.5.37 generates this prototype:
    884 
    885 	  void gram_set_debug (int debug_flag  );
    886 
    887 	* src/getargs.h, src/getargs.c (debug_flag): Rename as...
    888 	(debug): this.
    889 	Adjust dependencies.
    890 	* src/reader.h: Don't use "named_ref" as a formal argument name.
    891 
    892 2012-10-25  Akim Demaille  <akim (a] lrde.epita.fr>
    893 
    894 	tests: address a warning from GCC 4.4
    895 	236. torture.at:465: testing Exploding the Stack Size with Alloca ...
    896 	../../../tests/torture.at:474: bison -o input.c input.y
    897 	../../../tests/torture.at:474: $CC $CFLAGS $CPPFLAGS $LDFLAGS -o input input.c $LIBS
    898 	stderr:
    899 	cc1: warnings being treated as errors
    900 	input.y: In function 'main':
    901 	input.y:60: error: 'status' may be used uninitialized in this function
    902 
    903 	* tests/torture.at (AT_DATA_STACK_TORTURE): Initial status to avoid
    904 	the previous error.
    905 
    906 2012-10-25  Akim Demaille  <akim (a] lrde.epita.fr>
    907 
    908 	tests: don't use options that Clang does not support
    909 	* configure.ac (WARN_CFLAGS, WARN_CXXFLAGS): Do not include options
    910 	that Clang does not support.
    911 
    912 2012-10-25  Akim Demaille  <akim (a] lrde.epita.fr>
    913 
    914 	tests: restore the tests on -Werror
    915 	When run as /bin/sh, Bash sets the shell variable POSIXLY_CORRECT to
    916 	y.  The test suite checks for the envvar POSIXLY_CORRECT to turn of
    917 	some tests not supported in POSIX mode.  Restore these tests.
    918 
    919 	Reported by the Hydra build farm, from Rob Vermaas.
    920 
    921 	* tests/local.at (AT_BISON_CHECK_WARNINGS_): Check the envvar
    922 	POSIXLY_CORRECT, not the shell variable.
    923 
    924 2012-10-25  Akim Demaille  <akim (a] lrde.epita.fr>
    925 
    926 	regen
    927 
    928 2012-10-25  Akim Demaille  <akim (a] lrde.epita.fr>
    929 
    930 	parse-gram: update the Bison interface
    931 	* src/parse-gram.y (%pure-parser, %name-prefix): Replace with...
    932 	(%define api.pure, %define api.prefix)
    933 	* src/location.h, src/scan-gram.h: Adjust to api.prefix.
    934 
    935 2012-10-25  Akim Demaille  <akim (a] lrde.epita.fr>
    936 
    937 	fix comment
    938 	* data/c.m4 (b4_YYDEBUG_define): here.
    939 
    940 2012-10-23  Akim Demaille  <akim (a] lrde.epita.fr>
    941 
    942 	Merge branch 'branch-2.6' into maint
    943 	* origin/branch-2.6:
    944 	  maint: post-release administrivia
    945 	  version 2.6.4
    946 	  regen
    947 	  2.6.4: botched 2.6.3
    948 
    949 2012-10-23  Akim Demaille  <akim (a] lrde.epita.fr>
    950 
    951 	maint: post-release administrivia
    952 	* NEWS: Add header line for next release.
    953 	* .prev-version: Record previous version.
    954 	* cfg.mk (old_NEWS_hash): Auto-update.
    955 
    956 2012-10-23  Akim Demaille  <akim (a] lrde.epita.fr>
    957 
    958 	version 2.6.4
    959 	* NEWS: Record release date.
    960 
    961 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
    962 
    963 	regen
    964 
    965 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
    966 
    967 	2.6.4: botched 2.6.3
    968 	* NEWS: here.
    969 
    970 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
    971 
    972 	Merge branch '2.6.3' into maint
    973 	* 2.6.3: (22 commits)
    974 	  maint: post-release administrivia
    975 	  version 2.6.3
    976 	  gnulib: update
    977 	  tests: check %no-lines
    978 	  NEWS: warnings with clang
    979 	  warnings: avoid warnings from clang
    980 	  tests: no longer disable -O compiler options
    981 	  yacc.c: initialize yylval in pure-parser mode
    982 	  skeletons: style changes
    983 	  tests: minor improvements
    984 	  tests: use $PERL instead of perl
    985 	  build: look for Perl in configure.
    986 	  tests: fix sed portability issues
    987 	  tests: diff -u is not portable
    988 	  maint: word changes
    989 	  lalr1.cc: fix test suite portability
    990 	  maint: fix an erroneous include
    991 	  tests: check that headers are self contained
    992 	  doc: add missing documentation for --report
    993 	  headers: move CPP guards into YY_*_INCLUDED to avoid collisions
    994 	  ...
    995 
    996 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
    997 
    998 	maint: post-release administrivia
    999 	* NEWS: Add header line for next release.
   1000 	* .prev-version: Record previous version.
   1001 	* cfg.mk (old_NEWS_hash): Auto-update.
   1002 
   1003 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1004 
   1005 	version 2.6.3
   1006 	* NEWS: Record release date.
   1007 
   1008 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1009 
   1010 	gnulib: update
   1011 
   1012 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1013 
   1014 	tests: check %no-lines
   1015 	* tests/synclines.at: here.
   1016 
   1017 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1018 
   1019 	NEWS: warnings with clang
   1020 	* NEWS: here.
   1021 
   1022 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1023 
   1024 	warnings: avoid warnings from clang
   1025 	Fix the following warning
   1026 
   1027 	  parse-gram.c:2078:14: error: equality comparison with extraneous parentheses
   1028 	                        [-Werror,-Wparentheses-equality]
   1029 	    if (((yyn) == (-91)))
   1030 	         ~~~~~~^~~~~~~~
   1031 	  parse-gram.c:2078:14: note: remove extraneous parentheses around the
   1032 	                        comparison to silence this warning
   1033 	    if (((yyn) == (-91)))
   1034 	        ~      ^       ~
   1035 	  parse-gram.c:2078:14: note: use '=' to turn this equality comparison into
   1036 	                        an assignment
   1037 	    if (((yyn) == (-91)))
   1038 	               ^~
   1039 	               =
   1040 	  1 error generated.
   1041 
   1042 	and the following one:
   1043 
   1044 	  input.cc:740:1: error: function declared 'noreturn' should not return
   1045 	                         [-Werror,-Winvalid-noreturn]
   1046 	  static void yyMemoryExhausted (yyGLRStack* yystackp)
   1047 	    __attribute__ ((__noreturn__));
   1048 	  static void
   1049 	  yyMemoryExhausted (yyGLRStack* yystackp)
   1050 	  {
   1051 	    YYLONGJMP (yystackp->yyexception_buffer, 2);
   1052 	  }
   1053 	  ^
   1054 	  1 warning and 1 error generated.
   1055 
   1056 	This is Apple clang version 3.1 (tags/Apple/clang-318.0.61).
   1057 
   1058 	* data/c.m4 (b4_table_value_equals): Use (!!(A == B)) instead of (A == B)
   1059 	to avoid this warning.
   1060 	Any reasonable compiler should generate the same code.
   1061 	* src/uniqstr.h (UNIQSTR_EQ): Likewise.
   1062 	* data/glr.c (LONGJMP): abort after longjmp to pacify clang.
   1063 
   1064 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1065 
   1066 	tests: no longer disable -O compiler options
   1067 	Tests are running without -O since
   1068 	f377f69fec28013c79db4efe12bbb9d48987fb2c because some warnings (about
   1069 	yylval not being initialized) show only when GCC is given -O2.  The
   1070 	previous patch fixes the warnings. Run the test suite with compiler
   1071 	options unmodified.
   1072 
   1073 	* tests/atlocal.in (O0CFLAGS, O0CXXFLAGS): Remove, use CFLAGS and
   1074 	CXXFLAGS.
   1075 
   1076 2012-10-22  Paul Eggert  <eggert (a] cs.ucla.edu>
   1077 
   1078 	yacc.c: initialize yylval in pure-parser mode
   1079 	See http://lists.gnu.org/archive/html/bison-patches/2012-08/msg00024.html
   1080 	(spreading over September and October).
   1081 
   1082 	* data/yacc.c (YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN)
   1083 	(YY_IGNORE_MAYBE_UNINITIALIZED_END, YYLVAL_INITIALIZE):
   1084 	New macros.  Use them to suppress an unwanted GCC diagnostic.
   1085 
   1086 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1087 
   1088 	skeletons: style changes
   1089 	* data/yacc.c, data/glr.c: Prefer Title case for (CPP) macro arguments.
   1090 
   1091 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1092 
   1093 	tests: minor improvements
   1094 	* tests/c++.at: Space changes.
   1095 	Use AT_YYERROR_DEFINE.
   1096 	* tests/local.at (AT_YYERROR_DEFINE): Issue errors on unknown languages.
   1097 
   1098 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1099 
   1100 	tests: use $PERL instead of perl
   1101 	* tests/atlocal.in (PERL): New.
   1102 	Sort.
   1103 	* tests/calc.at, tests/input.at, tests/local.at, tests/regression.at,
   1104 	* tests/skeletons.at, tests/synclines.at, tests/torture.at: here.
   1105 
   1106 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1107 
   1108 	build: look for Perl in configure.
   1109 	Bison uses "/usr/bin/perl" or "perl" in several places, and it does
   1110 	not appear to be a problem.  But, at least to make it simpler to
   1111 	change PERL on the make command line, check for perl in configure.
   1112 
   1113 	* configure.ac (PERL): New.
   1114 	* doc/Doxyfile.in, doc/Makefile.am, tests/bison.in: Use it.
   1115 
   1116 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1117 
   1118 	tests: fix sed portability issues
   1119 	Reported by Didier Godefroy,
   1120 	<http://lists.gnu.org/archive/html/bug-bison/2012-10/msg00005.html>.
   1121 
   1122 	* tests/calc.at (AT_CHECK_SPACES): Use Perl.
   1123 
   1124 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1125 
   1126 	tests: diff -u is not portable
   1127 	Reported by Didier Godefroy
   1128 	<http://lists.gnu.org/archive/html/bug-bison/2012-10/msg00006.html>.
   1129 
   1130 	* tests/existing.at (AT_LALR1_DIFF_CHECK): Skip if diff -u does not
   1131 	work.
   1132 
   1133 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1134 
   1135 	maint: word changes
   1136 	* README-hacking (Typical errors): Improve wording.
   1137 
   1138 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1139 
   1140 	lalr1.cc: fix test suite portability
   1141 	Reported by Rob Vermaas' Hydra build farm on x86_64-darwin 10.2.0 with
   1142 	G++ 4.6.3.
   1143 
   1144 	* tests/headers.at (Several parsers): Include AT_DATA_SOURCE_PROLOGUE
   1145 	in the files to compile.
   1146 	* data/location.cc: Do not include twice string and iostream (once
   1147 	by position.hh, and then by location.hh).
   1148 	* README-hacking (Typical errors): Some hints for other maintainers.
   1149 
   1150 2012-10-22  Theophile Ranquet  <theophile.ranquet (a] gmail.com>
   1151 
   1152 	maint: fix an erroneous include
   1153 	This fixes test 130 (Several parsers).
   1154 
   1155 	* data/location.cc: Include <iostream> rather than <iosfwd> since
   1156 	we really need << on strings for instance.
   1157 	* NEWS: Document this.
   1158 
   1159 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1160 
   1161 	tests: check that headers are self contained
   1162 	Reported by Alexandre Duret-Lutz.
   1163 
   1164 	* tests/headers.at (Several parsers): here.
   1165 
   1166 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1167 
   1168 	doc: add missing documentation for --report
   1169 	* doc/bison.texi (Bison Options): Document --report's "solved", "all",
   1170 	and "none".
   1171 
   1172 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1173 
   1174 	headers: move CPP guards into YY_*_INCLUDED to avoid collisions
   1175 	See <http://lists.gnu.org/archive/html/bug-bison/2012-09/msg00016.html>.
   1176 
   1177 	* data/c.m4 (b4_cpp_guard): Prepend YY_ and append _INCLUDED.
   1178 	* tests/headers.at: Adjust.
   1179 	* NEWS, doc/bison.texi: Document.
   1180 
   1181 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1182 
   1183 	minor changes.
   1184 	* NEWS: Word changes.
   1185 	* doc/bison.texi: Spell check.
   1186 	Fix minor issues.
   1187 	* tests/headers.at: Comment and formatting changes.
   1188 
   1189 2012-10-22  Akim Demaille  <akim (a] lrde.epita.fr>
   1190 
   1191 	gnulib: update
   1192 
   1193 2012-10-19  Akim Demaille  <akim (a] lrde.epita.fr>
   1194 
   1195 	gnulib: update
   1196 
   1197 2012-10-19  Akim Demaille  <akim (a] lrde.epita.fr>
   1198 
   1199 	xml: slight improvement of the DOT output
   1200 	This was completely forgotten...  Nothing about XML is actually
   1201 	documented...
   1202 
   1203 	* data/xslt/xml2dot.xsl: Use boxes, and Courier font.
   1204 
   1205 2012-10-19  Akim Demaille  <akim (a] lrde.epita.fr>
   1206 
   1207 	maint: check for dot before using it
   1208 	* configure.ac: here.
   1209 	* doc/Makefile.am: Use $(DOT).
   1210 	Ship the generated files, to spare the user the need for Graphviz.
   1211 
   1212 2012-10-18  Theophile Ranquet  <theophile.ranquet (a] gmail.com>
   1213 
   1214 	graphs: documentation
   1215 	Note that 'make web-manual' fails.
   1216 
   1217 	* NEWS: Document these changes.
   1218 	* doc/Makefile.am: Adjust to generate example files.
   1219 	* doc/bison.texi: Add a Graphviz section after "Understanding::", the section
   1220 	describing the .output file, because these are similar.
   1221 	* doc/figs/example-reduce.dot, doc/figs/example-reduce.txt,
   1222 	doc/figs/example-shift.dot, doc/figs/example-shift.txt: New, minimal
   1223 	examples to illustrate the documentation.
   1224 
   1225 2012-10-18  Theophile Ranquet  <theophile.ranquet (a] gmail.com>
   1226 
   1227 	graphs: add tests, introducing -k graph
   1228 	* tests/output.at (AT_TEST): New.
   1229 	Use it to add 6 --graph tests.
   1230 
   1231 2012-10-18  Theophile Ranquet  <theophile.ranquet (a] gmail.com>
   1232 
   1233 	graphs: change the output format of the rules
   1234 	Use something similar to the report file.
   1235 
   1236 	* src/print_graph.c (print_lhs): New, obstack equivalent of rule_lhs_print.
   1237 	(print_core): Use here.
   1238 
   1239 2012-10-18  Theophile Ranquet  <theophile.ranquet (a] gmail.com>
   1240 
   1241 	graphs: style changes
   1242 	* src/graphviz.c (start_graph): Use courier font.
   1243 	(conclude_red): Use commas to separate attributes. Show the acceptation
   1244 	as a special reduction, with a blue color and an "Acc" label. Show the
   1245 	lookahead tokens between square brackets.
   1246 	(output_red): No longer label default reductions.
   1247 	* src/print_graph.c (print_core): Refactor spacing, and print an
   1248 	additional space between a rule's rhs and its lookahead tokens. Also,
   1249 	capitalize "State".
   1250 	(print_actions): Style, move a declaration.
   1251 
   1252 2012-10-18  Theophile Ranquet  <theophile.ranquet (a] gmail.com>
   1253 
   1254 	graphs: address an issue with R/R conflicts
   1255 	All disabled reductions should now be shown as such.
   1256 
   1257 	* src/graphviz.c (output_red): Here.
   1258 	(conclude_red): New.
   1259 
   1260 2012-10-16  Akim Demaille  <akim (a] lrde.epita.fr>
   1261 
   1262 	java: fixes
   1263 	* data/java.m4: Remove stray M4 characters.
   1264 
   1265 2012-10-12  Akim Demaille  <akim (a] lrde.epita.fr>
   1266 
   1267 	java: use api.location.type and api.position.type
   1268 	* data/java.m4: here.
   1269 	* NEWS, doc/bison.texi, tests/java.at: Adjust.
   1270 
   1271 2012-10-12  Akim Demaille  <akim (a] lrde.epita.fr>
   1272 
   1273 	tests: check %no-lines
   1274 	* tests/synclines.at: here.
   1275 
   1276 2012-10-12  Akim Demaille  <akim (a] lrde.epita.fr>
   1277 
   1278 	tests: minor simplification
   1279 	* tests/headers.at (Several parsers): Use *.y even for C++.
   1280 
   1281 2012-10-11  Akim Demaille  <akim (a] lrde.epita.fr>
   1282 
   1283 	graphs: stylistic changes.
   1284 	* src/graphviz.c (output_red): Comment and formatting changes.
   1285 
   1286 2012-10-11  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
   1287 
   1288 	graphs: minor style changes
   1289 	* src/graphviz.c (output_red): Fix C90 issues.
   1290 	Reduce variable scopes.
   1291 
   1292 2012-10-11  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
   1293 
   1294 	graphs: show reductions
   1295 	* src/graphviz.c (output_red): New, show reductions on the graph.
   1296 	(no_reduce_bitset_init): New, initialize a bitset.
   1297 	(print_token): New, print a lookahead token.
   1298 	(escape): New, print "foo" as \"foo\" because Dot doesn't like quotes within
   1299 	a label.
   1300 
   1301 	* src/graphviz.h : Adjust.
   1302 	* src/print_graph.c (print_actions): Call output_red here.
   1303 
   1304 2012-10-11  Theophile Ranquet  <theophile.ranquet (a] gmail.com>
   1305 
   1306 	graphs: style: prefix state number with "state"
   1307 	* src/print_graph.c (print_core): Here.
   1308 
   1309 2012-10-11  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
   1310 
   1311 	graphs: style: use left justification for states
   1312 	The label text of nodes is centered "by default" (by the use of '\n' as
   1313 	a line feed). This gives bad readability to the grammar rules shown in
   1314 	state nodes, a left justification is much nicer. This is done by using '\l'
   1315 	as the line feed.
   1316 
   1317 	In order to allow \l in the DOT file, changes to the quoting system seem
   1318 	necessary.
   1319 
   1320 	* src/print_graph.c (print_core): Escape tokens here, instead of...
   1321 	* src/graphviz.c (output_node): Here...
   1322 	(escape): Using this, new.
   1323 
   1324 2012-10-11  Theophile Ranquet  <theophile.ranquet (a] gmail.com>
   1325 
   1326 	graphs: style: prefix rules and change shapes
   1327 	* src/graphviz.c (start_graph): Use box rather than ellipsis.
   1328 	* src/print_graph.c (print_core): Prefix rules with their number.
   1329 
   1330 2012-10-11  Theophile Ranquet  <theophile.ranquet (a] gmail.com>
   1331 
   1332 	obstack: import obstack_finish0 from master
   1333 	* src/system.h (obstack_finish0): New.
   1334 
   1335 2012-10-09  Akim Demaille  <akim (a] lrde.epita.fr>
   1336 
   1337 	c++: api.location.type
   1338 	This feature was introduced in 95a2de5695670ae0df98cb3c42141cad549f0204
   1339 	(which is part of 2.5), but not documented.  Give it a proper name, and
   1340 	make it public.
   1341 
   1342 	* data/c++.m4, data/lalr1.cc, data/glr.cc, data/java.m4: Use
   1343 	api.location.type instead of location_type.
   1344 	* src/muscle-tab.c (muscle_percent_variable_update): Map the latter to
   1345 	the former.
   1346 	* tests/local.at: Adjust.
   1347 	* tests/calc.at: Use api.location.type.
   1348 	Leave tests/java.at with location_type, at least for the time being,
   1349 	to cover both names.
   1350 	* doc/bison.texi: Document api.location.type.
   1351 	(User Defined Location Type): New.
   1352 	* NEWS: Update.
   1353 
   1354 2012-10-09  Akim Demaille  <akim (a] lrde.epita.fr>
   1355 
   1356 	muscles: a function for backward compatibility
   1357 	Based on commit 171ad99d6421935a278656be6dc7161591835d00 from master.
   1358 
   1359 	* src/muscle-tab.c (muscle_percent_variable_update): New.
   1360 	(muscle_percent_define_insert): Use it.
   1361 	Define the variables with their initial value.
   1362 
   1363 2012-10-09  Akim Demaille  <akim (a] lrde.epita.fr>
   1364 
   1365 	maint: more macros
   1366 	* src/output.c (ARRAY_CARDINALITY): Move to...
   1367 	* src/system.h: here.
   1368 	(STREQ, STRNEQ): new.
   1369 
   1370 2012-10-08  Akim Demaille  <akim (a] lrde.epita.fr>
   1371 
   1372 	NEWS: warnings with clang
   1373 	* NEWS: here.
   1374 
   1375 2012-10-08  Akim Demaille  <akim (a] lrde.epita.fr>
   1376 
   1377 	warnings: avoid warnings from clang
   1378 	Fix the following warning
   1379 
   1380 	  parse-gram.c:2078:14: error: equality comparison with extraneous parentheses
   1381 	                        [-Werror,-Wparentheses-equality]
   1382 	    if (((yyn) == (-91)))
   1383 	         ~~~~~~^~~~~~~~
   1384 	  parse-gram.c:2078:14: note: remove extraneous parentheses around the
   1385 	                        comparison to silence this warning
   1386 	    if (((yyn) == (-91)))
   1387 	        ~      ^       ~
   1388 	  parse-gram.c:2078:14: note: use '=' to turn this equality comparison into
   1389 	                        an assignment
   1390 	    if (((yyn) == (-91)))
   1391 	               ^~
   1392 	               =
   1393 	  1 error generated.
   1394 
   1395 	and the following one:
   1396 
   1397 	  input.cc:740:1: error: function declared 'noreturn' should not return
   1398 	                         [-Werror,-Winvalid-noreturn]
   1399 	  static void yyMemoryExhausted (yyGLRStack* yystackp)
   1400 	    __attribute__ ((__noreturn__));
   1401 	  static void
   1402 	  yyMemoryExhausted (yyGLRStack* yystackp)
   1403 	  {
   1404 	    YYLONGJMP (yystackp->yyexception_buffer, 2);
   1405 	  }
   1406 	  ^
   1407 	  1 warning and 1 error generated.
   1408 
   1409 	This is Apple clang version 3.1 (tags/Apple/clang-318.0.61).
   1410 
   1411 	* data/c.m4 (b4_table_value_equals): Use (!!(A == B)) instead of (A == B)
   1412 	to avoid this warning.
   1413 	Any reasonable compiler should generate the same code.
   1414 	* src/uniqstr.h (UNIQSTR_EQ): Likewise.
   1415 	* data/glr.c (LONGJMP): abort after longjmp to pacify clang.
   1416 
   1417 2012-10-08  Akim Demaille  <akim (a] lrde.epita.fr>
   1418 
   1419 	tests: no longer disable -O compiler options
   1420 	Tests are running without -O since
   1421 	f377f69fec28013c79db4efe12bbb9d48987fb2c because some warnings (about
   1422 	yylval not being initialized) show only when GCC is given -O2.  The
   1423 	previous patch fixes the warnings. Run the test suite with compiler
   1424 	options unmodified.
   1425 
   1426 	* tests/atlocal.in (O0CFLAGS, O0CXXFLAGS): Remove, use CFLAGS and
   1427 	CXXFLAGS.
   1428 
   1429 2012-10-08  Paul Eggert  <eggert (a] cs.ucla.edu>
   1430 
   1431 	yacc.c: initialize yylval in pure-parser mode
   1432 	See http://lists.gnu.org/archive/html/bison-patches/2012-08/msg00024.html
   1433 	(spreading over September and October).
   1434 
   1435 	* data/yacc.c (YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN)
   1436 	(YY_IGNORE_MAYBE_UNINITIALIZED_END, YYLVAL_INITIALIZE):
   1437 	New macros.  Use them to suppress an unwanted GCC diagnostic.
   1438 
   1439 2012-10-08  Akim Demaille  <akim (a] lrde.epita.fr>
   1440 
   1441 	skeletons: style changes
   1442 	* data/yacc.c, data/glr.c: Prefer Title case for (CPP) macro arguments.
   1443 
   1444 2012-10-06  Akim Demaille  <akim (a] lrde.epita.fr>
   1445 
   1446 	lalr1.cc: document exception safety
   1447 	* NEWS: here.
   1448 	* doc/bison.texi (Destructor Decl, C++ Parser Interface): and there.
   1449 
   1450 2012-10-06  Akim Demaille  <akim (a] lrde.epita.fr>
   1451 
   1452 	lalr1.cc: check exception safety of error handling
   1453 	* tests/c++.at (Exception safety): Don't use swap here, it
   1454 	is useless.
   1455 	Cover more test cases: yyerror, YYERROR, YYABORT, and
   1456 	error recovery.
   1457 	(Object): Instead of just keeping a counter of instances, keep
   1458 	a list of them.
   1459 
   1460 2012-10-06  Akim Demaille  <akim (a] lrde.epita.fr>
   1461 
   1462 	lalr1.cc: check (and fix) %printer exception safety
   1463 	* tests/c++.at (Exception safety): Let the parser support the --debug
   1464 	option.
   1465 	On 'p', throw an exception from the %printer.
   1466 	* data/lalr1.cc (yyparse): Do not display the values we discard, as it
   1467 	uses %printer, which might have thrown the exception.
   1468 
   1469 2012-10-06  Akim Demaille  <akim (a] lrde.epita.fr>
   1470 
   1471 	lalr1.cc: check (and fix) %initial-action exception safety
   1472 	* data/lalr1.cc: Check size > 1, rather than size != 1, when cleaning
   1473 	the stack, as at the beginning, size is 0.
   1474 	* tests/c++.at (Exception safety): Check exception safety in
   1475 	%initial-action.
   1476 
   1477 2012-10-06  Akim Demaille  <akim (a] lrde.epita.fr>
   1478 
   1479 	lalr1.cc: fix exception safety
   1480 	lalr1.cc does not reclaim its memory when ended by an exception.
   1481 
   1482 	Reported by Oleksii Taran:
   1483 	http://lists.gnu.org/archive/html/help-bison/2012-09/msg00000.html
   1484 
   1485 	* data/lalr1.cc (yyparse): Protect the whole yyparse by a try-catch
   1486 	block that cleans the stack and the lookahead.
   1487 
   1488 2012-10-06  Akim Demaille  <akim (a] lrde.epita.fr>
   1489 
   1490 	lalr1.cc: check exception safety.
   1491 	* tests/c++.at (Exception safety): New.
   1492 
   1493 2012-10-06  Akim Demaille  <akim (a] lrde.epita.fr>
   1494 
   1495 	lalr1.cc: indentation fixes.
   1496 	* data/lalr1.cc (yyparse): here.
   1497 	Untabify a block of code.
   1498 
   1499 2012-10-06  Akim Demaille  <akim (a] lrde.epita.fr>
   1500 
   1501 	lalr1.cc: don't leave macros define to nothing
   1502 	* data/lalr1.cc (YY_SYMBOL_PRINT, YY_REDUCE_PRINT, YY_STACK_PRINT):
   1503 	Define to something so that, for instance, "if (foo) YY_SYMBOL_PRINT"
   1504 	is valid even when !YYDEBUG.
   1505 
   1506 2012-10-06  Akim Demaille  <akim (a] lrde.epita.fr>
   1507 
   1508 	tests: minor improvements
   1509 	* tests/c++.at: Space changes.
   1510 	Use AT_YYERROR_DEFINE.
   1511 	* tests/local.at (AT_YYERROR_DEFINE): Issue errors on unknown languages.
   1512 
   1513 2012-10-05  Akim Demaille  <akim (a] lrde.epita.fr>
   1514 
   1515 	tests: use $PERL instead of perl
   1516 	* tests/atlocal.in (PERL): New.
   1517 	Sort.
   1518 	* tests/calc.at, tests/input.at, tests/local.at, tests/regression.at,
   1519 	* tests/skeletons.at, tests/synclines.at, tests/torture.at: here.
   1520 
   1521 2012-10-05  Akim Demaille  <akim (a] lrde.epita.fr>
   1522 
   1523 	build: look for Perl in configure.
   1524 	Bison uses "/usr/bin/perl" or "perl" in several places, and it does
   1525 	not appear to be a problem.  But, at least to make it simpler to
   1526 	change PERL on the make command line, check for perl in configure.
   1527 
   1528 	* configure.ac (PERL): New.
   1529 	* doc/Doxyfile.in, doc/Makefile.am, tests/bison.in: Use it.
   1530 
   1531 2012-10-05  Akim Demaille  <akim (a] lrde.epita.fr>
   1532 
   1533 	tests: fix sed portability issues
   1534 	Reported by Didier Godefroy,
   1535 	<http://lists.gnu.org/archive/html/bug-bison/2012-10/msg00005.html>.
   1536 
   1537 	* tests/calc.at (AT_CHECK_SPACES): Use Perl.
   1538 
   1539 2012-10-05  Akim Demaille  <akim (a] lrde.epita.fr>
   1540 
   1541 	tests: diff -u is not portable
   1542 	Reported by Didier Godefroy
   1543 	<http://lists.gnu.org/archive/html/bug-bison/2012-10/msg00006.html>.
   1544 
   1545 	* tests/existing.at (AT_LALR1_DIFF_CHECK): Skip if diff -u does not
   1546 	work.
   1547 
   1548 2012-10-04  Akim Demaille  <akim (a] lrde.epita.fr>
   1549 
   1550 	maint: word changes
   1551 	* README-hacking (Typical errors): Improve wording.
   1552 
   1553 2012-10-04  Akim Demaille  <akim (a] lrde.epita.fr>
   1554 
   1555 	lalr1.cc: fix test suite portability
   1556 	Reported by Rob Vermaas' Hydra build farm on x86_64-darwin 10.2.0 with
   1557 	G++ 4.6.3.
   1558 
   1559 	* tests/headers.at (Several parsers): Include AT_DATA_SOURCE_PROLOGUE
   1560 	in the files to compile.
   1561 	* data/location.cc: Do not include twice string and iostream (once
   1562 	by position.hh, and then by location.hh).
   1563 	* README-hacking (Typical errors): Some hints for other maintainers.
   1564 
   1565 2012-10-03  Theophile Ranquet  <theophile.ranquet (a] gmail.com>
   1566 
   1567 	maint: fix an erroneous include
   1568 	This fixes test 130 (Several parsers).
   1569 
   1570 	* data/location.cc: Include <iostream> rather than <iosfwd> since
   1571 	we really need << on strings for instance.
   1572 	* NEWS: Document this.
   1573 
   1574 2012-10-03  Akim Demaille  <akim (a] lrde.epita.fr>
   1575 
   1576 	tests: check that headers are self contained
   1577 	Reported by Alexandre Duret-Lutz.
   1578 
   1579 	* tests/headers.at (Several parsers): here.
   1580 
   1581 2012-10-03  Akim Demaille  <akim (a] lrde.epita.fr>
   1582 
   1583 	doc: add missing documentation for --report
   1584 	* doc/bison.texi (Bison Options): Document --report's "solved", "all",
   1585 	and "none".
   1586 
   1587 2012-10-01  Akim Demaille  <akim (a] lrde.epita.fr>
   1588 
   1589 	headers: move CPP guards into YY_*_INCLUDED to avoid collisions
   1590 	See <http://lists.gnu.org/archive/html/bug-bison/2012-09/msg00016.html>.
   1591 
   1592 	* data/c.m4 (b4_cpp_guard): Prepend YY_ and append _INCLUDED.
   1593 	* tests/headers.at: Adjust.
   1594 	* NEWS, doc/bison.texi: Document.
   1595 
   1596 2012-10-01  Akim Demaille  <akim (a] lrde.epita.fr>
   1597 
   1598 	minor changes.
   1599 	* NEWS: Word changes.
   1600 	* doc/bison.texi: Spell check.
   1601 	Fix minor issues.
   1602 	* tests/headers.at: Comment and formatting changes.
   1603 
   1604 2012-09-28  Akim Demaille  <akim (a] lrde.epita.fr>
   1605 
   1606 	gnulib: update
   1607 
   1608 2012-09-28  Theophile Ranquet  <theophile.ranquet (a] gmail.com>
   1609 
   1610 	errors: indent "user token number redeclaration" context
   1611 	This is the continuation of the work on the readability of errors
   1612 	context.
   1613 
   1614 	* src/symtab.c (user_token_number_redeclaration): Use
   1615 	complain_at_indent to output with increased indentation level.
   1616 	* tests/input:at: Apply this change.
   1617 
   1618 2012-09-26  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
   1619 
   1620 	warnings: introduce -Wdeprecated in the usage info
   1621 	The deprecated warning, introduced some time ago, was not displayed in
   1622 	the usage message. This patch addresses the issue.
   1623 
   1624 	* src/getargs.c (usage): Insert here.
   1625 
   1626 2012-09-26  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
   1627 
   1628 	errors: prefix the output with "error: "
   1629 	This improves readability. This is also what gcc does.
   1630 
   1631 	* NEWS: Document this change.
   1632 	* src/complain.c (complain_at): Prefix all errors with "error: ".
   1633 	(complain_at_indent, warn_at_indent): Do not prefix the context
   1634 	information of errors, which are basically just indented errors.
   1635 	* tests/conflicts.at, tests/glr-regression.at, tests/input.at,
   1636 	tests/named-refs.at, tests/output.at, tests/push.at,
   1637 	tests/regression.at, tests/skeletons.at: Apply this change.
   1638 
   1639 2012-09-26  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
   1640 
   1641 	errors: indent "invalid value for %define" context
   1642 	This is the continuation of the work on the readability of errors
   1643 	    context.
   1644 
   1645 	For example, what used to be:
   1646 	  input.y:1.9-29: invalid value for %define variable 'foo' : 'bar'
   1647 	  input.y:1.9-29: accepted value: 'most'
   1648 
   1649 	is now:
   1650 	  input.y:1.9-29: invalid value for %define variable 'foo' : 'bar'
   1651 	  input.y:1.9-29:     accepted value: 'most'
   1652 
   1653 	* src/muscle-tab.c (muscle_percent_define_check_values): Use
   1654 	complain_at_indent to output with increased indentation level.
   1655 	* tests/input:at: Apply this change.
   1656 
   1657 2012-09-26  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
   1658 
   1659 	errors: indent "%define var" redefinition context
   1660 	This is the continuation of the work on the readability of errors
   1661 	context.
   1662 
   1663 	For example, what used to be:
   1664 	  input.y:2.9-11: %define variable 'var' redefined
   1665 	  input.y:1.9-11: previous definition
   1666 
   1667 	is now:
   1668 	  input.y:2.9-11: %define variable 'var' redefined
   1669 	  input.y:1.9-11:     previous definition
   1670 
   1671 	* src/muscle-tab.c (muscle_percent_define_insert): Use
   1672 	complain_at_indent to output with increased indentation level.
   1673 	* tests/input.at: Apply this change.
   1674 
   1675 2012-09-26  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
   1676 
   1677 	errors: indent "symbol redeclaration" context
   1678 	This is the continuation of the work on the readability of errors
   1679 	context.
   1680 
   1681 	For example, what used to be:
   1682 	  input.y:5.10-24: %printer redeclaration for <field2>
   1683 	  input.y:3.11-25: previous declaration
   1684 
   1685 	is now:
   1686 	  input.y:5.10-24: %printer redeclaration for <field2>
   1687 	  input.y:3.11-25:     previous declaration
   1688 
   1689 	* NEWS: Document this change.
   1690 	* src/symtab.c (symbol_redeclaration, semantic_type_redeclaration,
   1691 	user_token_number_redeclaration, default_tagged_destructor_set,
   1692 	default_tagless_destructor_set, default_tagged_printer_set,
   1693 	default_tagless_printer_set): Use complain_at_indent to
   1694 	output with increased indentation level.
   1695 	* tests/input.at: Apply this change.
   1696 
   1697 2012-09-26  Theophile Ranquet  <ranquet (a] lrde.epita.fr>
   1698 
   1699 	errors: indent "result type clash" error context
   1700 	This used to be the format of the error report:
   1701 
   1702 	  input.y:6.5-10: result type clash on merge function 'merge': [...]
   1703 	  input.y:2.4-9: previous declaration
   1704 
   1705 	In order to distinguish the actual error from the context provided, we
   1706 	rather this new output:
   1707 
   1708 	  input.y:6.5-10: result type clash on merge function 'merge': [...]
   1709 	  input.y:2.4-9:     previous declaration
   1710 
   1711 	Another patch will introduce an "error: " prefix to all non-indented
   1712 	lines, giving yet better readability to the reports.
   1713 
   1714 	* src/complain.h (SUB_INDENT): Move to here.
   1715 	* src/reader.c (record_merge_function_type): Use complain_at_indent to
   1716 	output with increased indentation level.
   1717 	* src/scan-code.l (SUB_INDENT): Remove from here.
   1718 	* tests/glr-regression.at: Apply this change.
   1719 
   1720 2012-09-25  Akim Demaille  <akim (a] lrde.epita.fr>
   1721 
   1722 	regen
   1723 
   1724 2012-09-25  Akim Demaille  <akim (a] lrde.epita.fr>
   1725 
   1726 	yacc: fix handling of CPP guards when no header is generated
   1727 	When no header was to be generated, Bison would issue:
   1728 
   1729 	  /* In a future release of Bison, this section will be replaced
   1730 	     by #include "".  */
   1731 	  #ifndef YY_
   1732 	  # define YY_
   1733 
   1734 	It now properly generates nothing.
   1735 
   1736 	* data/c.m4 (b4_cpp_guard_open, b4_cpp_guard_close): Issue nothing when
   1737 	the file name is empty.
   1738 	* data/yacc.c: Do not generate the above comment when there is no header
   1739 	to generate.
   1740 	* NEWS: Update.
   1741 
   1742 2012-09-25  Akim Demaille  <akim (a] lrde.epita.fr>
   1743 
   1744 	gnulib: update
   1745 
   1746 2012-09-04  Akim Demaille  <akim (a] lrde.epita.fr>
   1747 
   1748 	maint: remove useless file
   1749 	* externals/bootstrap.cfg: Remove.
   1750 	This file was used by a specific build system.
   1751 	It was added to the master repository by accident.
   1752 
   1753 2012-09-04  Akim Demaille  <akim (a] lrde.epita.fr>
   1754 
   1755 	update files to ignore
   1756 	* doc/.gitignore: Don't ignore split info files as we don't split our
   1757 	info file.
   1758 	See <http://lists.gnu.org/archive/html/bug-bison/2012-08/msg00006.html>.
   1759 
   1760 2012-09-04  Akim Demaille  <akim (a] lrde.epita.fr>
   1761 
   1762 	remove useless include
   1763 	* src/system.h: Don't include sys/types.h.
   1764 	Reported by Eric Blake,
   1765 	<http://lists.gnu.org/archive/html/bug-bison/2012-09/msg00002.html>.
   1766 	(FUNCTION_PRINT): Remove, unused.
   1767 
   1768 2012-09-03  Jim Meyering  <meyering (a] redhat.com>
   1769 
   1770 	use locale-indep. c_is* functions for parsing, not isspace, isprint etc
   1771 	* src/parse-gram.y: Include "c-ctype.h".
   1772 	(add_param): Parse with c_isspace, not isspace.
   1773 	* src/parse-gram.c: Likewise.
   1774 	* src/scan-gram.l: Include c-ctype.h, not ctype.h.
   1775 	(SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER): Use c_isspace and c_isprint,
   1776 	not ctype.h's locale-dependent functions.
   1777 
   1778 2012-09-03  Akim Demaille  <akim (a] lrde.epita.fr>
   1779 
   1780 	gnulib: update
   1781 
   1782 2012-09-03  Akim Demaille  <akim (a] lrde.epita.fr>
   1783 
   1784 	--help: include a place to report translation issues
   1785 	http://lists.gnu.org/archive/html/bug-bison/2012-08/msg00007.html
   1786 	shows that it is useful to help users report translation issues.
   1787 	While at it, include other informative bits that the coreutils shows.
   1788 
   1789 	* src/getargs.c (usage): Report more URLs where the user can
   1790 	refer to.
   1791 	Mostly copied/pasted from coreutils' emit_ancillary_info function.
   1792 
   1793 2012-08-31  Akim Demaille  <akim (a] lrde.epita.fr>
   1794 
   1795 	tests: style changes
   1796 	* tests/torture.at (AT_DATA_STACK_TORTURE): M4 style changes to
   1797 	improve readability.
   1798 	Fix an assertion which, because of a <= instead of ==, did not check
   1799 	new_status as visibly meant.
   1800 	(get_args): New.
   1801 
   1802 2012-08-31  Akim Demaille  <akim (a] lrde.epita.fr>
   1803 
   1804 	tests: fix push-pull test
   1805 	* tests/torture.at: %push-pull-parser is no longer supported.
   1806 
   1807 2012-08-31  Akim Demaille  <akim (a] lrde.epita.fr>
   1808 
   1809 	yacc.c: style changes
   1810 	* data/yacc.c: (yytoken): Define with initial value.
   1811 
   1812 2012-08-03  Akim Demaille  <akim (a] lrde.epita.fr>
   1813 
   1814 	maint: post-release administrivia
   1815 	* NEWS: Add header line for next release.
   1816 	* .prev-version: Record previous version.
   1817 	* cfg.mk (old_NEWS_hash): Auto-update.
   1818 
   1819 2012-08-03  Akim Demaille  <akim (a] lrde.epita.fr>
   1820 
   1821 	version 2.6.2
   1822 	* NEWS: Record release date.
   1823 
   1824 2012-08-02  Akim Demaille  <akim (a] lrde.epita.fr>
   1825 
   1826 	NEWS: update.
   1827 	* NEWS: Catch up with the other changes from 2.6.1.
   1828 
   1829 2012-08-02  Akim Demaille  <akim (a] lrde.epita.fr>
   1830 
   1831 	yacc: remove trailing end of line at end of file
   1832 	There are still spurious spaces at the end of some lines.  But this is
   1833 	addressed in the master branch, and I am reluctant to try to backport
   1834 	this.
   1835 
   1836 	* data/yacc.c, data/glr.c, data/lalr1.cc, data/glr.cc: here.
   1837 	* tests/calc.at (AT_CHECK_SPACES): New.
   1838 	Use it.
   1839 	Be sure not to introduce trailing empty lines in the *.y files.
   1840 	* NEWS: Doc it.
   1841 	* cfg.mk (syntax-check): Remove the exception.
   1842 
   1843 2012-08-02  Akim Demaille  <akim (a] lrde.epita.fr>
   1844 
   1845 	thanks: fix a contributor name
   1846 	* THANKS: On his request.
   1847 
   1848 2012-08-01  Akim Demaille  <akim (a] lrde.epita.fr>
   1849 
   1850 	gnulib: update
   1851 
   1852 2012-08-01  Akim Demaille  <akim (a] lrde.epita.fr>
   1853 
   1854 	tests: synch line -> syncline, for consistency
   1855 	* tests/synclines.at: Do it, as "syncline" is used consistently
   1856 	everywhere else in Bison.
   1857 
   1858 2012-08-01  Akim Demaille  <akim (a] lrde.epita.fr>
   1859 
   1860 	tests: synclines: style changes
   1861 	* tests/synclines.at (AT_TEST_SYNCLINE): Rename as...
   1862 	(AT_TEST): this.
   1863 	Use pushdef/popdef.
   1864 	Formatting changes.
   1865 	Use '+' instead of '*' where appropriate.
   1866 
   1867 2012-08-01  Akim Demaille  <akim (a] lrde.epita.fr>
   1868 
   1869 	tests: synclines: fix perl invocation
   1870 	Reported by Summum Bonum.
   1871 
   1872 	* tests/synclines.at: Fix Perl invocation: its -f is not like sed's.
   1873 
   1874 2012-08-01  Akim Demaille  <akim (a] lrde.epita.fr>
   1875 
   1876 	regen
   1877 
   1878 2012-08-01  Akim Demaille  <akim (a] lrde.epita.fr>
   1879 
   1880 	c++: trailing end-of-lines in %parse-param
   1881 	* src/parse-gram.y (add_param): No only skip ' ' and '\t', skip all
   1882 	leading and trailing spaces.
   1883 	* tests/regression.at (Lex and parse params): Check it.
   1884 	* NEWS: Document it.
   1885 
   1886 2012-08-01  Akim Demaille  <akim (a] lrde.epita.fr>
   1887 
   1888 	tests: simplify
   1889 	* tests/regression.at: Remove useless compilations: AT_FULL_COMPILE
   1890 	includes the compilation by bison.
   1891 
   1892 2012-07-31  Akim Demaille  <akim (a] lrde.epita.fr>
   1893 
   1894 	use obstack_printf
   1895 	This is not just nicer, it is also much safer, since we were
   1896 	using sprintf...
   1897 
   1898 	* bootstrap.conf: Require it.
   1899 	* src/system.h (obstack_fgrow1, obstack_fgrow2, obstack_fgrow3)
   1900 	(obstack_fgrow4): Remove.
   1901 	Adjust dependencies.
   1902 
   1903 2012-07-30  Akim Demaille  <akim (a] lrde.epita.fr>
   1904 
   1905 	scanner: restore a missing start condition
   1906 	$ flex src/scan-skel.l
   1907 	src/scan-skel.l:145: multiple <<EOF>> rules for start condition SC_AT_DIRECTIVE_ARGS
   1908 	src/scan-skel.l:145: multiple <<EOF>> rules for start condition SC_AT_DIRECTIVE_SKIP_WS
   1909 	This is warning, and it seems there are no means to make it an error.
   1910 
   1911 	* src/scan-skel.l: Restore the start-condition INITIAL for an <<EOF>>
   1912 	clause.
   1913 
   1914 2012-07-30  Akim Demaille  <akim (a] lrde.epita.fr>
   1915 
   1916 	gnulib: update
   1917 
   1918 2012-07-30  Akim Demaille  <akim (a] lrde.epita.fr>
   1919 
   1920 	maint: post-release administrivia
   1921 	* NEWS: Add header line for next release.
   1922 	* .prev-version: Record previous version.
   1923 	* cfg.mk (old_NEWS_hash): Auto-update.
   1924 
   1925 2012-07-30  Akim Demaille  <akim (a] lrde.epita.fr>
   1926 
   1927 	version 2.6.1
   1928 	* NEWS: Record release date.
   1929 
   1930 2012-07-30  Akim Demaille  <akim (a] lrde.epita.fr>
   1931 
   1932 	gnulib: update
   1933 
   1934 2012-07-27  Akim Demaille  <akim (a] lrde.epita.fr>
   1935 
   1936 	maint: fix some syntax-check issues
   1937 	* cfg.mk: Nuke the following warnings which are confused by our
   1938 	text reports (that state that the error token is number 256).
   1939 	  prohibit_magic_number_exit
   1940 	  ../../doc/bison.texi:8170:error (256)
   1941 	  ../../tests/conflicts.at:570:error (256)
   1942 	  ../../tests/conflicts.at:673:error (256)
   1943 	  ../../tests/conflicts.at:811:error (256)
   1944 	  ../../tests/conflicts.at:1154:error (256)
   1945 	  ../../tests/regression.at:281:error (256)
   1946 	  ../../tests/regression.at:582:error (256)
   1947 	  maint.mk: use EXIT_* values rather than magic number
   1948 
   1949 2012-07-27  Akim Demaille  <akim (a] lrde.epita.fr>
   1950 
   1951 	tests: do not depend on __cplusplus to decide for C++ or C output
   1952 	Since we do support compiling C code with a C++ compiler.
   1953 
   1954 	* tests/actions.at (Qualified $$ in actions): Use AT_SKEL_CC_IF.
   1955 
   1956 2012-07-27  Akim Demaille  <akim (a] lrde.epita.fr>
   1957 
   1958 	regen
   1959 
   1960 2012-07-27  Akim Demaille  <akim (a] lrde.epita.fr>
   1961 
   1962 	synclines: remove spurious empty line
   1963 	* data/bison.m4 (b4_syncline): Do not start with an empty line.
   1964 
   1965 2012-07-27  Akim Demaille  <akim (a] lrde.epita.fr>
   1966 
   1967 	also support $<foo>$ in the %initial-action
   1968 	scan-code.l is already passing argument to b4_dollar_dollar for the
   1969 	initial acton, but its definition (of b4_dollar_dollar) does not use
   1970 	this argument.
   1971 
   1972 	Generalize this definition, and use it for the %initial-action too.
   1973 
   1974 	* data/c.m4 (b4_dollar_dollar_, b4_dollar_pushdef, b4_dollar_popdef):
   1975 	Instead of expecting a pointer, require a value, and use ".".
   1976 	Since they are now generic enough, move to...
   1977 	* data/c-like.m4: this new file.
   1978 	* data/c.m4, data/java.m4: Load it.
   1979 	* data/glr.c, data/lalr1.cc, data/lalr1.java, data/yacc.c: Use
   1980 	b4_dollar_pushdef for the %initial-action.
   1981 	* tests/actions.at: Check that.
   1982 	* data/Makefile.am: Adjust.
   1983 	* NEWS, doc/bison.texi: Document.
   1984 
   1985 2012-07-27  Akim Demaille  <akim (a] lrde.epita.fr>
   1986 
   1987 	skeletons: b4_dollar_pushdef and popdef to simpify complex definitions
   1988 	M4 is really making it uselessly hard to define macros that define
   1989 	macros.
   1990 	* data/c.m4 (b4_dollar_pushdef, b4_dollar_popdef): New.
   1991 	Use it.
   1992 
   1993 2012-07-27  Akim Demaille  <akim (a] lrde.epita.fr>
   1994 
   1995 	regen
   1996 
   1997 2012-07-27  Akim Demaille  <akim (a] lrde.epita.fr>
   1998 
   1999 	printer/destructor: translate only once
   2000 	Currently "%printer {...} a b c d e f" translates the {...} six times.
   2001 	Not only is this bad for time and space, it also issues six times the
   2002 	same warnings.
   2003 
   2004 	* src/symlist.h, src/symlist.c (symbol_list_destructor_set)
   2005 	(symbol_list_printer_set): Take the action as code_props instead of
   2006 	const char *.
   2007 	* src/parse-gram.y: Translate these actions here.
   2008 	* src/scan-code.h: Comment change.
   2009 	* tests/input.at: Check that warnings are issued only once.
   2010 
   2011 2012-07-27  Akim Demaille  <akim (a] lrde.epita.fr>
   2012 
   2013 	factor the handling of m4 escaping
   2014 	The conversion from @ to @@ and so forth is coded is too many
   2015 	different places.  Factor, a bit.
   2016 
   2017 	* src/scan-code.l: Instead of duplicating the logic of obstack_escape,
   2018 	use it.
   2019 	It sure is less efficient, but the cost is negligible.
   2020 	This allows to factor rules that are alike.
   2021 	And to factor some start-condition clauses.
   2022 	* tests/input.at (Stray $ or @): New.
   2023 	* NEWS: Document it.
   2024 
   2025 2012-07-27  Akim Demaille  <akim (a] lrde.epita.fr>
   2026 
   2027 	news: schedule the removal of the ";" hack
   2028 	scan-code.l is significantly more complex because of this.
   2029 
   2030 	* NEWS: Doc it.
   2031 
   2032 2012-07-27  Akim Demaille  <akim (a] lrde.epita.fr>
   2033 
   2034 	style changes in the scanners
   2035 	* src/scan-code.l, src/scan-skel.l: Use a more traditional indentation
   2036 	style for start-conditions.
   2037 	Prefer "continue" to a comment, for empty actions.
   2038 	Strip useless {}.
   2039 	Remove useless start-condition clauses.
   2040 
   2041 2012-07-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2042 
   2043 	regen
   2044 
   2045 2012-07-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2046 
   2047 	support $<tag>$ in printers and destructors
   2048 	* src/scan-code.l (SC_SYMBOL_ACTION): Accept $<tag>$, not just $$.
   2049 	* data/c.m4 (b4_dollar_dollar_): New.
   2050 	(b4_symbol_actions): Let b4_dollar_dollar use b4_dollar_dollar_.
   2051 	* NEWS, doc/bison.texi: Document it.
   2052 	* tests/actions.at: Check this for C and C++.
   2053 
   2054 2012-07-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2055 
   2056 	scan-code: factor the handling of the type in $<TYPE>$
   2057 	* src/scan-code.l (fetch_type_name): New.
   2058 	(handle_action_dollar): Use it.
   2059 	(gt_ptr): Remove, useless.
   2060 
   2061 2012-07-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2062 
   2063 	muscles: fix another occurrence of unescaped type name
   2064 	* src/output.c (quoted_output): Split into...
   2065 	(quoted_output, string_output): these.
   2066 	Use the former when outputting a type_name.
   2067 	* tests/input.at: Check this case.
   2068 	* src/symtab.h: Comment changes.
   2069 
   2070 2012-07-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2071 
   2072 	glr.cc: fix the handling of yydebug
   2073 	* data/glr.cc (yydebug_): Remove, unused.
   2074 	(set_debug_level, debug_level): Work on yydebug instead.
   2075 	* doc/bison.texi, NEWS: Document this.
   2076 
   2077 2012-07-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2078 
   2079 	gnulib: update
   2080 
   2081 2012-07-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2082 
   2083 	formatting changes
   2084 	* src/symtab.h: here.
   2085 
   2086 2012-07-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2087 
   2088 	tests: fix an assertion
   2089 	* tests/local.at (AT_YYLEX_DEFINE): Be sure to check the array
   2090 	against its length, not its size in bytes.
   2091 
   2092 2012-07-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2093 
   2094 	tests: adjust to GCC 4.8, which displays caret errors
   2095 	With GCC 4.8, the tests on synclines are skipped.  Transform
   2096 
   2097 	  input.y:1:2: error: #error "1"
   2098 	   #error "1"
   2099 	    ^
   2100 
   2101 	into
   2102 
   2103 	  input.y:1: #error "1"
   2104 
   2105 	* tests/synclines.at (AT_SYNCLINES_COMPILE): Do it, using Perl instead of
   2106 	sed.
   2107 
   2108 2012-07-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2109 
   2110 	be sure to properly escape type names
   2111 	* src/scan-code.l: Use obstack_quote when passing type_name to m4.
   2112 	* tests/input.at (Code injection): New.
   2113 	* NEWS: Document it.
   2114 	Thanks to Paul Eggert for the wording.
   2115 
   2116 2012-07-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2117 
   2118 	obstack_quote: escape and quote for M4
   2119 	* src/system.h (obstack_quote): New.
   2120 	* src/muscle-tab.c: Use it instead of obstack_escape where applicable.
   2121 	* src/scan-code.l: Since obstack_quote supports NULL, leave type_name
   2122 	as NULL instead of defaulting to "".
   2123 
   2124 2012-07-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2125 
   2126 	muscles: shuffle responsabilities
   2127 	* src/muscle-tab.c (muscle_boundary_grow): Be in charge of quotation,
   2128 	instead of leaving this to the caller.
   2129 
   2130 2012-07-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2131 
   2132 	muscles: make private functions static
   2133 	* src/muscle-tab.h, src/muscle-tab.c (muscle_boundary_grow)
   2134 	(muscle_location_grow): Now static.
   2135 
   2136 2012-07-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2137 
   2138 	muscles: rename private functions/macros
   2139 	* src/muscle-tab.c (MUSCLE_COMMON_DECODE, muscle_string_decode)
   2140 	(muscle_location_decode): Not related to muscles, rename as...
   2141 	(COMMON_DECODE, string_decode, location_decode): these.
   2142 
   2143 2012-07-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2144 
   2145 	obstack_escape: escape M4 characters
   2146 	* src/muscle-tab.h (MUSCLE_OBSTACK_SGROW): This is not related to
   2147 	muscles, so move to, and rename as...
   2148 	* src/system.h (obstack_escape): this.
   2149 	Adjust dependencies.
   2150 
   2151 2012-07-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2152 
   2153 	remove dead macro
   2154 	* src/system.h (DEFAULT_TMPDIR): Remove, unused.
   2155 
   2156 2012-07-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2157 
   2158 	maint: style changes
   2159 	* src/scan-code.l: Remove useless braces.
   2160 	Formatting changes.
   2161 	Prefer NULL to 0.
   2162 	* src/muscle-tab.c, src/system.h: Formatting changes.
   2163 
   2164 2012-07-24  Akim Demaille  <akim (a] lrde.epita.fr>
   2165 
   2166 	doc: avoid problems with case insensitive file systems
   2167 	makeinfo --html generates index.html, and the node "Index" will result
   2168 	in Index.html.  On case insensitive file systems, such as on Mac OS X
   2169 	by default, this results in a single, invalid, file (Texinfo 4.13).
   2170 	See http://lists.gnu.org/archive/html/bug-texinfo/2012-07/msg00032.html
   2171 
   2172 	* doc/bison.texi (Index): Rename as...
   2173 	(Index of Terms): this.
   2174 
   2175 2012-07-24  Stefano Lattarini  <stefano.lattarini (a] gmail.com>  (tiny change)
   2176 
   2177 	configure: fix botched quoting
   2178 	* configure.ac: In the AC_SUBST call on 'VALGRIND_PREBISON'.  Without
   2179 	this change, when running ./configure, I see:
   2180 
   2181 	    ...
   2182 	    checking for valgrind... valgrind
   2183 	    ./configure: line 35221: -q: command not found
   2184 	    checking for Java compiler... gcj -C -fsource=1.3 -ftarget=1.4
   2185 	    ...
   2186 
   2187 2012-07-20  Akim Demaille  <akim (a] lrde.epita.fr>
   2188 
   2189 	news: fix typo.
   2190 	* NEWS: here.
   2191 	Reported by Ben Pfaff.
   2192 
   2193 2012-07-19  Akim Demaille  <akim (a] lrde.epita.fr>
   2194 
   2195 	maint: update gnu-web-doc-update.
   2196 	* gnulib: here.
   2197 
   2198 2012-07-19  Akim Demaille  <akim (a] lrde.epita.fr>
   2199 
   2200 	maint: post-release administrivia
   2201 	* NEWS: Add header line for next release.
   2202 	* .prev-version: Record previous version.
   2203 	* cfg.mk (old_NEWS_hash): Auto-update.
   2204 
   2205 2012-07-19  Akim Demaille  <akim (a] lrde.epita.fr>
   2206 
   2207 	version 2.6
   2208 	* NEWS: Record release date.
   2209 
   2210 2012-07-19  Akim Demaille  <akim (a] lrde.epita.fr>
   2211 
   2212 	maint: prepare for release 2.6
   2213 	* NEWS: here.
   2214 
   2215 2012-07-18  Akim Demaille  <akim (a] lrde.epita.fr>
   2216 
   2217 	maint: post-release administrivia
   2218 	* NEWS: Add header line for next release.
   2219 	* .prev-version: Record previous version.
   2220 	* cfg.mk (old_NEWS_hash): Auto-update.
   2221 
   2222 2012-07-18  Akim Demaille  <akim (a] lrde.epita.fr>
   2223 
   2224 	version 2.5.91
   2225 	* NEWS: Record release date.
   2226 
   2227 2012-07-18  Akim Demaille  <akim (a] lrde.epita.fr>
   2228 
   2229 	maint: prepare NEWS.
   2230 
   2231 2012-07-18  Akim Demaille  <akim (a] lrde.epita.fr>
   2232 
   2233 	maint: fix spaces.
   2234 	* build-aux/Makefile.am: here.
   2235 
   2236 2012-07-18  Akim Demaille  <akim (a] lrde.epita.fr>
   2237 
   2238 	tests: adjust to case where the C compiler is actually a C++ compiler
   2239 	* tests/atlocal.in (CC_IS_CXX): New.
   2240 	* tests/headers.at (Several parsers): Use it.
   2241 
   2242 2012-07-18  Akim Demaille  <akim (a] lrde.epita.fr>
   2243 
   2244 	tests: fix dependencies
   2245 	* tests/Makefile.am: we need atconfig and atlocal to be up to date
   2246 	when calling testsuite.
   2247 
   2248 2012-07-18  Akim Demaille  <akim (a] lrde.epita.fr>
   2249 
   2250 	doc: fix Texinfo command
   2251 	* doc/bison.texi: In parens, use @pxref.
   2252 
   2253 2012-07-18  Akim Demaille  <akim (a] lrde.epita.fr>
   2254 
   2255 	maint: Valgrind on OS X.
   2256 	* configure.ac (VALGRIND_PREBISON): New.
   2257 	* tests/Makefile.am (maintainer-check-valgrind): Use it.
   2258 	* etc/darwin11.4.0.supp: New.
   2259 	* configure.ac, etc/Makefile.am: Use it.
   2260 	* configure.ac: Disable Valgrind on Mac OS X.
   2261 	* README-hacking: Explain why.
   2262 
   2263 2012-07-17  Akim Demaille  <akim (a] lrde.epita.fr>
   2264 
   2265 	tests: be sure that backups are safe.
   2266 	* tests/local.at (at_save_special_files): here.
   2267 
   2268 2012-07-17  Akim Demaille  <akim (a] lrde.epita.fr>
   2269 
   2270 	maint: dead comment.
   2271 	* etc/README: here.
   2272 
   2273 2012-07-17  Akim Demaille  <akim (a] lrde.epita.fr>
   2274 
   2275 	tests: refactor for legibility.
   2276 	* tests/local.at (AT_BISON_CHECK_WARNINGS, AT_BISON_CHECK_WARNINGS_):
   2277 	New.
   2278 
   2279 2012-07-17  Akim Demaille  <akim (a] lrde.epita.fr>
   2280 
   2281 	tests: refactor the bison invocations.
   2282 	* tests/local.at (m4_null_if, AT_BISON_CHECK_): New.
   2283 
   2284 2012-07-17  Akim Demaille  <akim (a] lrde.epita.fr>
   2285 
   2286 	maint: fix syntax-check ignore patterns.
   2287 	* cfg.mk: here.
   2288 
   2289 2012-07-17  Akim Demaille  <akim (a] lrde.epita.fr>
   2290 
   2291 	gnulib: update
   2292 
   2293 2012-07-16  Akim Demaille  <akim (a] lrde.epita.fr>
   2294 
   2295 	gnulib: update.
   2296 	* gnulib: Update so that gitlog-to-changelog support --srcdir.
   2297 	* Makefile.am: Use it.
   2298 
   2299 2012-07-10  Akim Demaille  <akim (a] lrde.epita.fr>
   2300 
   2301 	gnulib: update
   2302 	* bootstrap, build-aux/.gitignore, gnulib, m4/.gitignore: update.
   2303 
   2304 2012-07-06  Akim Demaille  <akim (a] lrde.epita.fr>
   2305 
   2306 	maint: update release instructions
   2307 	* README-hacking: here.
   2308 
   2309 2012-07-05  Akim Demaille  <akim (a] lrde.epita.fr>
   2310 
   2311 	maint: post-release administrivia
   2312 	* NEWS: Add header line for next release.
   2313 	* .prev-version: Record previous version.
   2314 	* cfg.mk (old_NEWS_hash): Auto-update.
   2315 
   2316 2012-07-05  Akim Demaille  <akim (a] lrde.epita.fr>
   2317 
   2318 	version 2.5.90
   2319 	* NEWS: Record release date.
   2320 
   2321 2012-07-05  Akim Demaille  <akim (a] lrde.epita.fr>
   2322 
   2323 	build: fix gen-ChangeLog call.
   2324 	* Makefile.am: Be sure to catch errors, and fix option name
   2325 
   2326 2012-07-05  Akim Demaille  <akim (a] lrde.epita.fr>
   2327 
   2328 	gnulib: update.
   2329 	* gnulib/build-aux/do-release-commit-and-tag: Fix.
   2330 
   2331 2012-07-05  Akim Demaille  <akim (a] lrde.epita.fr>
   2332 
   2333 	tests: fix SKIP_IF for Java.
   2334 	* tests/local.at (AT_JAVA_COMPILE): here.
   2335 
   2336 2012-07-05  Akim Demaille  <akim (a] lrde.epita.fr>
   2337 
   2338 	api.prefix: incompatible with %name-prefix.
   2339 	* data/bison.m4: Make it incompatible.
   2340 	* tests/input.at: Check that it is.
   2341 
   2342 2012-07-05  Akim Demaille  <akim (a] lrde.epita.fr>
   2343 
   2344 	api.prefix: strengthen the tests and fix push-parsers.
   2345 	* tests/calc.at: Check api.prefix in addition to %name-prefix.
   2346 	* tests/headers.at: Check push parsers and pure interface.
   2347 	* tests/local.at: Use YYLTYPE renamed.
   2348 	* data/yacc.c (b4_declare_yyparse_push_): Handle api.prefix.
   2349 	* doc/bison.texi: Style changes.
   2350 
   2351 2012-07-05  Akim Demaille  <akim (a] lrde.epita.fr>
   2352 
   2353 	skeletons: style changes.
   2354 	* data/bison.m4: Define default values after having defined
   2355 	the support macros.
   2356 	Kill a dead comment.
   2357 
   2358 2012-07-05  Akim Demaille  <akim (a] lrde.epita.fr>
   2359 
   2360 	NEWS: minor changes.
   2361 	* NEWS: style changes.
   2362 
   2363 2012-07-05  Akim Demaille  <akim (a] lrde.epita.fr>
   2364 
   2365 	api.prefix: improve the documentation for YYDEBUG.
   2366 	* doc/bison.texi: Explain how api.prefix is applied to YYDEBUG.
   2367 
   2368 2012-07-05  Akim Demaille  <akim (a] lrde.epita.fr>
   2369 
   2370 	gnulib: update.
   2371 	* bootstrap, gnulib: Update.
   2372 	* cfg.mk (syntax-check): Don't check "error" usage in bison.texi.
   2373 
   2374 2012-07-04  Akim Demaille  <akim (a] lrde.epita.fr>
   2375 
   2376 	tests: headers.at: strengthen.
   2377 	* tests/headers.at (Several headers): Be stricter when checking
   2378 	the exported macros.
   2379 
   2380 2012-07-04  Akim Demaille  <akim (a] lrde.epita.fr>
   2381 
   2382 	glr.cc: do not override C++ definitions by C macros.
   2383 	* data/glr.c: here.
   2384 	* data/glr.cc: Fix overquotation.
   2385 	* tests/headers.at: Comment changes.
   2386 
   2387 2012-07-04  Akim Demaille  <akim (a] lrde.epita.fr>
   2388 
   2389 	YYLLOC_DEFAULT: factor, and don't export it in headers.
   2390 	* data/c++.m4, data/c.m4 (b4_yylloc_default_define): New.
   2391 	* data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c: Use it.
   2392 	* data/glr.cc: Do not define YYLLOC_DEFAULT in the header file,
   2393 	but in the implementation one.
   2394 
   2395 2012-07-04  Akim Demaille  <akim (a] lrde.epita.fr>
   2396 
   2397 	api.prefix: do not use #define to handle YYSTYPE_IS_TRIVIAL etc.
   2398 	The following mixture is insane:
   2399 
   2400 	  #define YYSTYPE_IS_TRIVIAL PREFIX_STYPE_IS_TRIVIAL
   2401 	  #if (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)
   2402 
   2403 	since, of course YYSTYPE_IS_TRIVIAL is defined.  Instead we could
   2404 	define YYSTYPE_IS_TRIVIAL as PREFIX_STYPE_IS_TRIVIAL only when the
   2405 	later is defined, but let's avoid stacking CPP on top of M4: rather, use
   2406 
   2407 	  #if (defined PREFIX_STYPE_IS_TRIVIAL && PREFIX_STYPE_IS_TRIVIAL)
   2408 
   2409 	* data/glr.c, data/yacc.c: Use YYSTYPE_IS_TRIVIAL, YYSTYPE_IS_DECLARED,
   2410 	YYLTYPE_IS_TRIVIAL and YYLTYPE_IS_DECLARED under their api.prefix-renamed
   2411 	name.
   2412 
   2413 2012-07-04  Akim Demaille  <akim (a] lrde.epita.fr>
   2414 
   2415 	tests: portability fixes.
   2416 	Reported by Hydra.
   2417 
   2418 	* tests/headers.at (Several headers): Be sure to include config.h
   2419 	in the files to compile.
   2420 
   2421 2012-07-04  Akim Demaille  <akim (a] lrde.epita.fr>
   2422 
   2423 	c++: fewer #includes in the headers.
   2424 	* data/lalr1.cc: Define YY_NULL in the *.cc file, it is not needed
   2425 	in the header.
   2426 	* data/location.cc: iosfwd suffices.
   2427 
   2428 2012-07-04  Akim Demaille  <akim (a] lrde.epita.fr>
   2429 
   2430 	glr.cc: formatting changes.
   2431 	* data/glr.cc: here.
   2432 
   2433 2012-07-04  Akim Demaille  <akim (a] lrde.epita.fr>
   2434 
   2435 	tests: more logs.
   2436 	* tests/headers.at (Several parsers): Here.
   2437 
   2438 2012-07-04  Akim Demaille  <akim (a] lrde.epita.fr>
   2439 
   2440 	api.prefix: also rename YYDEBUG.
   2441 	The testsuite in master has shown weird errors for the "Mulitple
   2442 	Parsers" tests: the caller of p5.parse() received some apparently
   2443 	random value, while tracing p5.parse() showed that the function was
   2444 	consistently returning 0.
   2445 
   2446 	It happens when mixing several parser headers, some generated without
   2447 	%debug, others with.  In particular the C++ parser was generated with
   2448 	%debug, i.e., with:
   2449 
   2450 	  #ifndef YYDEBUG
   2451 	  # define YYDEBUG 1
   2452 	  #endif
   2453 
   2454 	and compiled separatedly.  Yet, its header was included after the one
   2455 	of another parser, this time without %debug, i.e., with
   2456 
   2457 	  #ifndef YYDEBUG
   2458 	  # define YYDEBUG 0
   2459 	  #endif
   2460 
   2461 	in its header.  As a result, the parser was compiled with YYDEBUG set,
   2462 	but its header was used without.  Since the layout of the objects are
   2463 	then completely different, boom.
   2464 
   2465 	Therefore, do not change the value of YYDEBUG.  Rather, use it as a
   2466 	default value for <API.PREFIX>DEBUG.
   2467 
   2468 	* data/c.m4 (b4_YYDEBUG_define): New.
   2469 	(b4_declare_yydebug): Rename as...
   2470 	(b4_yydebug_declare): this, for consistency.
   2471 	* data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c: Use it.
   2472 	* NEWS: Document it.
   2473 
   2474 2012-07-02  Akim Demaille  <akim (a] lrde.epita.fr>
   2475 
   2476 	NEWS: spell check.
   2477 	* NEWS: here.
   2478 
   2479 2012-06-29  Akim Demaille  <akim (a] lrde.epita.fr>
   2480 
   2481 	api.prefix.
   2482 	* data/c.m4 (b4_api_prefix, b4_api_PREFIX): New.
   2483 	(b4_prefix, b4_union_name, b4_token_enums, b4_declare_yylstype): Use them.
   2484 	* data/glr.c, data/yacc.c, data/glr.cc, data/lalr1.cc: Use them to change
   2485 	the prefix of exported preprocessor symbols.
   2486 	* src/getargs.c (usage): Ditto.
   2487 	* tests/headers.at (Several parsers): New.
   2488 	* tests/local.at (AT_API_PREFIX): New.
   2489 	AT_YYSTYPE, AT_YYLTYPE): Adjust.
   2490 	* doc/bison.texi (Multiple Parsers): Move documentation of %name-prefix to...
   2491 	(Table of Symbols): here.
   2492 	(Multiple Parsers): Document api.prefix.
   2493 	(%define Summary): Point to it.
   2494 	Use @code for variable names.
   2495 	(Bison Options): -p/--name-prefix are obsoleted.
   2496 	* NEWS: Announce api.prefix.
   2497 
   2498 2012-06-28  Akim Demaille  <akim (a] lrde.epita.fr>
   2499 
   2500 	tests: use the generalized default yylex.
   2501 	* tests/actions.at, tests/glr-regression.at, tests/regression.at: here.
   2502 
   2503 2012-06-28  Akim Demaille  <akim (a] lrde.epita.fr>
   2504 
   2505 	tests: AT_YYERROR_DEFINE: prepare for list of ints.
   2506 	* tests/local.at (AT_YYERROR_DEFINE): Don't add quotes, check their
   2507 	presence to detect char/int types.
   2508 	* tests/actions.at, tests/conflicts.at, tests/glr-regression.at,
   2509 	* tests/push.at, tests/regression.at: Adjust.
   2510 
   2511 2012-06-27  Akim Demaille  <akim (a] lrde.epita.fr>
   2512 
   2513 	skeletons: no longer define YYLSP_NEEDED.
   2514 	* data/c.m4, data/glr.cc: here.
   2515 	* NEWS, TODO: Adjust.
   2516 
   2517 2012-06-27  Akim Demaille  <akim (a] lrde.epita.fr>
   2518 
   2519 	c++: do not export YYTOKEN_TABLE and YYERROR_VERBOSE.
   2520 	* src/output.c (prepare_symbols): Do not define b4_token_table.
   2521 	(prepare): Define b4_token_table_flag.
   2522 	* data/bison.m4 (b4_token_table_if): New.
   2523 	Arm it when error-verbose.
   2524 	* data/glr.c, data/yacc.c (YYTOKEN_TABLE): Remove.
   2525 	Use m4.
   2526 	* data/lalr1.cc: Likewise.
   2527 	(YYERROR_VERBOSE): Remove.
   2528 	* NEWS, doc/bison.texi: Document this.
   2529 
   2530 2012-06-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2531 
   2532 	maint: use *.texi.
   2533 	This is more consistent with the other packages, and Automake-NG
   2534 	supports only *.texi.
   2535 
   2536 	* doc/bison.texinfo: Rename as...
   2537 	* doc/bison.texi: this.
   2538 	* doc/Makefile.am, examples/calc++/Makefile.am: Adjust.
   2539 
   2540 2012-06-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2541 
   2542 	tests: do not output m4 set up.
   2543 	* tests/local.at (AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS):
   2544 	Use a diversion to avoid outputting comments etc.
   2545 	Removes 17k lines from testsuite (10% of the number of lines).
   2546 
   2547 2012-06-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2548 
   2549 	tests: use the generic yyerror function.
   2550 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Factor.
   2551 	Use AT_YYERROR_DEFINE.
   2552 	Therefore, instead of using stdout, use and check stderr.
   2553 	* tests/glr-regression.at (Uninitialized location when reporting ambiguity):
   2554 	Use AT_YYERROR_DEFINE.
   2555 
   2556 2012-06-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2557 
   2558 	tests: use assert instead of plain abort.
   2559 	* tests/actions.at, tests/calc.at, tests/conflicts.at,
   2560 	* tests/cxx-type.at, tests/glr-regression.at, tests/input.at,
   2561 	* tests/named-refs.at, tests/regression.at, tests/torture.at,
   2562 	* tests/local.at:
   2563 	Prefer assert to abort.
   2564 
   2565 2012-06-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2566 
   2567 	tests: improve the generic yylex implementation.
   2568 	* tests/local.at (AT_YYSTYPE, AT_YYLTYPE): New.
   2569 	(AT_YYLEX_FORMALS): Use them.
   2570 	(AT_YYLEX_DEFINE): Be independent of the location implementation.
   2571 
   2572 2012-06-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2573 
   2574 	tests: generalize the compilation macros.
   2575 	* tests/local.at (AT_COMPILE, AT_COMPILE_CXX): If OUTPUT ends with ".o",
   2576 	then append the "natural" extension for the input file (.c or .cc).
   2577 	If there is no source, pass -c.
   2578 	* tests/headers.at, tests/input.at, tests/regression.at: Adjust.
   2579 
   2580 2012-06-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2581 
   2582 	tests: fix confusion between api.prefix and name-prefix.
   2583 	* tests/local.at (AT_NAME_PREFIX): Take api.prefix into account.
   2584 	(AT_API_PREFIX): Rename as...
   2585 	(AT_API_prefix): this.
   2586 	Do not take %name-prefix into account.
   2587 	Fix misuses.
   2588 
   2589 2012-06-26  Akim Demaille  <akim (a] lrde.epita.fr>
   2590 
   2591 	maint: gitignores.
   2592 
   2593 2012-06-25  Akim Demaille  <akim (a] lrde.epita.fr>
   2594 
   2595 	yacc: work around the ylwrap limitation.
   2596 	* data/yacc.c (b4_shared_declarations): Include the header guards.
   2597 	Do not include the header in the *.c file, duplicate it.
   2598 	* NEWS (Future Changes): Extend, and announce the forthcoming change
   2599 	about the use of the parser header.
   2600 
   2601 2012-06-22  Akim Demaille  <akim (a] lrde.epita.fr>
   2602 
   2603 	tests: more uniformity.
   2604 	* tests/local.at (AT_LEX_FORMALS, AT_LEX_ARGS, AT_LEX_PRE_FORMALS)
   2605 	(AT_LEX_PRE_ARGS): Rename as...
   2606 	(AT_YYLEX_FORMALS, AT_YYLEX_ARGS, AT_YYLEX_PRE_FORMALS)
   2607 	(AT_YYLEX_PRE_ARGS): these, for consistency.
   2608 	(AT_API_PREFIX): Take %name-prefix into account.
   2609 	(AT_YYLEX_PROTOTYPE): New.
   2610 	Use it.
   2611 	* tests/actions.at, tests/calc.at, tests/cxx-type.at: Adjust to
   2612 	use them.
   2613 
   2614 2012-06-22  Akim Demaille  <akim (a] lrde.epita.fr>
   2615 
   2616 	tests: handle locations in a more generic way.
   2617 	* tests/local.at (AT_YYERROR_PROTOTYPE): New.
   2618 	Use it.
   2619 	* tests/cxx-type.at: Extensive revamp to use a more traditional
   2620 	quotation scheme, and to use the generic yyerror implementation.
   2621 	Prefer Autotest macros to CPP macros.
   2622 	* tests/java.at: .
   2623 
   2624 2012-06-22  Akim Demaille  <akim (a] lrde.epita.fr>
   2625 
   2626 	tests: handle locations in the generic yyerror functions.
   2627 	* tests/local.at (AT_YYERROR_DECLARE_EXTERN, AT_YYERROR_DECLARE)
   2628 	(AT_YYERROR_DEFINE): Handle locations for C and C++.
   2629 	* tests/calc.at: Use it for C++ (as C has extra arguments which
   2630 	are not yet handled by AT_BISON_OPTION_PUSHDEFS).
   2631 	* tests/actions.at: Adjust.
   2632 
   2633 2012-06-22  Akim Demaille  <akim (a] lrde.epita.fr>
   2634 
   2635 	tests: fix AT_CHECK_CALC.
   2636 	* tests/calc.at (AT_CHECK_CALC): Contrary to its documentation,
   2637 	the test was skipped if given a second argument.
   2638 	Unused feature, remove it.
   2639 
   2640 2012-06-22  Akim Demaille  <akim (a] lrde.epita.fr>
   2641 
   2642 	tests: improve infrastructure
   2643 	* tests/local.at (AT_LANG): Use c++ instead of cxx for C++.
   2644 	Adjust dependencies.
   2645 	(AT_YYERROR_DECLARE_EXTERN, AT_YYERROR_DECLARE): Issue nothing
   2646 	for C++/Java.
   2647 	(AT_YYERROR_DEFINE): Use m4_case.
   2648 	(AT_JAVA_COMPILE): Use AT_SKIP_IF.
   2649 
   2650 2012-06-21  Akim Demaille  <akim (a] lrde.epita.fr>
   2651 
   2652 	tests: factor.
   2653 	* tests/glr-regression.at, tests/output.at, tests/push.at,
   2654 	* tests/regression.at, tests/torture.at, tests/actions.at:
   2655 	Use AT_YYLEX_* and AT_YYERROR_*.
   2656 
   2657 2012-06-21  Akim Demaille  <akim (a] lrde.epita.fr>
   2658 
   2659 	skeletons: minor style changes
   2660 	* data/glr.c, data/yacc.c: here.
   2661 
   2662 2012-06-21  Akim Demaille  <akim (a] lrde.epita.fr>
   2663 
   2664 	tests: AT_LANG.
   2665 	* tests/local.at (AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS):
   2666 	Define/undefine AT_LANGE
   2667 	(AT_LANG_COMPILE): New.
   2668 	(AT_FULL_COMPILE): Use AT_LANG.
   2669 
   2670 2012-06-21  Akim Demaille  <akim (a] lrde.epita.fr>
   2671 
   2672 	c skeletons: factor the declaration of yylloc and yylval.
   2673 	There is one difference: now, even without --defines, we generate
   2674 	extern declarations for these variables.  The factoring is worth it.
   2675 	* data/c.m4 (b4_declare_yylstype): Declare them.
   2676 	* data/glr.c, data/yacc.c: Adjust.
   2677 
   2678 2012-06-21  Akim Demaille  <akim (a] lrde.epita.fr>
   2679 
   2680 	news: condemn YYPARSE_PARAM and YYLEX_PARAM.
   2681 	* NEWS: here.
   2682 	(Bison 1.875): Add %parse-param and %lex-param.
   2683 	* doc/bison.texinfo: Spello.
   2684 
   2685 2012-06-20  Akim Demaille  <akim (a] lrde.epita.fr>
   2686 
   2687 	maint: regen.
   2688 	* Makefile.am (regen): New target.
   2689 
   2690 2012-06-19  Akim Demaille  <akim (a] lrde.epita.fr>
   2691 
   2692 	maint: formatting changes.
   2693 	* NEWS: Fix indentation of code snippets.
   2694 	Untabify.
   2695 
   2696 2012-06-17  Akim Demaille  <akim (a] lrde.epita.fr>
   2697 
   2698 	tests: support api.prefix.
   2699 	* tests/local.at (AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS):
   2700 	Define AT_API_PREFIX.
   2701 	(AT_YYERROR_DEFINE, AT_YYERROR_DECLARE_EXTERN, AT_YYLEX_DECLARE_EXTERN)
   2702 	(AT_YYLEX_DEFINE): Use it.
   2703 	* tests/input.at, tests/regression.at, tests/torture.at: Add
   2704 	AT_BISON_OPTION_PUSHDEFS/POPDEFS.
   2705 
   2706 2012-06-17  Akim Demaille  <akim (a] lrde.epita.fr>
   2707 
   2708 	tests: pacify font-lock-mode.
   2709 	* tests/local.at: here.
   2710 
   2711 2012-06-17  Akim Demaille  <akim (a] lrde.epita.fr>
   2712 
   2713 	tests: remove test covered elsewhere.
   2714 	* tests/headers.at (%union and --defines): Remove, pretty useless and
   2715 	insignificant.
   2716 
   2717 2012-06-17  Akim Demaille  <akim (a] lrde.epita.fr>
   2718 
   2719 	tests: factor the declaration/definition of yyerror and yylex.
   2720 	* tests/local.at (AT_YYERROR_DECLARE, AT_YYERROR_DECLARE_EXTERN)
   2721 	(AT_YYERROR_DEFINE, AT_YYLEX_DECLARE, AT_YYLEX_DECLARE_EXTERN)
   2722 	(AT_YYLEX_DEFINE): New.
   2723 	Must be used inside AT_BISON_OPTION_PUSHDEFS/POPDEFS pair.
   2724 	* tests/actions.at, tests/conflicts.at, tests/glr-regression.at,
   2725 	* tests/headers.at, tests/input.at, tests/named-refs.at,
   2726 	* tests/regression.at, tests/skeletons.at, tests/synclines.at,
   2727 	* tests/torture.at: Use them.
   2728 
   2729 2012-06-17  Akim Demaille  <akim (a] lrde.epita.fr>
   2730 
   2731 	regen.
   2732 
   2733 2012-06-17  Akim Demaille  <akim (a] lrde.epita.fr>
   2734 
   2735 	tests: portability issues.
   2736 	* tests/calc.at (AT_CALC_MAIN): Missing include reported by Hydra.
   2737 
   2738 2012-06-15  Akim Demaille  <akim (a] lrde.epita.fr>
   2739 
   2740 	tests: call the parser from another compilation unit.
   2741 	In order to improve the testing of %defines, which exports the
   2742 	interface of the generated parser, change the calc.at tests so that
   2743 	when %defines is passed, main will be in another compilation unit.  It
   2744 	loads the generated header.
   2745 
   2746 	* tests/calc.at (AT_CALC_MAIN): New.
   2747 	Includes the definition of the global variables.
   2748 	Therefore, now declare them from the %requires section of the parser.
   2749 	Adjust to yydebug and yyparse being renamed by %name-prefix.
   2750 
   2751 2012-06-15  Akim Demaille  <akim (a] lrde.epita.fr>
   2752 
   2753 	glr.c, yacc.c: declare yydebug in the header.
   2754 	* data/c.m4 (b4_declare_yydebug): New.
   2755 	* data/glr.c, data/yacc.c (b4_shared_declarations): Use it.
   2756 	Remove the corresponding code from the parser body.
   2757 	* NEWS: Doc this.
   2758 
   2759 2012-06-15  Akim Demaille  <akim (a] lrde.epita.fr>
   2760 
   2761 	skeletons: use header guards.
   2762 	* data/glr.c, data/glr.cc, data/yacc.c: here.
   2763 	* NEWS: Document it.
   2764 
   2765 2012-06-15  Akim Demaille  <akim (a] lrde.epita.fr>
   2766 
   2767 	tests: improve AT_FULL_COMPILE.
   2768 	* tests/local.at: Accept a third argument.
   2769 	Simplify quotation pattern.
   2770 	Calls for better refactoring, but will suffice for a while.
   2771 
   2772 2012-06-15  Akim Demaille  <akim (a] lrde.epita.fr>
   2773 
   2774 	tests: reorder.
   2775 	* tests/calc.at (power): Move its definition, as a preparation for
   2776 	forthcoming changes.
   2777 	And space changes.
   2778 
   2779 2012-06-15  Akim Demaille  <akim (a] lrde.epita.fr>
   2780 
   2781 	tests: strengthen the test on generated headers inclusion
   2782 	* tests/headers.at (AT_TEST_CPP_GUARD_H): Accept Bison directives.
   2783 	(Invalid CPP headers): Check glr.
   2784 
   2785 2012-06-15  Akim Demaille  <akim (a] lrde.epita.fr>
   2786 
   2787 	yacc.c: instead of duplicating y.tab.h inside y.tac.c, include it.
   2788 	This is already what glr.c and lalr1.cc do.
   2789 
   2790 	* data/yacc.c: here.
   2791 
   2792 2012-06-13  Akim Demaille  <akim (a] lrde.epita.fr>
   2793 
   2794 	yacc.c: factor.
   2795 	yacc.c used to include two almost identical sections: one for the *.h
   2796 	file, and another for the *.c file.  The main difference is that in
   2797 	the *.c file we used the yy* names (as %name-prefix is handled by
   2798 	"#define yy* <prefix>*" before), while the *.hh used <prefix>* names.
   2799 	Keep only the later.  If this is troublesome, b4_shared_declarations
   2800 	can easily take the desired prefix as argument.
   2801 
   2802 	* data/yacc.c (b4_shared_declarations): New.
   2803 	Use it to factor duplicated declarations.
   2804 
   2805 2012-06-12  Akim Demaille  <akim (a] lrde.epita.fr>
   2806 
   2807 	skeletons: factor yacc.c and glr.c.
   2808 	yacc.c and glr.c share common declarations.  Their YYLTYPE are exactly
   2809 	equal, and their YYSTYPE are sufficiently alike to be fused (its
   2810 	declaration was protected by YYSTYPE_IS_DECLARED in yacc.c, but not in
   2811 	glr.c).  Besides, yacc.c duplicated the definitions of YYLTYPE and
   2812 	YYSTYPE (*.h/*.c).
   2813 
   2814 	* data/c.m4 (b4_declare_yylstype): New.
   2815 	* data/yacc.c, data/glr.c: Use it.
   2816 
   2817 2012-06-12  Akim Demaille  <akim (a] lrde.epita.fr>
   2818 
   2819 	glr.c: minor refactoring.
   2820 	* data/glr.c (b4_shared_declarations): Move from the generated file
   2821 	section, to the M4 prologue.
   2822 
   2823 2012-06-12  Akim Demaille  <akim (a] lrde.epita.fr>
   2824 
   2825 	tests: remove all the -On flags.
   2826 	* tests/atlocal.in: Here.
   2827 	Reported by Gilles Espinasse.
   2828 
   2829 2012-06-12  Akim Demaille  <akim (a] lrde.epita.fr>
   2830 
   2831 	maint: fix spello.
   2832 	* README-hacking: Here.
   2833 	* THANKS: Reported by Gilles Espinasse.
   2834 
   2835 2012-06-12  Akim Demaille  <akim (a] lrde.epita.fr>
   2836 
   2837 	maint: improve release procedure instructions.
   2838 	* gnulib: Update, in particular (README-release).
   2839 	* bootstrap.conf: don't require gendocs, provided by gnu-web-doc-update,
   2840 	provided by readme-release.
   2841 	* README-hacking: Update accordingly.
   2842 
   2843 2012-06-07  Akim Demaille  <akim (a] lrde.epita.fr>
   2844 
   2845 	gnulib: update readme-release.
   2846 	* gnulib (readme-release): Now includes the modules it promotes.
   2847 	* bootstrap.conf: Simplify accordingly.
   2848 
   2849 2012-06-07  Akim Demaille  <akim (a] lrde.epita.fr>
   2850 
   2851 	maint: cfg.mk: manual title.
   2852 	* cfg.mk (manuel_title): New.
   2853 
   2854 2012-06-07  Akim Demaille  <akim (a] lrde.epita.fr>
   2855 
   2856 	maint: cfg.mk: simplify
   2857 	* cfg.mk: Remove bits provided by maint.mk.
   2858 
   2859 2012-06-07  Akim Demaille  <akim (a] lrde.epita.fr>
   2860 
   2861 	maint: post-release administrivia
   2862 	* NEWS: Add header line for next release.
   2863 	* .prev-version: Record previous version.
   2864 	* cfg.mk (old_NEWS_hash): Auto-update.
   2865 
   2866 2012-06-05  Akim Demaille  <akim (a] lrde.epita.fr>
   2867 
   2868 	version 2.5.1
   2869 	* NEWS: Record release date.
   2870 
   2871 2012-06-05  Akim Demaille  <akim (a] lrde.epita.fr>
   2872 
   2873 	NEWS: prepare for 2.5.1.
   2874 	* NEWS: Be compliant with do-release-commit-and-tag.
   2875 
   2876 2012-06-05  Akim Demaille  <akim (a] lrde.epita.fr>
   2877 
   2878 	maint: update release procedure
   2879 	* bootstrap.conf: Request do-release-commit-and-tag and readme-release.
   2880 	* README-hacking: Adjust.
   2881 
   2882 2012-06-05  Jim Meyering  <meyering (a] redhat.com>
   2883 
   2884 	maint: fix comment typos
   2885 	Using http://github.com/lyda/misspell-check, massage its
   2886 	output into sed commands to perform the suggested changes.
   2887 	Initially, I filtered out the THRU->Through changes, because
   2888 	that failed to retain capitalization in the grammar token.
   2889 	Instead, do this manually, beforehand:
   2890 
   2891 	sed -i s/THRU/THROUGH/ tests/existing.at
   2892 	git ls-files|misspellings -f -|perl -nl \
   2893 	  -e '/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/ or next;' \
   2894 	  -e '($file,$n,$l,$r)=($1,$2,$3,$4); $q="'\''"; $r=~s/$q/$q\\$q$q/g;'\
   2895 	  -e 'print "sed -i $q${n}s!$l!$r!$q $file"'|bash
   2896 
   2897 2012-05-23  Akim Demaille  <akim (a] lrde.epita.fr>
   2898 
   2899 	maint: post-release administrivia
   2900 	* NEWS: Add header line for next release.
   2901 	* .prev-version: Record previous version.
   2902 	* cfg.mk (old_NEWS_hash): Auto-update.
   2903 
   2904 2012-05-23  Akim Demaille  <akim (a] lrde.epita.fr>
   2905 
   2906 	Bison 2.5.1_rc2.
   2907 	* NEWS: Update.
   2908 
   2909 2012-05-23  Akim Demaille  <akim (a] lrde.epita.fr>
   2910 
   2911 	doc: fixes.
   2912 	* doc/bison.texinfo: Fix errors spotted by syntax-check.
   2913 
   2914 2012-05-23  Akim Demaille  <akim (a] lrde.epita.fr>
   2915 
   2916 	build: fix ChangeLog generation.
   2917 	* gnulib: Update to get newest gitlog-to-changelog.
   2918 	* bootstrap: Update.
   2919 	* Makefile.am (gen-ChangeLog): Fix for Bison's git log style.
   2920 
   2921 2012-05-21  Akim Demaille  <akim (a] lrde.epita.fr>
   2922 
   2923 	c++: compute the header guards.
   2924 	This is a frequent request.  Recently pointed out by Wei Song,
   2925 	<http://lists.gnu.org/archive/html/help-bison/2012-05/msg00002.html>.
   2926 
   2927 	* data/c.m4 (b4_tocpp, b4_cpp_guard, b4_cpp_guard_open)
   2928 	(b4_cpp_guard_close): New.
   2929 	* data/lalr1.cc, data/location.cc, data/stack.hh: Use them.
   2930 	* TODO (Header Guards): Move to...
   2931 	* NEWS: here.
   2932 	Formatting changes.
   2933 
   2934 2012-05-21  Akim Demaille  <akim (a] lrde.epita.fr>
   2935 
   2936 	skeletons: remove support for unused directive.
   2937 	* src/scan-skel.l (@dir_prefix@): Remove support, has never been
   2938 	used, not even in the commit that introduced it,
   2939 	2b81e969ea04c1a6502928ba7e847ec8ff7dcb2f.
   2940 
   2941 2012-05-21  Akim Demaille  <akim (a] lrde.epita.fr>
   2942 
   2943 	lalr1.cc: improve Doxygen documentation.
   2944 	* data/location.cc: Qualify file names with directory name.
   2945 
   2946 2012-05-21  Akim Demaille  <akim (a] lrde.epita.fr>
   2947 
   2948 	lalr1.cc: extract stack.hh.
   2949 	See commit 51bacae6b58fd5c6cce861f00440dc917384625e.
   2950 	* data/stack.hh: New, extracted from...
   2951 	* data/lalr1.cc: here.
   2952 	* data/Makefile.am: Adjust.
   2953 
   2954 2012-05-21  Akim Demaille  <akim (a] lrde.epita.fr>
   2955 
   2956 	news: convert to double quotes.
   2957 	* NEWS: Convert from `quoted' to "quoted".
   2958 	Reported by Stefano Lattarini.
   2959 	http://lists.gnu.org/archive/html/bison-patches/2012-05/msg00039.html
   2960 
   2961 2012-05-21  Akim Demaille  <akim (a] lrde.epita.fr>
   2962 
   2963 	space changes.
   2964 	* src/flex-scanner.h: Indent nested cpp directives.
   2965 
   2966 2012-05-21  Akim Demaille  <akim (a] lrde.epita.fr>
   2967 
   2968 	build: do not prototype flex-generated functions.
   2969 	Some versions of Flex, possibly modified by the distribution package
   2970 	maintainers, have incompatible signatures.  Since newer versions of
   2971 	Flex prototype their functions, avoid the conflicts in that case.
   2972 	Reported by Stefano Lattarini.
   2973 	<http://lists.gnu.org/archive/html/bug-bison/2012-05/msg00012.html>.
   2974 
   2975 	* src/flex-scanner.h (FLEX_VERSION_GT): New.
   2976 	Use it to issue prototypes for flex-generated functions only for
   2977 	versions up to 2.5.31, in accordance with the comment.
   2978 	See commit dc9701e848f27ae64b6ddcf809580998667d60f2.
   2979 	Use it to define yylex_destroy when needed.
   2980 
   2981 2012-05-16  Akim Demaille  <akim (a] lrde.epita.fr>
   2982 
   2983 	build: fix ChangeLog generation.
   2984 	* Makefile.am (gen-ChangeLog): Fix for VPATH builds.
   2985 
   2986 2012-05-14  Akim Demaille  <akim (a] lrde.epita.fr>
   2987 
   2988 	Bison 2.5.1_rc1.
   2989 	* NEWS: Update.
   2990 	* src/parse-gram.c, src/parse-gram.h: Regen.
   2991 
   2992 2012-05-11  Akim Demaille  <akim (a] lrde.epita.fr>
   2993 
   2994 	tests: save/restore Autotest special files when checking XML support.
   2995 	Currently the test 248, "parse-gram.y: LALR = IELR", fails
   2996 	BISON_TEST_XML is set.
   2997 
   2998 	* tests/local.at (AT_BISON_CHECK_XML): Belt: Save/restore files.
   2999 	* tests/regression.at (parse-gram.y: LALR = IELR): Suspenders: Don't
   3000 	rely on expout.
   3001 	Each one of these changes suffices.
   3002 
   3003 2012-05-11  Akim Demaille  <akim (a] lrde.epita.fr>
   3004 
   3005 	tests: AT_SAVE_SPECIAL_FILES / AT_RESTORE_SPECIAL_FILES.
   3006 	Some of our macros play with expout and other Autotest special files,
   3007 	which may break their callers (e.g., currently TESTSUITEFLAGS='248
   3008 	BISON_TEST_XML=1' fails).
   3009 
   3010 	There is already some support for this.  Expand it to be ready to use
   3011 	it elsewhere.
   3012 
   3013 	* tests/local.at (AT_RESTORE_SPECIAL_FILES, AT_SAVE_SPECIAL_FILES)
   3014 	(at_save_special_files, at_restore_special_files): New.
   3015 	(AT_BISON_CHECK_NO_XML): Use them.
   3016 
   3017 2012-05-11  Akim Demaille  <akim (a] lrde.epita.fr>
   3018 
   3019 	tests: honor TESTSUITEFLAGS in all the check targets.
   3020 	* tests/Makefile.am (installcheck-local): Simplify.
   3021 	(maintainer-check-posix, maintainer-check-valgrind): Honor
   3022 	$(TESTSUITEFLAGS).
   3023 
   3024 2012-05-11  Akim Demaille  <akim (a] lrde.epita.fr>
   3025 
   3026 	build: do not enable c++ warnings on 0 when nullptr is not supported.
   3027 	* configure.ac (WARN_CXXFLAGS): Enable -Wzero-as-null-pointer-constant
   3028 	only when nullptr is supported..
   3029 
   3030 2012-05-11  Akim Demaille  <akim (a] lrde.epita.fr>
   3031 
   3032 	maint: update gnulib.
   3033 	* bootstrap, gnulib: Update.
   3034 
   3035 2012-05-09  Akim Demaille  <akim (a] lrde.epita.fr>
   3036 
   3037 	build: config.in.h.
   3038 	Historically we used config.hin (where everybody else used
   3039 	config.h.in) to please DOS.  Now that we use gnulib, there are already
   3040 	tons of files with several dots, especially *.in.h.
   3041 
   3042 	* configure.ac: Rename config.hin as config.in.h.
   3043 
   3044 2012-05-09  Akim Demaille  <akim (a] lrde.epita.fr>
   3045 
   3046 	build: move silent rules.
   3047 	* tests/Makefile.am: In the generation of the test suite.
   3048 
   3049 2012-05-09  Akim Demaille  <demaille (a] gostai.com>
   3050 
   3051 	glr.c: reduce variable scopes.
   3052 	* data/glr.c: Where appropriate, fuse variable declarations followed
   3053 	by assignments by variable declarations with a value.
   3054 	Where appropriate, introduce new scopes to limit variable spans.
   3055 
   3056 2012-05-08  Akim Demaille  <akim (a] lrde.epita.fr>
   3057 
   3058 	maint: maintainer-release-check.
   3059 	* tests/Makefile.am (maintainer-release-check): New.
   3060 	* Makefile.am (MAINTAINER_CHECKS): New.
   3061 	Support maintainer-release-check.
   3062 	* README-hacking: Document it, and syntax-check too.
   3063 
   3064 2012-05-08  Akim Demaille  <akim (a] lrde.epita.fr>
   3065 
   3066 	maint: shush a syntax-check.
   3067 	* cfg.mk: lib/timevar is not planned to be gnulib'ed, as it comes
   3068 	from GCC.
   3069 
   3070 2012-05-08  Akim Demaille  <akim (a] lrde.epita.fr>
   3071 
   3072 	maint: prefer "commit message" to "log entry".
   3073 	* README-hacking: here.
   3074 	Suggested by Stefano Lattarini.
   3075 
   3076 2012-05-08  Akim Demaille  <akim (a] lrde.epita.fr>
   3077 
   3078 	command line: fix minor leaks.
   3079 	* src/getargs.c (getargs): Free pointers before allocating them new
   3080 	content.
   3081 
   3082 2012-05-08  Akim Demaille  <akim (a] lrde.epita.fr>
   3083 
   3084 	maint: we no longer maintain the ChangeLog.
   3085 	* .gitattributes: No need to merge it.
   3086 	* README-hacking: Update release instructions.
   3087 
   3088 2012-05-06  Akim Demaille  <akim (a] lrde.epita.fr>
   3089 
   3090 	maint: fix the generation of the synclines for bison's parser.
   3091 	* tests/bison.in: Import from master the changes that make
   3092 	this script generate synclines that are independant of the
   3093 	builddir/srcdir user's set up.
   3094 
   3095 2012-05-06  Akim Demaille  <akim (a] lrde.epita.fr>
   3096 
   3097 	maint: regen.
   3098 	* src/parse-gram.c, src/parse-gram.h: Regen.
   3099 
   3100 2012-05-06  Akim Demaille  <akim (a] lrde.epita.fr>
   3101 
   3102 	maint: import the xmemdup0 gnulib module.
   3103 	* bootstrap.conf: Require this module.
   3104 	* src/parse-gram.y: Include xmemdup0.h.
   3105 
   3106 2012-05-06  Akim Demaille  <akim (a] lrde.epita.fr>
   3107 
   3108 	maint: remove left-over gnulib modules.
   3109 	* bootstrap.conf (gnulib_modules): Remove pipe-posix.
   3110 	* lib/.gitignore, m4/.gitignore: Remove files that we no longer use.
   3111 
   3112 2012-05-06  Akim Demaille  <akim (a] lrde.epita.fr>
   3113 
   3114 	maint: ignore files imported by autopoint.
   3115 	* m4/.gitignore: here.
   3116 
   3117 2012-05-06  Akim Demaille  <akim (a] lrde.epita.fr>
   3118 
   3119 	build: AC_PROG_LEX: use more readable variable names.
   3120 	* m4/flex.m4 (AC_PROG_LEX): Prefer LEX_IS_FLEX to FLEX.
   3121 	Prefer true/false to yes/no for such variables.
   3122 	* configure.ac: Adjust.
   3123 
   3124 2012-05-06  Jim Meyering  <meyering (a] redhat.com>
   3125 
   3126 	maint: regen src/parse-gram.[ch]
   3127 
   3128 2012-05-06  Jim Meyering  <meyering (a] redhat.com>
   3129 	    Akim Demaille  <akim (a] lrde.epita.fr>
   3130 
   3131 	maint: simplify parse-gram.y
   3132 	* src/parse-gram.y (add_param): Use xmemdup0 in place of
   3133 	xmalloc+memcpy, and strspn in place of an open-coded loop.
   3134 
   3135 2012-05-06  Jim Meyering  <meyering (a] redhat.com>
   3136 
   3137 	maint: s/strncpy/memcpy/, when equivalent
   3138 	* src/output.c (output_skeleton): Use memcpy, not strncpy,
   3139 	since the source is known to fit in the destination buffer.
   3140 	* src/parse-gram.y (%skeleton): Likewise.
   3141 
   3142 2012-05-04  Akim Demaille  <akim (a] lrde.epita.fr>
   3143 
   3144 	glr.c: untabify.
   3145 	* data/glr.c: here.
   3146 
   3147 2012-05-04  Akim Demaille  <akim (a] lrde.epita.fr>
   3148 
   3149 	glr.cc: untabify.
   3150 	* data/glr.cc: here.
   3151 
   3152 2012-05-04  Akim Demaille  <akim (a] lrde.epita.fr>
   3153 
   3154 	glr.cc: formatting changes.
   3155 	* data/glr.cc: Fit in 80 columns.
   3156 
   3157 2012-05-04  Akim Demaille  <akim (a] lrde.epita.fr>
   3158 
   3159 	glr.cc: remove unused signature.
   3160 	* data/glr.cc (yydestruct_): Not used, remove.
   3161 	It is yydestruct which is used.
   3162 
   3163 2012-05-04  Akim Demaille  <akim (a] lrde.epita.fr>
   3164 
   3165 	glr.cc: properly declare locations are const where appropriate.
   3166 	* data/glr.cc (yyerror): The location is const.
   3167 
   3168 2012-05-04  Akim Demaille  <akim (a] lrde.epita.fr>
   3169 
   3170 	doc: fix @xref.
   3171 	* doc/bison.texinfo: here.
   3172 
   3173 2012-05-02  Akim Demaille  <akim (a] lrde.epita.fr>
   3174 
   3175 	tests: ignore code coverage/profiling failure messages
   3176 	The Hydra buildfarm provides code coverage analysis.  For some reason,
   3177 	in some test cases, code coverage data seem to be incompatible, and
   3178 	generate error messages at parser run-time.  Ignore these messages so
   3179 	that (i) these tests do pass, (ii) coverage results be provided by
   3180 	Hydra.
   3181 
   3182 	* tests/local.at (AT_PARSER_CHECK): Ignore messages for failed merges
   3183 	of code coverage/profiling results.
   3184 
   3185 2012-04-16  Akim Demaille  <akim (a] lrde.epita.fr>
   3186 
   3187 	doc: fix some invalid @ref.
   3188 	* doc/bison.texinfo: Fix incorrect @ref uses.
   3189 
   3190 2012-04-16  Akim Demaille  <akim (a] lrde.epita.fr>
   3191 
   3192 	build: fix previous commit.
   3193 	* bootstrap: Update from gnulib.
   3194 
   3195 2012-04-16  Akim Demaille  <akim (a] lrde.epita.fr>
   3196 
   3197 	install-pdf: fix.
   3198 	* gnulib: Fix install-pdf in po/ and runtime-po/.
   3199 	Reported by Hans Aberg.
   3200 	Fixed by Joel E. Denny.
   3201 	http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html
   3202 
   3203 2012-04-16  Akim Demaille  <akim (a] lrde.epita.fr>
   3204 
   3205 	NEWS: Update.
   3206 	* NEWS: Spell check.
   3207 	(%printer): is now documented.
   3208 
   3209 2012-04-16  Akim Demaille  <akim (a] lrde.epita.fr>
   3210 
   3211 	%printer: support both yyo and yyoutput.
   3212 	lalr1.cc used to support yyo, but not yyoutput.  Support both,
   3213 	but document only yyoutput (at least until there is some consensus
   3214 	on this).
   3215 
   3216 	* data/c.m4 (yy_symbol_value_print): Also support yyo.
   3217 	* data/glr.cc  (yy_symbol_value_print_): Support both yyo and yyoutput.
   3218 	* data/lalr1.cc: Also support yyoutput.
   3219 	* doc/bison.texinfo: Explicitly use yyoutput in the examples.
   3220 	* examples/mfcalc/mfcalc.test: Test the -p option.
   3221 
   3222 2012-04-16  Akim Demaille  <akim (a] lrde.epita.fr>
   3223 
   3224 	doc: mfcalc: demonstrate %printer.
   3225 	* doc/bison.texinfo (Printer Decl): New.
   3226 	Number mfcalc.y snippets so that they are output in
   3227 	the proper order.
   3228 	(The mfcalc Main): Use yydebug.
   3229 	(Debugging): Simplify the text.
   3230 	(Enabling Traces, Mfcalc Traces, The YYPRINT Macro): New.
   3231 	(Table of Symbols): Document YYPRINT and YYFPRINTF.
   3232 
   3233 2012-04-16  Akim Demaille  <akim (a] lrde.epita.fr>
   3234 
   3235 	tests: style changes.
   3236 	* tests/input.at: Use "print" in %printer instead of "destroy".
   3237 	It is unused, so we don't care, yet it is less surprising.
   3238 	* tests/actions.at: Comment changes.
   3239 
   3240 2012-04-10  Akim Demaille  <akim (a] lrde.epita.fr>
   3241 
   3242 	build: require Flex.
   3243 	* configure.ac: Require Flex.
   3244 
   3245 2012-04-10  Akim Demaille  <akim (a] lrde.epita.fr>
   3246 
   3247 	build: flex.m4: check for Flex.
   3248 	* m4/flex.m4 (_AC_PROG_LEX_YYTEXT_DECL): Check that $LEX
   3249 	supports some of the Flex options, and exclusive start conditions.
   3250 	Define FLEX to 'yes'/'', as AC_PROG_CC does for GCC.
   3251 
   3252 2012-04-10  Akim Demaille  <akim (a] lrde.epita.fr>
   3253 
   3254 	build: flex.m4: quote properly.
   3255 	* m4/flex.m4: Use quotes more systematically.
   3256 
   3257 2012-04-10  Akim Demaille  <akim (a] lrde.epita.fr>
   3258 
   3259 	build: flex.m4.
   3260 	* m4/flex.m4: New.
   3261 	An exact copy of what is in Autoconf currently.
   3262 
   3263 2012-04-10  Akim Demaille  <akim (a] lrde.epita.fr>
   3264 
   3265 	build: autoconf: update.
   3266 	* submodules/autoconf: Update.
   3267 	There are no changes in data/m4sugar/foreach.m4, and the
   3268 	changes in data/m4sugar/m4sugar.m4 are minor.
   3269 
   3270 2012-04-10  Akim Demaille  <akim (a] lrde.epita.fr>
   3271 
   3272 	glr: eliminate last bits of unwanted locations.
   3273 	* data/glr.c (YYLTYPE): Do not define when locations are
   3274 	not demanded.
   3275 	Adjust all dependencies.
   3276 
   3277 2012-04-10  Akim Demaille  <akim (a] lrde.epita.fr>
   3278 
   3279 	NEWS: 2.6 will drop K&R.
   3280 	* NEWS: here.
   3281 	(glr.c): Fix a spello.
   3282 
   3283 2012-04-09  Akim Demaille  <akim (a] lrde.epita.fr>
   3284 
   3285 	TODO: remove dead items.
   3286 	* TODO (Documentation, %printer, Java): Remove, already done (or just
   3287 	waiting for approval).
   3288 	(Fortran, BTYacc): Remove, there does not seem to be demand.
   3289 
   3290 2012-04-09  Akim Demaille  <akim (a] lrde.epita.fr>
   3291 
   3292 	TODO: import from master.
   3293 	* TODO: Copy the current version.
   3294 
   3295 2012-04-07  Akim Demaille  <akim (a] lrde.epita.fr>
   3296 
   3297 	gnulib: update.
   3298 	* bootstrap.conf (bootstrap_sync): True again.
   3299 	It was disabled while waiting for changes to be integrated
   3300 	in gnulib's bootstrap, which was done long ago.
   3301 	* bootstrap, gnulib: Update.
   3302 
   3303 2012-04-04  Akim Demaille  <akim (a] lrde.epita.fr>
   3304 
   3305 	maint: update NEWS.
   3306 	* NEWS: Fix entry about __attribute__.
   3307 	Reorder by "decreasing" order of importance.
   3308 
   3309 2012-04-04  Akim Demaille  <akim (a] lrde.epita.fr>
   3310 
   3311 	doc: fix index.
   3312 	http://lists.gnu.org/archive/html/bison-patches/2012-04/msg00006.html
   3313 
   3314 	* doc/bison.texinfo: Avoid using @def* variant with more
   3315 	than the defined entity as main entity, as it results in
   3316 	an incorrect index.  For instance, don't document
   3317 	{return YYERROR;}, which results in a single index entry
   3318 	"return YYERROR;", but rather as typed function whose
   3319 	return type is "type", and whose argument list is ";".
   3320 
   3321 2012-04-04  Akim Demaille  <akim (a] lrde.epita.fr>
   3322 
   3323 	doc: fix documentation of YYERROR.
   3324 	* doc/bison.texinfo (Table of Symbols): Fix the documentation
   3325 	of YYERROR by copying that from "Action Features".
   3326 
   3327 2012-04-01  Akim Demaille  <akim (a] lrde.epita.fr>
   3328 
   3329 	c++: more YY_NULL
   3330 	Caught by maintainer-check-g++.
   3331 	* data/glr.c, data/lalr1.cc, data/yacc.c, tests/cxx-type.at,
   3332 	* tests/glr-regression.at, tests/push.at:
   3333 	When simple to do, avoid expliciting the null ptr.
   3334 	Otherwise use YY_NULL.
   3335 
   3336 2012-04-01  Akim Demaille  <akim (a] lrde.epita.fr>
   3337 
   3338 	bump to 2012 in skeletons.
   3339 	* data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java,
   3340 	* data/location.cc, data/yacc.c: Bump copyright year ranges.
   3341 
   3342 2012-04-01  Akim Demaille  <akim (a] lrde.epita.fr>
   3343 
   3344 	build: remove ancient Autoconf tests.
   3345 	lib/subpipe.c was removed in 47fa574761319b0a422691223c9b8a9a72f36aa2.
   3346 
   3347 	* m4/subpipe.m4: Remove.
   3348 	* configure.ac (BISON_PREREQ_SUBPIPE): Remove.
   3349 
   3350 2012-03-31  Akim Demaille  <akim (a] lrde.epita.fr>
   3351 
   3352 	doc: c++: complete the location documentation.
   3353 	* data/location.cc (position::initialize, location::initialize):
   3354 	Also accept line and column, with default values.
   3355 	* doc/bison.texinfo (C++ position, C++ location): New nodes.
   3356 	Describe more thoroughly these classes.
   3357 	Fix several Texinfo misuses.
   3358 
   3359 2012-03-31  Akim Demaille  <demaille (a] gostai.com>
   3360 
   3361 	c++: locations: provide convenience constructors.
   3362 	* data/location.cc (position::position): Accept file, line and
   3363 	column as arguments with default values.
   3364 	Always qualify initial line and column literals as unsigned.
   3365 	(location::location): Provide convenience constructors.
   3366 
   3367 2012-03-31  Akim Demaille  <akim (a] lrde.epita.fr>
   3368 
   3369 	c++: locations: remove useless "inline".
   3370 	* data/location.cc: "inline" is implicit when defining
   3371 	methods in the class definition.
   3372 
   3373 2012-03-31  Akim Demaille  <akim (a] lrde.epita.fr>
   3374 
   3375 	glr: do not use locations when they are not requested
   3376 	When the test suite runs with -O2 and warnings enabled, G++
   3377 	complains of locations being used, but not initialized.
   3378 	The simplest is to not use locations.
   3379 
   3380 	* data/glr.c (b4_locuser_formals, b4_locuser_args): New.
   3381 	Use them when locations should not be used.
   3382 	Use b4_locations_if where appropriate.
   3383 	(yyuserAction): Modify the order to the arguments to make
   3384 	it more alike the other routines, and to make use of
   3385 	b4_locuser_args simpler.
   3386 
   3387 2012-03-31  Akim Demaille  <akim (a] lrde.epita.fr>
   3388 
   3389 	c++: use nullptr for C++11.
   3390 	C++11 introduces "nullptr" which plays the role of C's NULL, in
   3391 	replacement of "0".  Fix the C++ skeletons to avoid warnings about
   3392 	uses of "0" in place of "nullptr", and improve C skeletons to also use
   3393 	this "nullptr" when compiled with a C++11 compiler.
   3394 
   3395 	* configure.ac: More C++ warnings.
   3396 	* NEWS (2.5.1): Document this.
   3397 	* data/c++.m4, data/c.m4 (b4_null_define): New.
   3398 	(b4_null): Use YY_NULL instead of 0.
   3399 	* data/glr.c, data/lalr1.cc, data/location.cc, data/yacc.c:
   3400 	Call b4_null_define/b4_null where appropriate.
   3401 	Use YY_NULL instead of NULL.
   3402 	* data/location.cc (initialize): Accept a default argument,
   3403 	YY_NULL.
   3404 	* tests/actions.at, tests/calc.at: Adjust.
   3405 
   3406 	* data/glr.c, lib/libiberty.h, src/system.h (__attribute__):
   3407 	Do not disable it when __STRICT_ANSI__ is defined, as, for
   3408 	instance, it disables the __attribute__((unused)) which
   3409 	protects us from some compiler warnings.
   3410 	This was already done elsewhere in Bison, in 2001, see
   3411 	4a0d89369599a2cea01f4fbdf791f426a02cb5a3.
   3412 	* tests/regression.at: Adjust output.
   3413 
   3414 2012-03-30  Akim Demaille  <akim (a] lrde.epita.fr>
   3415 
   3416 	build: simplify and improve the compiler warnings for tests.
   3417 	* configure.ac (warn_common, warn_c, warn_cxx): New.
   3418 	Use them to compute independently the options supported
   3419 	by the C and C++ compilers.
   3420 	Don't AC_SUBST the variables passed to gl_WARN_ADD: it
   3421 	does it for us.
   3422 	(WARN_CFLAGS_TEST, WARN_CXXFLAGS_TEST): Don't aggregate
   3423 	$WARN_CFLAGS and $WARN_CXXFLAGS in them now, leave it
   3424 	to atlocal.in.
   3425 	(O0CFLAGS, O0CXXFLAGS): Move their definition to...
   3426 	* tests/atlocal.in: here.
   3427 	Be more systematic between C and C++.
   3428 	Reorder to factor between variables.
   3429 	Propagate all of the variables when --compile-c-with-cxx.
   3430 
   3431 2012-03-30  Akim Demaille  <akim (a] lrde.epita.fr>
   3432 
   3433 	gnulib: update.
   3434 
   3435 2012-03-30  Akim Demaille  <akim (a] lrde.epita.fr>
   3436 
   3437 	maint: formatting changes.
   3438 	* src/system.h: Indent CPP directives using cppi.
   3439 
   3440 2012-03-27  Akim Demaille  <akim (a] lrde.epita.fr>
   3441 
   3442 	NEWS: update.
   3443 	* NEWS: Java fixes, more about the doc changes, liby issues.
   3444 
   3445 2012-03-27  Tim Landscheidt  <tim (a] tim-landscheidt.de>
   3446 
   3447 	Java: Fix syntax error handling without error token.
   3448 	* data/lalr1.java (YYParser::parse): Here.
   3449 	* tests/java.at: Add test case.
   3450 
   3451 2012-03-24  Akim Demaille  <akim (a] lrde.epita.fr>
   3452 
   3453 	tests: beware of -pedantic on large #line numbers.
   3454 	* tests/local.at (AT_TEST_TABLES_AND_PARSE): Don't pass -pedantic
   3455 	when compiling large canonical-LR parsers.
   3456 	Reported by Tys Lefering.
   3457 	http://lists.gnu.org/archive/html/bug-bison/2012-03/msg00025.html
   3458 
   3459 2012-03-24  Akim Demaille  <akim (a] lrde.epita.fr>
   3460 
   3461 	tests: when using the C++ compiler, use its flags too.
   3462 	* tests/local.at: Go for colors.
   3463 	(--compile-c-with-cxx): New option.
   3464 	We used to pass "CC=$CXX" as command line argument,
   3465 	but it was not possible to adjust CFLAGS accordingly
   3466 	in atlocal, since it is loaded before assignments on
   3467 	the command line are honored (so that the command line
   3468 	takes precedence).
   3469 	* tests/atlocal.in: Implement it.
   3470 	* tests/local.mk: Use it.
   3471 
   3472 2012-03-19  Akim Demaille  <akim (a] lrde.epita.fr>
   3473 
   3474 	doc: update the --verbose report format.
   3475 	* doc/bison.texinfo (Understanding): Adjust to match the
   3476 	current format.
   3477 
   3478 2012-03-19  Akim Demaille  <akim (a] lrde.epita.fr>
   3479 
   3480 	doc: spell check.
   3481 	* doc/bison.texinfo: here.
   3482 
   3483 2012-03-19  Akim Demaille  <akim (a] lrde.epita.fr>
   3484 
   3485 	doc: stmt, not stmnt.
   3486 	* doc/bison.texinfo: s/stmnt/stmt/g.  This is a
   3487 	much more common abbreviation for "statement".
   3488 
   3489 2012-03-19  Akim Demaille  <akim (a] lrde.epita.fr>
   3490 
   3491 	doc: save width.
   3492 	* doc/bison.texinfo (Language and Grammar): Use the same
   3493 	layout for an example in all the versions, i.e., keep
   3494 	as general case what used to be used only for Info.
   3495 
   3496 2012-03-19  Akim Demaille  <akim (a] lrde.epita.fr>
   3497 
   3498 	doc: reformat grammar snippets.
   3499 	* doc/bison.texinfo: Convert the grammar examples to
   3500 	use a narrower style.  This helps fitting into the
   3501 	@smallbook constraints.
   3502 	http://lists.gnu.org/archive/html/bison-patches/2012-03/msg00011.html
   3503 
   3504 2012-03-19  Akim Demaille  <akim (a] lrde.epita.fr>
   3505 
   3506 	doc: use only @example, not @smallexample.
   3507 	* doc/bison.texinfo: Convert all @smallexamples into @examples.
   3508 	Adjust layout where needed.
   3509 
   3510 2012-03-19  Akim Demaille  <akim (a] lrde.epita.fr>
   3511 
   3512 	doc: style changes.
   3513 	* doc/bison.texinfo: Avoid line width issues with TeX.
   3514 	Upgrade ancient messages.
   3515 	Move some comments to better looking places.
   3516 	Add more @group.
   3517 	(Mfcalc Symbol Table): Reduce variable scopes.
   3518 	Prefer size_t for sizes.
   3519 	Prefer declarations with an initial value.
   3520 	Fix a @group environment.
   3521 
   3522 2012-03-19  Paul Eggert  <eggert (a] cs.ucla.edu>
   3523 
   3524 	doc: minor fixes to "Understanding" section
   3525 	* doc/bison.texinfo (Understanding): Minor wording fixes and
   3526 	improvements.  Fixes problems reported in
   3527 	<https://savannah.gnu.org/patch/?4306>.
   3528 
   3529 2012-03-13  Akim Demaille  <demaille (a] gostai.com>
   3530 
   3531 	tests: minor fixes/simplifications
   3532 	* tests/local.at (AT_BISON_CHECK_NO_XML): Simplify sed programs,
   3533 	quotation, and default value assignments.
   3534 	Ensure a proper value to the numeric variables.
   3535 	Reported by Lie Yan.
   3536 	http://lists.gnu.org/archive/html/bug-bison/2012-03/msg00000.html
   3537 
   3538 2012-03-09  Akim Demaille  <demaille (a] gostai.com>
   3539 
   3540 	tests: be robust to quote style.
   3541 	See <http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html>.
   3542 
   3543 	* src/main.c (main): Define the quoting style we use.
   3544 	* tests/atlocal.in: Use ASCII style quotes during the tests.
   3545 
   3546 2012-03-09  Akim Demaille  <demaille (a] gostai.com>
   3547 
   3548 	maint: update gnulib.
   3549 	* gnulib: update.
   3550 	* src/scan-gram.l: Don't use the (former version of) STREQ.
   3551 
   3552 2012-03-06  Akim Demaille  <demaille (a] gostai.com>
   3553 
   3554 	tests: be robust to POSIXLY_CORRECT being defined.
   3555 	* tests/local.at (AT_BISON_CHECK_NO_XML): Check if
   3556 	POSIXLY_CORRECT is defined, not if it is defined to 1.
   3557 	Reported by Lie Yan.
   3558 	http://lists.gnu.org/archive/html/bug-bison/2012-03/msg00000.html
   3559 
   3560 2012-02-23  Akim Demaille  <demaille (a] gostai.com>
   3561 
   3562 	doc: fix environment issues.
   3563 	* doc/bison.texinfo: Do not use @verbatim, in particular when
   3564 	we use @group inside.
   3565 	Use @quotation instead of @display for frequently asked questions,
   3566 	it looks much nicer.
   3567 
   3568 2012-02-23  Akim Demaille  <demaille (a] gostai.com>
   3569 
   3570 	regen.
   3571 	* src/parse-gram.h, src/parse-gram.c: regen.
   3572 
   3573 2012-02-23  Akim Demaille  <demaille (a] gostai.com>
   3574 
   3575 	tests: fix regressions.
   3576 	Exit status 63 is documented for version-mismatch.
   3577 	* bootstrap.conf (gnulib_modules): Remove sysexits.
   3578 	* src/system.h (EX_MISMATCH): Define.
   3579 	* src/parse-gram.y (version_check): Use it instead of EX_CONFIG.
   3580 
   3581 	Missing includes.
   3582 	* tests/calc.at, tests/named-refs.at: Include assert.h.
   3583 
   3584 2012-02-21  Akim Demaille  <demaille (a] gostai.com>
   3585 
   3586 	glr: fix ambiguity reports.
   3587 	* tests/glr-regression.at (Ambiguity reports): New.
   3588 
   3589 2012-02-19  Akim Demaille  <demaille (a] gostai.com>
   3590 
   3591 	doc: stylistic improvements.
   3592 	* doc/bison.texinfo: Prefer "continue" to empty loop bodies.
   3593 	Add some @group/@end group to avoid poor page breaks.
   3594 
   3595 2012-02-19  Akim Demaille  <demaille (a] gostai.com>
   3596 
   3597 	maint: address sc_prohibit_doubled_word.
   3598 	* data/yacc.c, doc/bison.texinfo: Reword to avoid having to
   3599 	disable that check.
   3600 	* cfg.mk: No longer skip this test.
   3601 
   3602 2012-02-19  Akim Demaille  <demaille (a] gostai.com>
   3603 
   3604 	maint: address sc_prohibit_always-defined_macros.
   3605 	* cfg.mk: No longer skip it, except where EXIT_SUCCESS is used
   3606 	as a witness for stdlib.h.
   3607 	Skip this test when appropriate.
   3608 	* data/yacc.c: Drop a note about why EXIT_SUCCESS is defined here.
   3609 
   3610 2012-02-19  Akim Demaille  <demaille (a] gostai.com>
   3611 
   3612 	maint: address sc_bindtextdomain, sc_program_name and sc_prohibit_HAVE_MBRTOWC.
   3613 	* bootstrap.conf (gnulib_modules): Require progname.
   3614 	* src/complain.c, src/getargs.c, src/getargs.h, src/main.c: Use it.
   3615 	* cfg.mk (exclude): New.
   3616 	Use it.
   3617 	Skip lib/main.c for bindtextdomain and set_program_name.
   3618 
   3619 2012-02-19  Akim Demaille  <demaille (a] gostai.com>
   3620 
   3621 	maint: remove stray file.
   3622 	* config.hin: Remove.
   3623 
   3624 2012-02-19  Akim Demaille  <demaille (a] gostai.com>
   3625 
   3626 	maint: address some syntax-issues remaining after cherry-picking from master.
   3627 	* cfg.mk: Skip bison generated files, 2.5 is generating trailing
   3628 	blanks.  This is already fixed in master.
   3629 	* tests/conflicts.at, tests/java.at: Fix white space issues.
   3630 
   3631 2012-02-19  Akim Demaille  <demaille (a] gostai.com>
   3632 
   3633 	regen.
   3634 	* src/parse-gram.c, src/parse-gram.h: Regen.
   3635 
   3636 2012-02-19  Akim Demaille  <demaille (a] gostai.com>
   3637 
   3638 	bitset: fix an incorrect error message.
   3639 	* lib/bitset_stats.c: here.
   3640 	Reported by Stefano Lattarini.
   3641 
   3642 2012-02-19  Jim Meyering  <meyering (a] redhat.com>
   3643 
   3644 	maint: reenable sc_m4_quote_check
   3645 	* cfg.mk (local-checks-to-skip): Reenable sc_m4_quote_check.
   3646 	* m4/dmalloc.m4: Add quotes.
   3647 
   3648 2012-02-19  Akim Demaille  <demaille (a] gostai.com>
   3649 
   3650 	maint: remove trailing empty lines.
   3651 	* cfg.mk: No longer skip sc_prohibit_empty_lines_at_EOF, except
   3652 	for parse-gram.h (generated).
   3653 	* examples/mfcalc/.gitignore, lib/.gitignore, m4/.gitignore,
   3654 	* po/.gitignore, runtime-po/.gitignore: Remove trailing/leading
   3655 	empty lines.
   3656 
   3657 2012-02-19  Akim Demaille  <demaille (a] gostai.com>
   3658 
   3659 	maint: avoid "magic number exit".
   3660 	* cfg.mk (local-checks-to-skip): No longer skip it.
   3661 	* bootstrap.conf (gnulib_modules): Add sysexits.
   3662 	* doc/bison.texinfo, etc/bench.pl.in, src/parse-gram.y,
   3663 	* src/system.h, tests/calc.at, tests/named-refs.at: Use assert
   3664 	where appropriate instead of "if (...) exit".
   3665 	Use symbolic exit status elsewhere.
   3666 
   3667 2012-02-19  Akim Demaille  <demaille (a] gostai.com>
   3668 
   3669 	maint: fix some syntax-check issues.
   3670 	* cfg.mk (local-checks-to-skip): Remove
   3671 	sc_prohibit_quotearg_without_use, sc_prohibit_strcmp,
   3672 	sc_unmarked_diagnostics, sc_useless_cpp_parens.
   3673 	(sc_unmarked_diagnostics): Skip DJGPP.
   3674 	* data/yacc.c, src/LR0.c, src/closure.c,
   3675 	* src/flex-scanner.h, src/gram.c, src/lalr.c,
   3676 	* src/print-xml.c, src/print.c, src/print_graph.c,
   3677 	* src/reader.c, src/reduce.c, src/tables.c:
   3678 	Don't use parens with cpp's defined.
   3679 	Remove useless includes.
   3680 
   3681 2012-02-19  Akim Demaille  <demaille (a] gostai.com>
   3682 
   3683 	maint: address a couple of syntax-check errors.
   3684 	* cfg.mk (local-checks-to-skip): Remove sc_error_message_period
   3685 	and sc_error_message_uppercase.
   3686 	Address the uncovered issues.
   3687 	* po/POTFILES.in: Add missing files.
   3688 	* src/symtab.c: Remove useless includes.
   3689 	* lib/bitset_stats.c, src/files.c, tests/glr-regression.at: Use
   3690 	conformant error messages.
   3691 
   3692 2012-02-19  Akim Demaille  <demaille (a] gostai.com>
   3693 
   3694 	maint: gnulib: upgrade.
   3695 
   3696 2012-02-15  Akim Demaille  <demaille (a] gostai.com>
   3697 
   3698 	maint: rely on Automake for parsers.
   3699 	* Makefile.am (AM_YFLAGS): Automake looks for "-d" alone.
   3700 	Move other options in here.
   3701 	(BISON): New.
   3702 	(YACC): Use it.
   3703 	(bison_SOURCES): Now that automake can see `-d' in AM_YFLAGS,
   3704 	we can rely on it to compile and ship the parser header
   3705 	files.
   3706 
   3707 	Based on commit 737406a32c201471699bfa0843d1f432f3ec29ab and
   3708 	commit 3d6ca339083c278d907c9f030f4ba6bc5ecb07f2.
   3709 
   3710 2012-02-14  Akim Demaille  <demaille (a] gostai.com>
   3711 
   3712 	maint: more authors.
   3713 	* AUTHORS: here.
   3714 	Suggested by Tys Lefering.
   3715 
   3716 2012-02-14  Akim Demaille  <demaille (a] gostai.com>
   3717 
   3718 	maint: add license headers.
   3719 	* examples/calc++/test, examples/variant.yy, AUTHORS, THANKS,
   3720 	* tests/atlocal.in, tests/bison.in: Add license headers.
   3721 	Reported by Tys Lefering.
   3722 
   3723 2012-02-14  Akim Demaille  <demaille (a] gostai.com>
   3724 
   3725 	maint: remove obsolete file.
   3726 	* etc/make-ChangeLogs: Remove (used for rcs to cvs migration!).
   3727 	Reported by Tys Lefering.
   3728 
   3729 2012-02-08  Akim Demaille  <demaille (a] gostai.com>
   3730 
   3731 	use a more consistent quoting style.
   3732 	See <http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html>.
   3733 	Use quotearg as often as possible instead of leaving the choice of
   3734 	the quotes to the translators.  Use shorter messages.  Factor similar
   3735 	messages to a single format, to make localization easier.
   3736 
   3737 	* src/files.c, src/getargs.c, src/muscle-tab.c, src/reader.c
   3738 	* src/scan-code.l, src/scan-gram.l, src/symtab.c:
   3739 	Use quote() or quotearg_colon() on printf arguments instead of
   3740 	quotes in the format string.
   3741 	* data/bison.m4: Keep sync with the changes in muscle-tab.c.
   3742 
   3743 	* tests/skeletons.at, tests/input.at, tests/regression.at: Adjust
   3744 	expected messages.
   3745 
   3746 2012-01-31  Akim Demaille  <demaille (a] gostai.com>
   3747 
   3748 	maint: remove stray debug code.
   3749 	* src/Makefile.am (echo): Remove.
   3750 
   3751 2012-01-31  Akim Demaille  <demaille (a] gostai.com>
   3752 
   3753 	maint: space changes.
   3754 	* src/Makefile.am: Use 2 leading spaces for variable definition
   3755 	spreading over several lines.
   3756 
   3757 2012-01-31  Akim Demaille  <demaille (a] gostai.com>
   3758 
   3759 	maint: more silent-rules.
   3760 	* doc/local.mk, src/local.mk, examples/calc++/Makefile.am: Use
   3761 	$(AM_V_GEN) and $(AM_V_at) where appropriate.
   3762 
   3763 2012-01-31  Jim Meyering  <meyering (a] redhat.com>
   3764 
   3765 	do not ignore errors like ENOSPC,EIO when writing to stdout
   3766 	Standard output was never explicitly closed, so we could not
   3767 	detect failure.  Thus, bison would ignore the errors of writing
   3768 	to a full file system and getting an I/O error on write, but only
   3769 	for standard output, e.g., for --print-localedir, --print-datadir,
   3770 	--help and some verbose output.
   3771 	Now, "bison --print-datadir > /dev/full" reports the write failure:
   3772 	bison: write error: No space left on device
   3773 	Before, it would exit 0 with no diagnostic, implying success.
   3774 	This is not an issue for "--output=-" or the other FILE-accepting
   3775 	command-line options, because unlike most other GNU programs,
   3776 	an output file argument of "-" is treated as the literal "./-",
   3777 	rather than standard output.
   3778 	* bootstrap.conf (gnulib_modules): Add closeout.
   3779 	* src/main.c: Include "closeout.h".
   3780 	Use atexit to ensure we close stdout.
   3781 	* .gitignore: Ignore new files pulled in via gnulib-tool.
   3782 
   3783 2012-01-26  Akim Demaille  <demaille (a] gostai.com>
   3784 
   3785 	tests: fix expected output.
   3786 	* tests/actions.at (YYBACKUP): here.
   3787 
   3788 2012-01-26  Akim Demaille  <demaille (a] gostai.com>
   3789 
   3790 	yacc: fix YYBACKUP.
   3791 	Reported by David Kastrup:
   3792 	https://lists.gnu.org/archive/html/bug-bison/2011-10/msg00002.html.
   3793 
   3794 	* data/yacc.c (YYBACKUP): Accept rhs size.
   3795 	Restore the proper state value.
   3796 	* TODO (YYBACKUP): Make it...
   3797 	* tests/actions.at: a new test case.
   3798 	* NEWS, THANKS: Update.
   3799 
   3800 2012-01-26  Akim Demaille  <demaille (a] gostai.com>
   3801 
   3802 	maint: update TODO.
   3803 	* TODO (Labeling the symbols): Remove, it's done ("Name references").
   3804 
   3805 2012-01-26  Akim Demaille  <demaille (a] gostai.com>
   3806 
   3807 	maint: update THANKS.
   3808 	* THANKS: Update Tys's address, on his request.
   3809 
   3810 2012-01-26  Akim Demaille  <demaille (a] gostai.com>
   3811 
   3812 	maint: fix --gcc-warnings support.
   3813 	* configure.ac: Use enable_gcc_warnings instead of enableval,
   3814 	which is valid only with AC_ARG_ENABLE.
   3815 
   3816 2012-01-26  Akim Demaille  <demaille (a] gostai.com>
   3817 
   3818 	maint: silent-rules.
   3819 	* configure.ac: Ask for silent-rules support.
   3820 	Enable it by default.
   3821 
   3822 2012-01-26  Akim Demaille  <demaille (a] gostai.com>
   3823 
   3824 	maint: remove trailing blanks.
   3825 	* src/scan-code.l: Here.
   3826 
   3827 2012-01-25  Paul Eggert  <eggert (a] cs.ucla.edu>
   3828 
   3829 	tests: port to Solaris 10 'diff -u'
   3830 	* tests/regression.at (parse-gram.y: LALR = IELR): Port to Solaris 10,
   3831 	where "diff -u X X" outputs "No differences encountered"
   3832 	instead of outputting nothing.  Reported by Tomohiro Suzuki in
   3833 	<http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00101.html>.
   3834 
   3835 2012-01-25  Jim Meyering  <meyering (a] redhat.com>
   3836 
   3837 	build: avoid possibly-replaced fprintf in liby-source, yyerror.c
   3838 	* lib/yyerror.c (yyerror): Use fputs and fputc rather than fprintf
   3839 	with a mere "%s\n" format.  Always return 0 now, on the assumption
   3840 	that the return value was never used anyway.
   3841 	Don't include <config.h> after all.  This avoids a problem
   3842 	reported by Thiru Ramakrishnan in
   3843 	http://lists.gnu.org/archive/html/help-bison/2011-11/msg00000.html
   3844 	* cfg.mk: Exempt lib/yyerror.c from the sc_require_config_h_first test.
   3845 	* THANKS: Update.
   3846 
   3847 2012-01-24  Jim Meyering  <meyering (a] redhat.com>
   3848 
   3849 	maint: generate ChangeLog from git log
   3850 	* Makefile.am (gen-ChangeLog): New rule.
   3851 	(dist-hook): Depend on it.
   3852 	(EXTRA_DIST): Distribute the two ChangeLog-* files.
   3853 	* bootstrap.conf (gnulib_modules): Add gitlog-to-changelog.
   3854 	(bootstrap_post_import_hook): Ensure that ChangeLog exists.
   3855 	* build-aux/git-log-fix: New file.
   3856 	* ChangeLog-2012: Renamed ...
   3857 	* ChangeLog: ... from this.
   3858 	* ChangeLog-1998: Renamed ...
   3859 	* OChangeLog: ...from this
   3860 	* .gitignore: Add ChangeLog.
   3861 
   3862 2012-01-24  Jim Meyering  <meyering (a] redhat.com>
   3863 
   3864 	change more quotes in source, and adjust tests to match
   3865 	Run this command to change each `%s' to '%s' in source directories:
   3866 	  git grep -l '`%s'\' src djgpp data \
   3867 	    |xargs perl -pi -e '$q="'\''";s/`%s$q/$q%s$q/g'
   3868 	* data/bison.m4: Affected per the above.
   3869 	* djgpp/subpipe.c: Likewise.
   3870 	* src/files.c: Likewise.
   3871 	* src/getargs.c: Likewise.
   3872 	* src/muscle-tab.c: Likewise.
   3873 	* src/reader.c: Likewise.
   3874 	* tests/glr-regression.at: Adjust to match.
   3875 	* tests/input.at: Likewise.
   3876 	* tests/push.at: Likewise.
   3877 	* tests/skeletons.at: Likewise.
   3878 
   3879 2012-01-23  Jim Meyering  <meyering (a] redhat.com>
   3880 
   3881 	quote consistently and make tests pass with new quoting from gnulib
   3882 	Updating to gnulib pulled in new quote and quotarg modules,
   3883 	by which quoting is now done like 'this' rather than `this'.
   3884 	That change induces many "make check" test failures.  This change
   3885 	adapts code and tests so that "make check" passes once again.
   3886 	* src/scan-code.l: Quote like 'this', not like `this'.
   3887 	* src/scan-gram.l: Likewise.
   3888 	* src/symtab.c: Likewise.
   3889 	* tests/actions.at: Adjust tests to match.
   3890 	* tests/input.at: Likewise.
   3891 	* tests/named-refs.at: Likewise.
   3892 	* tests/output.at: Likewise.
   3893 	* tests/regression.at: Likewise.
   3894 	* lib/.gitignore: Regenerate.
   3895 	* m4/.gitignore: Likewise.
   3896 
   3897 2012-01-23  Jim Meyering  <meyering (a] redhat.com>
   3898 
   3899 	build: update gnulib and autoconf submodules to latest (cherry picked from commit 728415f885e5cb8e518c8576fa6e1f541e384130)
   3900 
   3901 2012-01-23  Jim Meyering  <meyering (a] redhat.com>
   3902 
   3903 	build: manually update bootstrap from gnulib, and adapt
   3904 	Updating to the latest bootstrap from gnulib involves more of a
   3905 	change than usual, and updating to the latest gnulib would involve
   3906 	its own set of challenges with the upcoming quoting changes, so
   3907 	we update bootstrap manually and separately.
   3908 	* bootstrap: Update from gnulib.
   3909 	* lib/Makefile.am: Initialize more variables to empty, so that gnulib.mk
   3910 	can append to them with "+=".
   3911 	* bootstrap.conf (gnulib_mk_hook): Remove.  No longer honored.
   3912 	(gnulib_tool_option_extras): Generate gnulib.mk.
   3913 
   3914 2012-01-23  Jim Meyering  <meyering (a] redhat.com>
   3915 
   3916 	maint: include <config.h> first
   3917 	* cfg.mk (exclude_file_name_regexp--sc_require_config_h_first):
   3918 	Exempt data/glr.c and data/yacc.c from the include-config.h-first
   3919 	requirement.
   3920 
   3921 2012-01-23  Jim Meyering  <meyering (a] redhat.com>
   3922 
   3923 	build: include <config.h> from lib/yyerror.c
   3924 	* lib/yyerror.c: Include <config.h>.
   3925 
   3926 2012-01-23  Jim Meyering  <meyering (a] redhat.com>
   3927 
   3928 	maint: list djgpp/subpipe.c in po/POTFILES.in
   3929 	* po/POTFILES.in: Add djgpp/subpipe.c.
   3930 
   3931 2012-01-23  Jim Meyering  <meyering (a] redhat.com>
   3932 
   3933 	maint: placate the space-TAB syntax-check
   3934 	* cfg.mk (exclude_file_name_regexp--sc_space_tab): Exempt
   3935 	tests/input.at and tests/c++.at, since they appear to use
   3936 	SP-TAB sequences deliberately.
   3937 	* OChangeLog: Remove space-before-TAB.
   3938 
   3939 2012-01-23  Jim Meyering  <meyering (a] redhat.com>
   3940 
   3941 	doc: correct typo: s/can not/cannot/
   3942 	* doc/bison.texinfo (Bug Reports): s/can not/cannot/
   3943 	And remove trailing blanks.
   3944 
   3945 2012-01-22  Jim Meyering  <meyering (a] redhat.com>
   3946 
   3947 	maint: get gpl-3.0 from gnulib
   3948 	* bootstrap.conf (gnulib_modules): Add gpl-3.0.
   3949 	* doc/gpl-3.0.texi: Remove from version control, now that
   3950 	we get it via gnulib.
   3951 	* doc/.gitignore: Ignore it.
   3952