maint: post-release administrivia

* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
maint: cfg.mk: simplify

* cfg.mk: Remove bits provided by maint.mk.
maint: cfg.mk: manual title.

* cfg.mk (manuel_title): New.
gnulib: update readme-release.

* gnulib (readme-release): Now includes the modules it promotes.
* bootstrap.conf: Simplify accordingly.
maint: improve release procedure instructions.

* gnulib: Update, in particular (README-release).
* bootstrap.conf: don't require gendocs, provided by gnu-web-doc-update,
provided by readme-release.
* README-hacking: Update accordingly.
maint: fix spello.

* README-hacking: Here.
* THANKS: Reported by Gilles Espinasse.
tests: remove all the -On flags.

* tests/atlocal.in: Here.
Reported by Gilles Espinasse.
glr.c: minor refactoring.

* data/glr.c (b4_shared_declarations): Move from the generated file
section, to the M4 prologue.
skeletons: factor yacc.c and glr.c.

yacc.c and glr.c share common declarations.  Their YYLTYPE are exactly
equal, and their YYSTYPE are sufficiently alike to be fused (its
declaration was protected by YYSTYPE_IS_DECLARED in yacc.c, but not in
glr.c).  Besides, yacc.c duplicated the definitions of YYLTYPE and
YYSTYPE (*.h/*.c).

* data/c.m4 (b4_declare_yylstype): New.
* data/yacc.c, data/glr.c: Use it.
Merge remote-tracking branch 'origin/maint'

* origin/maint:
  skeletons: factor yacc.c and glr.c.
  glr.c: minor refactoring.
  tests: remove all the -On flags.
  maint: fix spello.
  maint: improve release procedure instructions.
  gnulib: update readme-release.
  maint: cfg.mk: manual title.
  maint: cfg.mk: simplify
  maint: post-release administrivia

Conflicts:
	NEWS
	bootstrap.conf
lalr1.cc: spello.

* data/lalr1.cc: Reported by Gilles Espinasse.
cosmetics: prettify names for compiled object for bison

* src/local.mk (src_bison_SHORTNAME): Define to "bison".

Copyright-paperwork-exempt: yes
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
yacc.c: factor.

yacc.c used to include two almost identical sections: one for the *.h
file, and another for the *.c file.  The main difference is that in
the *.c file we used the yy* names (as %name-prefix is handled by
"#define yy* <prefix>*" before), while the *.hh used <prefix>* names.
Keep only the later.  If this is troublesome, b4_shared_declarations
can easily take the desired prefix as argument.

* data/yacc.c (b4_shared_declarations): New.
Use it to factor duplicated declarations.
maint: space changes

* configure.ac, src/complain.c: space changes.
maint: xfdopen, and scope reduction.

* src/files.h, src/files.c (xfdopen): New.
* src/output.c (output_skeleton): Use it.
Reduce the scope of argv.
yacc.c: instead of duplicating y.tab.h inside y.tac.c, include it.

This is already what glr.c and lalr1.cc do.

* data/yacc.c: here.
tests: strengthen the test on generated headers inclusion

* tests/headers.at (AT_TEST_CPP_GUARD_H): Accept Bison directives.
(Invalid CPP headers): Check glr.
tests: reorder.

* tests/calc.at (power): Move its definition, as a preparation for
forthcoming changes.
And space changes.
tests: improve AT_FULL_COMPILE.

* tests/local.at: Accept a third argument.
Simplify quotation pattern.
Calls for better refactoring, but will suffice for a while.
skeletons: use header guards.

* data/glr.c, data/glr.cc, data/yacc.c: here.
* NEWS: Document it.