]> git.saurik.com Git - bison.git/log
bison.git
12 years agoexamples: factor the test suite.
Akim Demaille [Fri, 17 Feb 2012 13:59:23 +0000 (14:59 +0100)] 
examples: factor the test suite.

* examples/mfcalc/test, examples/calc++/test: Extract the
common bits into...
* examples/test: here.
(cwd): New.
Use it to avoid a race on the temporary directory.
Reported by Jim Meyering.
* examples/mfcalc/test, examples/calc++/test: Rename into...
* examples/mfcalc/mfcalc.test, examples/calc++/calc++.test: these.
* examples/calc++/local.mk, examples/mfcalc/local.mk,
* examples/local.mk: Adjust.

12 years agoexamples: fix the test suites.
Akim Demaille [Fri, 17 Feb 2012 09:12:06 +0000 (10:12 +0100)] 
examples: fix the test suites.

* examples/calc++/test, examples/mfcalc/test (me): Be more
meaningfull: include the example name.
(prog): Factor.
(run): Avoid printf, use echo.
Add missing parens.
(cleanup): New.
Call it on trap.
Remove the previous "rm" that did the cleanup.
Move into a private directory to avoid concurrency issues.
Reported by Jim Meyering.

12 years agoexamples: link mfcalc with -lm for uses of pow, cos, atan, etc.
Jim Meyering [Fri, 17 Feb 2012 07:36:57 +0000 (08:36 +0100)] 
examples: link mfcalc with -lm for uses of pow, cos, atan, etc.

* examples/mfcalc/local.mk (examples_mfcalc_mfcalc_LDADD): Define.

12 years agomfcalc: extract and exercise.
Akim Demaille [Thu, 16 Feb 2012 14:44:43 +0000 (15:44 +0100)] 
mfcalc: extract and exercise.

* examples/mfcalc/local.mk, examples/mfcalc/test: New,
based on calc++'s ones.
* examples/local.mk: Include mfcalc/local.mk.

12 years agocalc++: factor for other extracted tests.
Akim Demaille [Thu, 16 Feb 2012 14:27:03 +0000 (15:27 +0100)] 
calc++: factor for other extracted tests.

* Makefile.am (TESTS, check_PROGRAMS): Initialize here.
* examples/local.mk (doc, extexi): Define here.
* examples/calc++/local.mk: Adjust accordingly.
* configure.ac: Ask for parallel-tests (for the way the logs
are handled).
* examples/calc++/test: As a consequence, always be verbose.
($prog): New.
(run): Use it.
Sort the tests in a more natural order (simplest first).

12 years agodoc: mfcalc: send errors to stderr.
Akim Demaille [Thu, 16 Feb 2012 14:11:13 +0000 (15:11 +0100)] 
doc: mfcalc: send errors to stderr.

* doc/bison.texinfo (Mfcalc Lexer): New.
(Mfcalc Main): Move the definition of main and yyerror here, for
clarity.
Let yyerror report on stderr.

12 years agodoc: fix mfcalc code.
Akim Demaille [Thu, 16 Feb 2012 14:07:23 +0000 (15:07 +0100)] 
doc: fix mfcalc code.

* doc/bison.texinfo (Multi-function Calc): Add missing includes.
Fix the rendering of the result: use @result and remove the
initial tabulation in the actual code.
Fix stylistic issues: avoid the , operator.
Add extexi mark-up.
* examples/extexi: Also support @smallexample.

12 years agotests: c++: stylistic changes.
Akim Demaille [Thu, 16 Feb 2012 14:51:35 +0000 (15:51 +0100)] 
tests: c++: stylistic changes.

* tests/c++.at: Don't use void for incoming arguments.
Prefer cstdlib to stdlib.h.

12 years agotests: avoid c++ failure due to lack of getenv decl
Jim Meyering [Thu, 16 Feb 2012 10:03:31 +0000 (11:03 +0100)] 
tests: avoid c++ failure due to lack of getenv decl

* tests/c++.at (Syntax error as exception): Avoid spurious failure
at least when compiling with g++-4.7.x due to lack of declaration
of getenv.  Include <stdlib.h>.

12 years agomaint: rely on Automake for parsers.
Akim Demaille [Wed, 15 Feb 2012 12:36:24 +0000 (13:36 +0100)] 
maint: rely on Automake for parsers.

* Makefile.am (AM_YFLAGS): Automake looks for "-d" alone.
Move other options in here.
(BISON): New.
(YACC): Use it.
(bison_SOURCES): Now that automake can see `-d' in AM_YFLAGS,
we can rely on it to compile and ship the parser header
files.

Based on commit 737406a32c201471699bfa0843d1f432f3ec29ab and
commit 3d6ca339083c278d907c9f030f4ba6bc5ecb07f2.

12 years agomaint: trust Automake for parser headers.
Akim Demaille [Wed, 15 Feb 2012 12:32:07 +0000 (13:32 +0100)] 
maint: trust Automake for parser headers.

* examples/calc++/local.mk, src/local.mk: Now that automake
can see `-d' in AM_YFLAGS, we can rely on it to compile
and ship the parser header files.

12 years agomaint: help Automake reading Yacc flags.
Akim Demaille [Wed, 15 Feb 2012 11:53:34 +0000 (12:53 +0100)] 
maint: help Automake reading Yacc flags.

* Makefile.am (AM_YFLAGS): Automake looks for "-d" alone.

12 years agocalc++: rely on Automake.
Akim Demaille [Tue, 14 Feb 2012 16:32:51 +0000 (17:32 +0100)] 
calc++: rely on Automake.

Rely on $(YACC) being the bison being built, and let Automake do the
rest.  It turned out to be much more difficult than anticipated, for
various reasons, including some bad behavior from Automake 1.11.2
which (i) generates calc++-parser.h instead of calc++-parser.hh, and
(ii) leaves an #include "y.tab.h" in the generated parser instead
of #include "calc++-parser.h".

The authors of Automake appear to be aware of the problem,
http://lists.gnu.org/archive/html/automake/2011-05/msg00008.html
so a simple work around will suffice for the time being.

* examples/calc++/y.tab.h, examples/calc++/calc++-parser.hh: New.
To work around Automake 1.11.2 issues.
* examples/calc++/local.mk: Remove all the rules for compilation
with bison, leave them to Automake.
So provide it with "calc++-parse.yy" as a source file.
(calc_sources_generated, calc_sources_extracted): Rename as.
(calc_generated, calc_extracted): these.
(calc_sources): New.
Fix them.

12 years agomaint: tidy the Makefile a bit.
Akim Demaille [Tue, 14 Feb 2012 16:27:15 +0000 (17:27 +0100)] 
maint: tidy the Makefile a bit.

* src/local.mk: Put yacc related variables together.
(AUTOMAKE_OPTIONS): Move to...
* Makefile.am: here.
Remove an old Emacs mode request which disables Automake support.
* src/local.mk (YACC, AM_YFLAGS): Move to...
* Makefile.am: here, as they will be used by other local.mks.

12 years agomaint: de-recurse the handling of examples
Akim Demaille [Mon, 13 Feb 2012 17:23:45 +0000 (18:23 +0100)] 
maint: de-recurse the handling of examples

The directory was still using a local Makefile.am because it provides
"scoped" Make variables: these examples are not meant to use the same
CPPFLAGS etc.  If we were to use the same -I set, we'd pick up
gnulib's stdio.h for instance, which we do not want for these simple
examples.

Yet, as a result, the dependencies are less accurate, there is code
duplication, etc.  This is especially perceptible when trying to
extract more examples from the documentation, as will be done in
forthcoming changes.

In order to make the tuning of CPPFLAGS easier, discard the predefined
-I from Automake.

* examples/calc++/Makefile.am: Rename as...
* examples/calc++/local.mk: this.
Adjust the paths which are now rooted in top_srcdir/top_builddir.
Handle BISON_CXX_WORKS here, instead of the too crude previous
approach that completely discarded the whole directory.
($(BISON)): Remove now useless bouncing recipe.
(calc___CPPFLAGS): New.
Stay away from -Ilib.
* Makefile.am, configure.ac, examples/local.mk,
* examples/calc++/test: Adjust.

* configure.ac: Pass nostdinc to Automake.
* src/local.mk, lib/local.mk (AM_CPPFLAGS): Move to...
* Makefile.am: here.

* src/local.mk, examples/calc++/Makefile.am (BISON, BISON_IN): Factor
to...
* Makefile.am: here.
* tests/local.mk: Use it.

12 years agovariant: fix the example.
Akim Demaille [Tue, 14 Feb 2012 11:05:26 +0000 (12:05 +0100)] 
variant: fix the example.

* examples/variant.yy: Adjust to "assert" being now
"parse.assert".

12 years agomaint: more authors.
Akim Demaille [Mon, 13 Feb 2012 12:45:50 +0000 (13:45 +0100)] 
maint: more authors.

* AUTHORS: here.
Suggested by Tys Lefering.
(cherry picked from commit bdf66d1db4b82872076197998ddcfafbed306268)

12 years agomaint: add license headers.
Akim Demaille [Mon, 13 Feb 2012 12:39:23 +0000 (13:39 +0100)] 
maint: add license headers.

* examples/calc++/test, examples/variant.yy, AUTHORS, THANKS,
* tests/atlocal.in, tests/bison.in: Add license headers.
Reported by Tys Lefering.
(cherry picked from commit 3272a7256f893399bbbc4b84e6181c71002f3fd8)

Conflicts:

examples/variant.yy
tests/bison.in

12 years agomaint: remove obsolete file.
Akim Demaille [Sat, 11 Feb 2012 13:50:54 +0000 (14:50 +0100)] 
maint: remove obsolete file.

* etc/make-ChangeLogs: Remove (used for rcs to cvs migration!).
Reported by Tys Lefering.
(cherry picked from commit 3b4d62d5269c50231c9a209dd15820ccba21f5e7)

12 years agomaint: more authors.
Akim Demaille [Mon, 13 Feb 2012 12:45:50 +0000 (13:45 +0100)] 
maint: more authors.

* AUTHORS: here.
Suggested by Tys Lefering.

12 years agomaint: add license headers.
Akim Demaille [Mon, 13 Feb 2012 12:39:23 +0000 (13:39 +0100)] 
maint: add license headers.

* examples/calc++/test, examples/variant.yy, AUTHORS, THANKS,
* tests/atlocal.in, tests/bison.in: Add license headers.
Reported by Tys Lefering.

12 years agomaint: remove obsolete file.
Akim Demaille [Sat, 11 Feb 2012 13:50:54 +0000 (14:50 +0100)] 
maint: remove obsolete file.

* etc/make-ChangeLogs: Remove (used for rcs to cvs migration!).
Reported by Tys Lefering.

12 years agolalr1.cc: also handle syntax_error when calling yylex.
Akim Demaille [Thu, 30 Jun 2011 12:10:21 +0000 (14:10 +0200)] 
lalr1.cc: also handle syntax_error when calling yylex.

* data/lalr1.cc (parse): Catch syntax_error around yylex and
forward them to errlab1.
* tests/c++.at (Syntax error as exception): Check support for
syntax exceptions raised by the scanner.
* NEWS, doc/bison.texinfo: Document it.

12 years agotests: lalr1.cc: check syntax_error.
Akim Demaille [Thu, 9 Feb 2012 09:34:00 +0000 (10:34 +0100)] 
tests: lalr1.cc: check syntax_error.

* tests/c++.at (Syntax error as exception): New.

12 years agotests: don't require locations uselessly.
Akim Demaille [Thu, 9 Feb 2012 09:04:32 +0000 (10:04 +0100)] 
tests: don't require locations uselessly.

* tests/c++.at (Syntax error discarding no lookahead): Contrary to
2.5, C++ parsers can work without locations.

12 years agomaint: more silent rules.
Akim Demaille [Thu, 9 Feb 2012 13:09:23 +0000 (14:09 +0100)] 
maint: more silent rules.

* tests/local.mk (TESTSUITE_AT): Include plackage.m4.
Adjust dependencies.
Make testsuite.at its first argument.
(package.m4): Be silent.
(testsuite): Be silent.
Use $<.

12 years agoskeletons: simplify the protections against "unused" warnings.
Akim Demaille [Thu, 9 Feb 2012 13:02:22 +0000 (14:02 +0100)] 
skeletons: simplify the protections against "unused" warnings.

* data/c.m4 (b4_parse_param_use): Also accept optional arguments
to "use".
Simplify callers.
* data/glr.c (yyuserAction): Simplify use of b4_parse_param_use.
(yy_reduce_print): Don't use b4_parse_param_use, as all the arguments
_are_ used.
* data/lalr1.cc (YY_SYMBOL_PRINT): Even when disabled, "use" the
symbol argument.
This neutralizes a warning in yypush_ when there are no symbols
with a semantic values.
(yy_destroy_): Remove useless "use" of yymsg.

12 years agoglr: formatting changes.
Akim Demaille [Thu, 9 Feb 2012 12:30:37 +0000 (13:30 +0100)] 
glr: formatting changes.

* data/glr.c: Split long strings.

12 years agouse a more consistent quoting style.
Akim Demaille [Wed, 8 Feb 2012 09:28:58 +0000 (10:28 +0100)] 
use a more consistent quoting style.

See <http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html>.
Use quotearg as often as possible instead of leaving the choice of
the quotes to the translators.  Use shorter messages.  Factor similar
messages to a single format, to make localization easier.

* src/files.c, src/getargs.c, src/muscle-tab.c, src/reader.c
* src/scan-code.l, src/scan-gram.l, src/symtab.c:
Use quote() or quotearg_colon() on printf arguments instead of
quotes in the format string.
* data/bison.m4: Keep sync with the changes in muscle-tab.c.

* tests/skeletons.at, tests/input.at, tests/regression.at: Adjust
expected messages.
(cherry picked from commit 4a9cd8f24abba232b4a07ccdda4c6f109d27acac)

Conflicts:

src/muscle-tab.c

12 years agouse a more consistent quoting style.
Akim Demaille [Wed, 8 Feb 2012 09:28:58 +0000 (10:28 +0100)] 
use a more consistent quoting style.

See <http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html>.
Use quotearg as often as possible instead of leaving the choice of
the quotes to the translators.  Use shorter messages.  Factor similar
messages to a single format, to make localization easier.

* src/files.c, src/getargs.c, src/muscle-tab.c, src/reader.c
* src/scan-code.l, src/scan-gram.l, src/symtab.c:
Use quote() or quotearg_colon() on printf arguments instead of
quotes in the format string.
* data/bison.m4: Keep sync with the changes in muscle-tab.c.

* tests/skeletons.at, tests/input.at, tests/regression.at: Adjust
expected messages.

12 years agomaint: reenable sc_m4_quote_check
Jim Meyering [Sun, 29 Jan 2012 20:26:43 +0000 (21:26 +0100)] 
maint: reenable sc_m4_quote_check

* cfg.mk (local-checks-to-skip): Reenable sc_m4_quote_check.
* m4/dmalloc.m4: Add quotes.

12 years agomaint: force "make syntax-check" to pass by skipping failing tests
Jim Meyering [Sat, 28 Jan 2012 16:11:43 +0000 (17:11 +0100)] 
maint: force "make syntax-check" to pass by skipping failing tests

* cfg.mk (local-checks-to-skip): Skip all currently-failing tests.
Remove changelog-check; it's long gone.

12 years agomaint: remove stray debug code.
Akim Demaille [Tue, 31 Jan 2012 08:42:56 +0000 (09:42 +0100)] 
maint: remove stray debug code.

* src/Makefile.am (echo): Remove.

12 years agomaint: space changes.
Akim Demaille [Tue, 31 Jan 2012 08:42:04 +0000 (09:42 +0100)] 
maint: space changes.

* src/Makefile.am: Use 2 leading spaces for variable definition
spreading over several lines.

12 years agomaint: more silent-rules.
Akim Demaille [Mon, 30 Jan 2012 15:21:13 +0000 (16:21 +0100)] 
maint: more silent-rules.

* doc/local.mk, src/local.mk, examples/calc++/Makefile.am: Use
$(AM_V_GEN) and $(AM_V_at) where appropriate.
(cherry picked from commit f67c0a1c35cbc342e1c1b2201aa563b17c26e3b1)

Conflicts:

doc/local.mk
examples/calc++/Makefile.am
src/local.mk

12 years agodo not ignore errors like ENOSPC,EIO when writing to stdout
Jim Meyering [Sun, 29 Jan 2012 11:50:32 +0000 (12:50 +0100)] 
do not ignore errors like ENOSPC,EIO when writing to stdout

Standard output was never explicitly closed, so we could not
detect failure.  Thus, bison would ignore the errors of writing
to a full file system and getting an I/O error on write, but only
for standard output, e.g., for --print-localedir, --print-datadir,
--help and some verbose output.
Now, "bison --print-datadir > /dev/full" reports the write failure:
bison: write error: No space left on device
Before, it would exit 0 with no diagnostic, implying success.
This is not an issue for "--output=-" or the other FILE-accepting
command-line options, because unlike most other GNU programs,
an output file argument of "-" is treated as the literal "./-",
rather than standard output.
* bootstrap.conf (gnulib_modules): Add closeout.
* src/main.c: Include "closeout.h".
Use atexit to ensure we close stdout.
* .gitignore: Ignore new files pulled in via gnulib-tool.
(cherry picked from commit acb5895680611f8beb497b41694d9686f2932c50)

Conflicts:

m4/.gitignore

12 years agomaint: more silent-rules.
Akim Demaille [Mon, 30 Jan 2012 15:21:13 +0000 (16:21 +0100)] 
maint: more silent-rules.

* doc/local.mk, src/local.mk, examples/calc++/Makefile.am: Use
$(AM_V_GEN) and $(AM_V_at) where appropriate.

12 years agodo not ignore errors like ENOSPC,EIO when writing to stdout
Jim Meyering [Sun, 29 Jan 2012 11:50:32 +0000 (12:50 +0100)] 
do not ignore errors like ENOSPC,EIO when writing to stdout

Standard output was never explicitly closed, so we could not
detect failure.  Thus, bison would ignore the errors of writing
to a full file system and getting an I/O error on write, but only
for standard output, e.g., for --print-localedir, --print-datadir,
--help and some verbose output.
Now, "bison --print-datadir > /dev/full" reports the write failure:
bison: write error: No space left on device
Before, it would exit 0 with no diagnostic, implying success.
This is not an issue for "--output=-" or the other FILE-accepting
command-line options, because unlike most other GNU programs,
an output file argument of "-" is treated as the literal "./-",
rather than standard output.
* bootstrap.conf (gnulib_modules): Add closeout.
* src/main.c: Include "closeout.h".
Use atexit to ensure we close stdout.
* .gitignore: Ignore new files pulled in via gnulib-tool.

12 years agotests: fix expected output.
Akim Demaille [Thu, 26 Jan 2012 20:52:44 +0000 (21:52 +0100)] 
tests: fix expected output.

* tests/actions.at (YYBACKUP): here.
(cherry picked from commit 888b6ddfe44ee87ddc6bd77b960dde820c53f105)

12 years agotests: fix expected output.
Akim Demaille [Thu, 26 Jan 2012 20:52:44 +0000 (21:52 +0100)] 
tests: fix expected output.

* tests/actions.at (YYBACKUP): here.

12 years agomaint: fix configure.ac
Akim Demaille [Thu, 26 Jan 2012 20:37:15 +0000 (21:37 +0100)] 
maint: fix configure.ac

Fix commit 1890a2a816dab86c23cc1d0af8fac3986335deb7.

* configure.ac: Fix variable assignment.

12 years agoyacc: fix YYBACKUP.
Akim Demaille [Wed, 25 Jan 2012 15:57:58 +0000 (16:57 +0100)] 
yacc: fix YYBACKUP.

Reported by David Kastrup:
https://lists.gnu.org/archive/html/bug-bison/2011-10/msg00002.html.

* data/yacc.c (YYBACKUP): Accept rhs size.
Restore the proper state value.
* TODO (YYBACKUP): Make it...
* tests/actions.at: a new test case.
* NEWS, THANKS: Update.
(cherry picked from commit d115aad9112fb4e2fe1b268c9db7390732d39539)

Conflicts:

TODO
data/yacc.c

12 years agomaint: update TODO.
Akim Demaille [Wed, 25 Jan 2012 15:36:03 +0000 (16:36 +0100)] 
maint: update TODO.

* TODO (Labeling the symbols): Remove, it's done ("Name references").
(cherry picked from commit 2c7f50be6247b4a03bdb27936ea6185cb6a7443c)

12 years agomaint: update THANKS.
Akim Demaille [Wed, 25 Jan 2012 12:25:22 +0000 (13:25 +0100)] 
maint: update THANKS.

* THANKS: Update Tys's address, on his request.
(cherry picked from commit 93ebddb11f3aca5aeb7d2337c6b54a652f08384f)

12 years agomaint: fix --gcc-warnings support.
Akim Demaille [Wed, 25 Jan 2012 12:04:43 +0000 (13:04 +0100)] 
maint: fix --gcc-warnings support.

* configure.ac: Use enable_gcc_warnings instead of enableval,
which is valid only with AC_ARG_ENABLE.
(cherry picked from commit 1890a2a816dab86c23cc1d0af8fac3986335deb7)

Conflicts:

configure.ac

12 years agomaint: silent-rules.
Akim Demaille [Wed, 25 Jan 2012 11:59:02 +0000 (12:59 +0100)] 
maint: silent-rules.

* configure.ac: Ask for silent-rules support.
Enable it by default.
(cherry picked from commit da1eb15bc9f2147359f5a4d9826303a53e08b447)

12 years agomaint: remove trailing blanks.
Akim Demaille [Thu, 26 Jan 2012 20:27:49 +0000 (21:27 +0100)] 
maint: remove trailing blanks.

* src/scan-code.l: Here.

12 years agoyacc: fix YYBACKUP.
Akim Demaille [Wed, 25 Jan 2012 15:57:58 +0000 (16:57 +0100)] 
yacc: fix YYBACKUP.

Reported by David Kastrup:
https://lists.gnu.org/archive/html/bug-bison/2011-10/msg00002.html.

* data/yacc.c (YYBACKUP): Accept rhs size.
Restore the proper state value.
* TODO (YYBACKUP): Make it...
* tests/actions.at: a new test case.
* NEWS, THANKS: Update.

12 years agomaint: update TODO.
Akim Demaille [Wed, 25 Jan 2012 15:36:03 +0000 (16:36 +0100)] 
maint: update TODO.

* TODO (Labeling the symbols): Remove, it's done ("Name references").

12 years agomaint: update THANKS.
Akim Demaille [Wed, 25 Jan 2012 12:25:22 +0000 (13:25 +0100)] 
maint: update THANKS.

* THANKS: Update Tys's address, on his request.

12 years agomaint: fix --gcc-warnings support.
Akim Demaille [Wed, 25 Jan 2012 12:04:43 +0000 (13:04 +0100)] 
maint: fix --gcc-warnings support.

* configure.ac: Use enable_gcc_warnings instead of enableval,
which is valid only with AC_ARG_ENABLE.

12 years agomaint: silent-rules.
Akim Demaille [Wed, 25 Jan 2012 11:59:02 +0000 (12:59 +0100)] 
maint: silent-rules.

* configure.ac: Ask for silent-rules support.
Enable it by default.

12 years agotests: port to Solaris 10 'diff -u'
Paul Eggert [Tue, 24 Jan 2012 21:54:12 +0000 (13:54 -0800)] 
tests: port to Solaris 10 'diff -u'

* tests/regression.at (parse-gram.y: LALR = IELR): Port to Solaris 10,
where "diff -u X X" outputs "No differences encountered"
instead of outputting nothing.  Reported by Tomohiro Suzuki in
<http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00101.html>.
(cherry picked from commit 071ca141ec7987a5eca782227ce70db434a206ab)

12 years agobuild: avoid possibly-replaced fprintf in liby-source, yyerror.c
Jim Meyering [Mon, 23 Jan 2012 10:47:46 +0000 (11:47 +0100)] 
build: avoid possibly-replaced fprintf in liby-source, yyerror.c

* lib/yyerror.c (yyerror): Use fputs and fputc rather than fprintf
with a mere "%s\n" format.  Always return 0 now, on the assumption
that the return value was never used anyway.
Don't include <config.h> after all.  This avoids a problem
reported by Thiru Ramakrishnan in
http://lists.gnu.org/archive/html/help-bison/2011-11/msg00000.html
* cfg.mk: Exempt lib/yyerror.c from the sc_require_config_h_first test.
* THANKS: Update.
(cherry picked from commit fb9eea88856d73a5f25295a52f6d4df7fabc565b)

12 years agotests: port to Solaris 10 'diff -u'
Paul Eggert [Tue, 24 Jan 2012 21:54:12 +0000 (13:54 -0800)] 
tests: port to Solaris 10 'diff -u'

* tests/regression.at (parse-gram.y: LALR = IELR): Port to Solaris 10,
where "diff -u X X" outputs "No differences encountered"
instead of outputting nothing.  Reported by Tomohiro Suzuki in
<http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00101.html>.

12 years agomaint: generate ChangeLog from git log
Jim Meyering [Thu, 19 Jan 2012 08:07:02 +0000 (09:07 +0100)] 
maint: generate ChangeLog from git log

* Makefile.am (gen-ChangeLog): New rule.
(dist-hook): Depend on it.
(EXTRA_DIST): Distribute the two ChangeLog-* files.
* bootstrap.conf (gnulib_modules): Add gitlog-to-changelog.
(bootstrap_post_import_hook): Ensure that ChangeLog exists.
* build-aux/git-log-fix: New file.
* ChangeLog-2012: Renamed ...
* ChangeLog: ... from this.
* ChangeLog-1998: Renamed ...
* OChangeLog: ...from this
* .gitignore: Add ChangeLog.
(cherry picked from commit 5ef4a3c71cfd6c07e71462944281c284780312c1)

Conflicts:

Makefile.am
bootstrap.conf
build-aux/.gitignore

12 years agochange more quotes in source, and adjust tests to match
Jim Meyering [Mon, 16 Jan 2012 18:36:41 +0000 (19:36 +0100)] 
change more quotes in source, and adjust tests to match

Run this command to change each `%s' to '%s' in source directories:
  git grep -l '`%s'\' src djgpp data \
    |xargs perl -pi -e '$q="'\''";s/`%s$q/$q%s$q/g'
* data/bison.m4: Affected per the above.
* djgpp/subpipe.c: Likewise.
* src/files.c: Likewise.
* src/getargs.c: Likewise.
* src/muscle-tab.c: Likewise.
* src/reader.c: Likewise.
* tests/glr-regression.at: Adjust to match.
* tests/input.at: Likewise.
* tests/push.at: Likewise.
* tests/skeletons.at: Likewise.
(cherry picked from commit 4aa9d1ff9ca9b838fe02a9bfe5ae4b0f935e5451)

Conflicts:

src/getargs.c
src/muscle-tab.c
src/reader.c
tests/input.at

12 years agoquote consistently and make tests pass with new quoting from gnulib
Jim Meyering [Mon, 16 Jan 2012 18:20:50 +0000 (19:20 +0100)] 
quote consistently and make tests pass with new quoting from gnulib

Updating to gnulib pulled in new quote and quotarg modules,
by which quoting is now done like 'this' rather than `this'.
That change induces many "make check" test failures.  This change
adapts code and tests so that "make check" passes once again.
* src/scan-code.l: Quote like 'this', not like `this'.
* src/scan-gram.l: Likewise.
* src/symtab.c: Likewise.
* tests/actions.at: Adjust tests to match.
* tests/input.at: Likewise.
* tests/named-refs.at: Likewise.
* tests/output.at: Likewise.
* tests/regression.at: Likewise.
* lib/.gitignore: Regenerate.
* m4/.gitignore: Likewise.
(cherry picked from commit ae93e4e4b8e78396a7707de3dcdd47aca7a46dec)

Conflicts:

src/scan-code.l
src/scan-gram.l
src/symtab.c
tests/output.at

12 years agobuild: avoid possibly-replaced fprintf in liby-source, yyerror.c
Jim Meyering [Mon, 23 Jan 2012 10:47:46 +0000 (11:47 +0100)] 
build: avoid possibly-replaced fprintf in liby-source, yyerror.c

* lib/yyerror.c (yyerror): Use fputs and fputc rather than fprintf
with a mere "%s\n" format.  Always return 0 now, on the assumption
that the return value was never used anyway.
Don't include <config.h> after all.  This avoids a problem
reported by Thiru Ramakrishnan in
http://lists.gnu.org/archive/html/help-bison/2011-11/msg00000.html
* cfg.mk: Exempt lib/yyerror.c from the sc_require_config_h_first test.
* THANKS: Update.

12 years agobuild: update gnulib and autoconf submodules to latest
Jim Meyering [Mon, 16 Jan 2012 16:28:06 +0000 (17:28 +0100)] 
build: update gnulib and autoconf submodules to latest
(cherry picked from commit 728415f885e5cb8e518c8576fa6e1f541e384130)

12 years agobuild: manually update bootstrap from gnulib, and adapt
Jim Meyering [Mon, 16 Jan 2012 11:29:19 +0000 (12:29 +0100)] 
build: manually update bootstrap from gnulib, and adapt

Updating to the latest bootstrap from gnulib involves more of a
change than usual, and updating to the latest gnulib would involve
its own set of challenges with the upcoming quoting changes, so
we update bootstrap manually and separately.
* bootstrap: Update from gnulib.
* lib/Makefile.am: Initialize more variables to empty, so that gnulib.mk
can append to them with "+=".
* bootstrap.conf (gnulib_mk_hook): Remove.  No longer honored.
(gnulib_tool_option_extras): Generate gnulib.mk.
(cherry picked from commit 85ad742d4e94345d5ac07755f6722344cfd49603)

Conflicts:

Makefile.am
bootstrap.conf
etc/prefix-gnulib-mk

12 years agomaint: include <config.h> first
Jim Meyering [Mon, 16 Jan 2012 11:18:46 +0000 (12:18 +0100)] 
maint: include <config.h> first

* cfg.mk (exclude_file_name_regexp--sc_require_config_h_first):
Exempt data/glr.c and data/yacc.c from the include-config.h-first
requirement.
(cherry picked from commit 77f114dd6e50ab39e0962f39ad9c2f2e1d347acf)

12 years agobuild: include <config.h> from lib/yyerror.c
Jim Meyering [Mon, 16 Jan 2012 11:16:24 +0000 (12:16 +0100)] 
build: include <config.h> from lib/yyerror.c

* lib/yyerror.c: Include <config.h>.
(cherry picked from commit cf33c228e08142e3ef715105a191db24ec980ca8)

12 years agomaint: list djgpp/subpipe.c in po/POTFILES.in
Jim Meyering [Mon, 16 Jan 2012 11:14:12 +0000 (12:14 +0100)] 
maint: list djgpp/subpipe.c in po/POTFILES.in

* po/POTFILES.in: Add djgpp/subpipe.c.
(cherry picked from commit e7f5dbf82d8b8110a8982d31d034755b5d072fdc)

12 years agomaint: placate the space-TAB syntax-check
Jim Meyering [Mon, 16 Jan 2012 10:58:41 +0000 (11:58 +0100)] 
maint: placate the space-TAB syntax-check

* cfg.mk (exclude_file_name_regexp--sc_space_tab): Exempt
tests/input.at and tests/c++.at, since they appear to use
SP-TAB sequences deliberately.
* OChangeLog: Remove space-before-TAB.
(cherry picked from commit aebc4303615a4431acaa54e42380feb6b63e7f12)

12 years agodoc: correct typo: s/can not/cannot/
Jim Meyering [Mon, 16 Jan 2012 10:42:55 +0000 (11:42 +0100)] 
doc: correct typo: s/can not/cannot/

* doc/bison.texinfo (Bug Reports): s/can not/cannot/
And remove trailing blanks.
(cherry picked from commit 411614fac478a60cf942dc5e2011a08178156d30)

Conflicts:

doc/bison.texinfo

12 years agobuild: generalize etc/prefix-gnulib-mk
Jim Meyering [Sat, 21 Jan 2012 21:43:09 +0000 (22:43 +0100)] 
build: generalize etc/prefix-gnulib-mk

This script hard-coded "libbison" and lib/gnulib.mk.
Adjust the script to require a --lib-name=$gnulib_name option
and a FILE argument like lib/$gnulib_mk.
Also add support for --help and --version.
* etc/prefix-gnulib-mk: Generalize.
* bootstrap.conf (bootstrap_post_import_hook): Update its invocation.

12 years agomaint: get gpl-3.0 from gnulib
Jim Meyering [Mon, 16 Jan 2012 10:47:05 +0000 (11:47 +0100)] 
maint: get gpl-3.0 from gnulib

* bootstrap.conf (gnulib_modules): Add gpl-3.0.
* doc/gpl-3.0.texi: Remove from version control, now that
we get it via gnulib.
* doc/.gitignore: Ignore it.
(cherry picked from commit b87414a05e43ed270d5a88d365d0139f43acb34d)

12 years agomaint: be more robust to gnulib's FOO_H variables.
Akim Demaille [Fri, 20 Jan 2012 12:47:11 +0000 (13:47 +0100)] 
maint: be more robust to gnulib's FOO_H variables.

* configure.ac: Instead of listing gnulib's variables, look for
them among AC_SUBST variables.

12 years agomaint: generate ChangeLog from git log
Jim Meyering [Thu, 19 Jan 2012 08:07:02 +0000 (09:07 +0100)] 
maint: generate ChangeLog from git log

* Makefile.am (gen-ChangeLog): New rule.
(dist-hook): Depend on it.
(EXTRA_DIST): Distribute the two ChangeLog-* files.
* bootstrap.conf (gnulib_modules): Add gitlog-to-changelog.
(bootstrap_post_import_hook): Ensure that ChangeLog exists.
* build-aux/git-log-fix: New file.
* ChangeLog-2012: Renamed ...
* ChangeLog: ... from this.
* ChangeLog-1998: Renamed ...
* OChangeLog: ...from this
* .gitignore: Add ChangeLog.

12 years agochange more quotes in source, and adjust tests to match
Jim Meyering [Mon, 16 Jan 2012 18:36:41 +0000 (19:36 +0100)] 
change more quotes in source, and adjust tests to match

Run this command to change each `%s' to '%s' in source directories:
  git grep -l '`%s'\' src djgpp data \
    |xargs perl -pi -e '$q="'\''";s/`%s$q/$q%s$q/g'
* data/bison.m4: Affected per the above.
* djgpp/subpipe.c: Likewise.
* src/files.c: Likewise.
* src/getargs.c: Likewise.
* src/muscle-tab.c: Likewise.
* src/reader.c: Likewise.
* tests/glr-regression.at: Adjust to match.
* tests/input.at: Likewise.
* tests/push.at: Likewise.
* tests/skeletons.at: Likewise.

12 years agoquote consistently and make tests pass with new quoting from gnulib
Jim Meyering [Mon, 16 Jan 2012 18:20:50 +0000 (19:20 +0100)] 
quote consistently and make tests pass with new quoting from gnulib

Updating to gnulib pulled in new quote and quotarg modules,
by which quoting is now done like 'this' rather than `this'.
That change induces many "make check" test failures.  This change
adapts code and tests so that "make check" passes once again.
* src/scan-code.l: Quote like 'this', not like `this'.
* src/scan-gram.l: Likewise.
* src/symtab.c: Likewise.
* tests/actions.at: Adjust tests to match.
* tests/input.at: Likewise.
* tests/named-refs.at: Likewise.
* tests/output.at: Likewise.
* tests/regression.at: Likewise.
* lib/.gitignore: Regenerate.
* m4/.gitignore: Likewise.

12 years agobuild: update gnulib and autoconf submodules to latest
Jim Meyering [Mon, 16 Jan 2012 16:28:06 +0000 (17:28 +0100)] 
build: update gnulib and autoconf submodules to latest

12 years agobuild: manually update bootstrap from gnulib, and adapt
Jim Meyering [Mon, 16 Jan 2012 11:29:19 +0000 (12:29 +0100)] 
build: manually update bootstrap from gnulib, and adapt

Updating to the latest bootstrap from gnulib involves more of a
change than usual, and updating to the latest gnulib would involve
its own set of challenges with the upcoming quoting changes, so
we update bootstrap manually and separately.
* bootstrap: Update from gnulib.
* Makefile.am: Initialize more variables to empty, so that gnulib.mk
can append to them with "+=".
* bootstrap.conf (gnulib_mk_hook): Remove.  No longer honored.
(bootstrap_post_import_hook): Instead, run the same command,
etc/prefix-gnulib-mk lib/$gnulib_mk, via slightly different API.
Temporarily disable "bootstrap_sync=true".
* etc/prefix-gnulib-mk: Don't prepend "lib/" to tokens like -I$(...
or "\".

12 years agomaint: include <config.h> first
Jim Meyering [Mon, 16 Jan 2012 11:18:46 +0000 (12:18 +0100)] 
maint: include <config.h> first

* cfg.mk (exclude_file_name_regexp--sc_require_config_h_first):
Exempt data/glr.c and data/yacc.c from the include-config.h-first
requirement.

12 years agobuild: include <config.h> from lib/yyerror.c
Jim Meyering [Mon, 16 Jan 2012 11:16:24 +0000 (12:16 +0100)] 
build: include <config.h> from lib/yyerror.c

* lib/yyerror.c: Include <config.h>.

12 years agomaint: list djgpp/subpipe.c in po/POTFILES.in
Jim Meyering [Mon, 16 Jan 2012 11:14:12 +0000 (12:14 +0100)] 
maint: list djgpp/subpipe.c in po/POTFILES.in

* po/POTFILES.in: Add djgpp/subpipe.c.

12 years agomaint: placate the space-TAB syntax-check
Jim Meyering [Mon, 16 Jan 2012 10:58:41 +0000 (11:58 +0100)] 
maint: placate the space-TAB syntax-check

* cfg.mk (exclude_file_name_regexp--sc_space_tab): Exempt
tests/input.at and tests/c++.at, since they appear to use
SP-TAB sequences deliberately.
* OChangeLog: Remove space-before-TAB.

12 years agomaint: remove final trailing space
Jim Meyering [Mon, 16 Jan 2012 10:48:19 +0000 (11:48 +0100)] 
maint: remove final trailing space

* src/scan-gram.l (%): Remove single space at end of line.

12 years agomaint: get gpl-3.0 from gnulib
Jim Meyering [Mon, 16 Jan 2012 10:47:05 +0000 (11:47 +0100)] 
maint: get gpl-3.0 from gnulib

* bootstrap.conf (gnulib_modules): Add gpl-3.0.
* doc/gpl-3.0.texi: Remove from version control, now that
we get it via gnulib.
* doc/.gitignore: Ignore it.

12 years agodoc: correct typo: s/can not/cannot/
Jim Meyering [Mon, 16 Jan 2012 10:42:55 +0000 (11:42 +0100)] 
doc: correct typo: s/can not/cannot/

* doc/bison.texinfo (Bug Reports): s/can not/cannot/
And remove trailing blanks.

12 years agojava: fix reduction traces.
Akim Demaille [Sun, 15 Jan 2012 13:23:15 +0000 (14:23 +0100)] 
java: fix reduction traces.

* data/lalr1.java (yy_reduce_print): Fix state index.
Reported by Tim Landscheidt.

12 years agomaint: get fdl.texi from gnulib
Jim Meyering [Fri, 13 Jan 2012 09:39:45 +0000 (10:39 +0100)] 
maint: get fdl.texi from gnulib

* bootstrap.conf (gnulib_modules): Add fdl.
* doc/fdl.texi: Remove file.

12 years agomaint: spell "file system" as two separate words
Jim Meyering [Fri, 13 Jan 2012 09:22:48 +0000 (10:22 +0100)] 
maint: spell "file system" as two separate words

* doc/Doxyfile.in: Spell it "file system", to avoid a
"make syntax-check" failure.

12 years agomaint: avoid "the the"
Jim Meyering [Fri, 13 Jan 2012 09:18:26 +0000 (10:18 +0100)] 
maint: avoid "the the"

* djgpp/README.in: s/the the/the/
* src/parse-gram.c (lloc_default): Likewise.
* src/parse-gram.y (lloc_default): Likewise, and remove a
trailing space.

Conflicts:

ChangeLog
src/parse-gram.y

12 years agobuild: avoid warning from coverity about lbitset_elt_find
Jim Meyering [Fri, 13 Jan 2012 11:19:08 +0000 (12:19 +0100)] 
build: avoid warning from coverity about lbitset_elt_find

* lib/lbitset.c (lbitset_elt_find): Remove unnecessary test of "elt",
at a point where we know it is non-NULL, due to prior dereference.

12 years agobuild: avoid warning from coverity about lbitset_elt_find
Jim Meyering [Thu, 12 Jan 2012 13:52:26 +0000 (14:52 +0100)] 
build: avoid warning from coverity about lbitset_elt_find

* lib/lbitset.c (lbitset_elt_find): Remove unnecessary test of "elt",
at a point where we know it is non-NULL, due to prior dereference.

Copyright (C) 1987-1988, 1991-2012 Free Software Foundation,

12 years agomaint: get fdl.texi from gnulib
Jim Meyering [Fri, 13 Jan 2012 09:39:45 +0000 (10:39 +0100)] 
maint: get fdl.texi from gnulib

* bootstrap.conf (gnulib_modules): Add fdl.
* doc/fdl.texi: Remove file.

12 years agomaint: spell "file system" as two separate words
Jim Meyering [Fri, 13 Jan 2012 09:22:48 +0000 (10:22 +0100)] 
maint: spell "file system" as two separate words

* doc/Doxyfile.in: Spell it "file system", to avoid a
"make syntax-check" failure.

12 years agomaint: avoid "the the"
Jim Meyering [Fri, 13 Jan 2012 09:18:26 +0000 (10:18 +0100)] 
maint: avoid "the the"

* djgpp/README.in: s/the the/the/
* src/parse-gram.c (lloc_default): Likewise.
* src/parse-gram.y (lloc_default): Likewise, and remove a
trailing space.

12 years agomaint: factor copyright year.
Akim Demaille [Fri, 13 Jan 2012 11:02:36 +0000 (12:02 +0100)] 
maint: factor copyright year.

* configure.ac: Use $PACKAGE_COPYRIGHT_YEAR instead of repeating it.

12 years agomaint: catch missing gnulib macros.
Akim Demaille [Fri, 13 Jan 2012 11:00:12 +0000 (12:00 +0100)] 
maint: catch missing gnulib macros.

* configure.ac: Add m4_pattern_forbid.

12 years agomaint: factor copyright year.
Akim Demaille [Fri, 13 Jan 2012 11:02:36 +0000 (12:02 +0100)] 
maint: factor copyright year.

* configure.ac: Use $PACKAGE_COPYRIGHT_YEAR instead of repeating it.

12 years agomaint: catch missing gnulib macros.
Akim Demaille [Fri, 13 Jan 2012 11:00:12 +0000 (12:00 +0100)] 
maint: catch missing gnulib macros.

* configure.ac: Add m4_pattern_forbid.

12 years agomaint: run "make update-copyright".
Akim Demaille [Fri, 13 Jan 2012 10:47:30 +0000 (11:47 +0100)] 
maint: run "make update-copyright".

12 years agojava: remove unused variable.
Tim Landscheidt [Sun, 8 Jan 2012 01:27:33 +0000 (01:27 +0000)] 
java: remove unused variable.

* data/lalr1.java (yyresult): remove, unused.

12 years agomaint: run "make update-copyright".
Jim Meyering [Fri, 13 Jan 2012 09:09:44 +0000 (10:09 +0100)] 
maint: run "make update-copyright".

12 years agojava: remove used variable
Tim Landscheidt [Sun, 8 Jan 2012 01:27:33 +0000 (01:27 +0000)] 
java: remove used variable

* data/lalr1.java (yyresult): remove, unused.

12 years agoscanner: fix typo.
Akim Demaille [Wed, 11 Jan 2012 15:46:36 +0000 (16:46 +0100)] 
scanner: fix typo.

* src/scan-skel.l (@`): s/emtpy/empty/.
Reported by Tim Landscheidt.

Conflicts:

src/scan-skel.l

12 years agoscanner: fix typo.
Akim Demaille [Wed, 11 Jan 2012 15:46:36 +0000 (16:46 +0100)] 
scanner: fix typo.

* src/scan-skel.l (@`): s/emtpy/empty/.
Reported by Tim Landscheidt.