2008-07-31 Paolo Bonzini <bonzini@gnu.org>
Support usage of git-merge-changelog.
* .gitattributes: New.
* HACKING: Document usage of git-merge-changelog.
* bootstrap: Install git-merge-changelog entries in .git/config
if appropriate.
* ChangeLog: For the sake of people still using CVS, don't use dollars
when mentioning Id.
* data/xslt/bison.xsl: Remove Id from header comments, where it was
unusual anyway.
* data/xslt/xml2dot.xsl: Likewise.
* data/xslt/xml2text.xsl: Likewise.
* data/xslt/xml2xhtml.xsl: Likewise.
* doc/Doxyfile.in (PROJECT_NUMBER): Don't use ID.
* doc/Makefile.am (neutralize): Remove, no longer needed.
(.x.1): Don't use neutralize.
(edit): Don't substitute for ID.
(Doxyfile): Don't define Id, and thus don't depend on ChangeLog.
* doc/Makefile.am (common_dep): Depend on $(top_srcdir)/configure not
$(top_srcdir)/configure.ac so that changes to computed variables, such
as PACKAGE_VERSION, are seen.
* tests/Makefile.am ($(srcdir)/package.m4): Likewise.
* .cvsignore (.tarball-version, GNUmakefile, *~): Add.
* .gitignore (/.tarball-version, /GNUmakefile, /*~): Add.
* .prev-version: New.
* .version.in: Remove.
* ChangeLog: Remove the $Id$ previously used for capturing the CVS
revision.
* GNUmakefile: Remove, now copied from Gnulib.
* Makefile.am: Add code suggested by comments in
build-aux/git-version-gen.
(EXTRA_DIST): Remove GNUmakefile, handled by Gnulib. Add maint.mk,
.prev-version, and .version.
* NEWS (2.3b+): Rename to...
(?.?): ... this because we're dropping the "+" version naming scheme,
but, in general, we still can't be sure of our next release name.
* bootstrap: Add a quick hack to remove from .gitignore the
GNUmakefile entry that gnulib adds. We already have a /GNUmakefile
entry. This should really be fixed in gnulib instead.
* bootstrap.conf (gnulib_modules): Add gnumakefile.
* configure.ac (AC_INIT): Set version name by invoking
build-aux/git-version-gen.
(AC_CONFIG_FILES): Remove .version, now generated by
build-aux/git-version-gen.
* maint.mk: New, copied from coreutils.
* doc/.cvsignore (bison.1): Add.
* doc/.gitignore (/bison.1): Add.
* doc/bison.1: Remove, generated.
* src/.cvsignore (revision.c): Remove.
* src/.gitignore (/revision.c): Remove.
* src/Makefile.am (bison_SOURCES): Remove revision.c and revision.h.
(BUILT_SOURCES): Remove revision.c.
(revision.c): Remove.
* src/getargs.c (version): Don't print revision after the VERSION.
* src/revision.h: Remove.
Reported by Goran Uddeborg at
<http://lists.gnu.org/archive/html/bug-bison/2008-06/msg00000.html>.
* THANKS (Goran Uddeborg): Add.
* src/reduce.c (reduce_print): Report the number of nonterminals and
rules useless in the grammar in separate sentences.
* tests/reduce.at (Useless Rules): Update output.
(Reduced Automaton): Likewise.
(Underivable Rules): Likewise.
(Empty Language): Likewise.
* bootstrap (insert_sorted_if_absent): Replace all uses with...
(insert_vc_ignore): ... this new function, which prepends `/' to all
.gitignore entries before passing them to insert_sorted_if_absent.
* bootstrap.conf (vc_ignore): Set to '.cvsignore .gitignore' so that
.cvsignore files are maintained even though Bison developers run
bootstrap while using Git.
* .cvsignore (*.patch *.log log patches applied): Remove, apparently
unneeded by Bison.
(gnulib): Add.
* .gitignore (/*.patch *.log log patches applied): Remove, broken and
unneeded. Reported by Eric Blake.
* lib/.gitignore (/*~): Add.
* po/.cvsignore, runtime-po/.cvsignore: Sync with .gitignore.
* examples/calc++/.gitignore (/calc++.exe): Add. Reported by Eric
Blake.
* src/.gitignore (/bison.exe): Add. Reported by Eric Blake.
Reported by Eric Blake at
<http://lists.gnu.org/archive/html/bug-bison/2008-07/msg00000.html>.
* bootstrap.conf (gnulib_modules): Add unsetenv.
* lib/.gitignore, lib/.cvsignore (/unsetenv.c): Add.
* m4/.gitignore, m4/.cvsignore (/environ.m4): Add.
(/setenv.m4): Add.
* src/output.c (output_skeleton): For the m4 invocation, pass -dV as
the first argument because it may become position-dependent, and unset
POSIXLY_CORRECT so Bison's skeletons have access to GNU M4 extensions.
Add comments explaining these issues in more detail.
been doing it for years.
(Test suite): Mention maintainer-push-check and maintainer-xml-check.
(Release Procedure): Add FIXME about make alpha being unmaintained.
* tests/output.at (m4_expand): Add workaround for autoconf 2.62.
("Output file name: ("): Uncomment test.
("Output file name: )"): Likewise.
Based on an idea from Noah Misch.
in Bison.
* bootstrap: Update gnulib CVS repository URL.
(symlink_to_dir): Encapsulate the code that guarantees the destination
directory exists into...
(check_dst_dir): ... this new function, and...
(cp_mark_as_generated): ... reuse it here so that bootstrap doesn't
fail when copying files into lib/uniwidth/.
* src/output.c (prepare_symbols): When writing yytname muscles, where
symbol names will be encoded in C-string literals, tell quotearg to
escape trigraphs. This used to be the default in gnulib.
* tests/regression.at (Token definitions): Because of the change in
gnulib's quotearg behavior, string_as_id in parse-gram.y no longer
escapes trigraphs in symbol names. Thus, yytname no longer has
trigraphs unnecessarily doubly escaped. Update test case output.
Extend test case to be sure Bison's own error messages will no longer
have trigraphs in symbol names unnecessarily escaped once.
* doc/bison.texinfo (Bison Options): Reword -W entry a little for
consistency. Update the -g and -x entries now that they take
arguments. Use brackets to indicate optional arguments.
* src/getargs.c (usage): Explain the relationship between arguments of
long and short options more completely. Document --defines and -d
separately since the former takes an argument but, for POSIX Yacc, the
latter does not.
(short_options): Let -W take an optional argument like --warnings.
(getargs): Sort cases.
-g and -x take optional arguments, just like their long options.
* build-aux/cross-options.pl: Use /x to make the regexp easier to
understand.
Fix the handling of $opt which resulted in all the argument to be
considered as optional.
say its interface is experimental.
* doc/bison.texinfo (Decl Summary): In the %language entry, mention
Java.
(Bison Options): In the -L and --language entry, mention Java.
(Java Bison Interface): Say the interface is experimental.
* src/getargs.c (usage): Mention -L and --language.
* NEWS (2.3a+): Say the push parsing interface is experimental.
* doc/bison.texinfo (Push Decl): Likewise.
(Decl Summary): Likewise in the "%define api.push_pull" entry.
(Push Parser Function): Likewise.
(Pull Parser Function): Likewise.
(Parser Create Function): Likewise.
(Parser Delete Function): Likewise.
(Table of Symbols): Likewise in the yypstate_delete, yypstate_new,
yypull_parse, and yypush_parse entries.
* NEWS (2.3a+): Mention XML support, and say the schema is
experimental.
* doc/bison.texinfo (Bison Options): Mention -x and --xml.
* src/getargs.c (usage): Say the XML schema is experimental.
* NEWS (2.3a+): Say option instead of flag.
<http://lists.gnu.org/archive/html/help-bison/2008-02/msg00023.html>.
* data/yacc.c: Clean up whitespace in the output a little.
(yypstate_allocated): Define for impure push parsers regardless of
whether the pull interface is also requested.
* tests/push.at (Push Parsing: Multiple impure instances): Extend to
check impure push parsers without the pull interface.
* data/yacc.c (yypstate_new): Don't try to invoke yyerror since
yyerror takes arguments specified by %parse-param while yypstate_new
does not.
* doc/bison.texinfo (Parser Create Function): Document that
yypstate_new returns 0 for multiple impure parser instances.
* tests/push.at (Push Parsing: Multiple impure instances): Update
expected stderr output.
`"%code top" blocks' instead of `%code "top" blocks'.
* data/push.c: Import yacc.c changes from 2008-01-09 and 2007-08-03.
Clean up whitespace in the output a little.
<http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00013.html>.
* NEWS (2.3a+): Mention removal of --no-parser, -n, and %no-parser.
* doc/bison.texinfo (Token Decl): Token numbers are *nonnegative*
integers. Explain the effect of literal string aliases on error
messages. Copy token 0 documentation from the C++ skeleton
documentation.
conformance. Reported by Tim Josling at
<http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00010.html>.
* NEWS (2.3a+): Mention.
* doc/bison.texinfo (Precedence Decl): Describe how literal strings
and code numbers are treated by precedence declarations.
* src/parse-gram.y (precedence_declaration): Use symbols.prec instead
of symbols.1.
(symbols.prec): New, just like symbols.1 but uses symbol.prec instead
of symbol.
(symbol.prec): New, just like symbol but allows INT.
* src/symtab.c (symbol_user_token_number_set): Remove an aver that no
longer holds.
* tests/regression.at (Token number in precedence declaration): New
test case.
TMPDIR, TMP and TEMP, in that order, to determinate where the temp
files shall be created. Before trying to use the temp dir where the
environment variable points to check that the dir really exists. If
not default to the cwd as temp dir. Copyright timestamp adjusted.