]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
Fix unexpanded macros in GLR defines file.
[bison.git] / ChangeLog
index 5f31ec68e03bfd8b705b672a310fadd6c49639e9..3015d924de767a096b926f0f5dae2fec9a3b4934 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,422 @@
+2008-11-18  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix unexpanded macros in GLR defines file.
+       Reported by Csaba Raduly at
+       <http://lists.gnu.org/archive/html/bug-bison/2008-11/msg00048.html>.
+       * THANKS (Csaba Raduly): Add.
+       * data/glr.c: Fix overquoting on b4_prefix for yylval and yylloc.
+       * tests/calc.at (_AT_DATA_CALC_Y): If %defines is specified, generate
+       lexer in a separate module that includes the defines file.
+       (AT_CHECK_CALC): Use AT_FULL_COMPILE and request compilation of lexer
+       source.
+       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Push AT_DEFINES_IF.
+       Adjust AT_LOC and AT_VAL to use AT_NAME_PREFIX.
+       (AT_BISON_OPTION_POPDEFS): Pop AT_DEFINES_IF.
+       (AT_DATA_SOURCE_PROLOGUE): New.
+       (AT_DATA_GRAMMAR_PROLOGUE): Use AT_DATA_SOURCE_PROLOGUE.
+       (AT_DATA_SOURCE): New.
+       (AT_FULL_COMPILE): New, copied from master branch and extended to
+       support an additional source file.
+
+2008-11-17  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Don't let maintainer-*-check targets force a version update.
+       * cfg.mk (_is-dist-target): Implement.  maintainer-check* was already
+       handled.
+
+2008-11-17  Di-an Jan  <dianj@freeshell.org>
+
+       * doc/bison.texinfo: Synchronize ``Detail Node Listing''.
+       Align menus.  Adjust word wrapping.  Use node names for menu names.
+       (Examples): Don't abbreviate node names.
+       (LocalWords): Remove abbreviations.
+       (Copying): Make description a sentence.
+       (Java Action Features): Remove period to match the rest of menu.
+
+2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
+
+       * bootstrap.conf: Replace m4/warning.m4 with warnings module.
+       * configure.ac: Adjust usage.
+       * lib/Makefile.am: Replace $(WARNING_CFLAGS) with $(WARN_CFLAGS).
+       * src/Makefile.am: Replace $(WARNING_CFLAGS) with $(WARN_CFLAGS).
+       * tests/atlocal.in: Replace $(WARNING_*FLAGS) with $(WARN_*FLAGS).
+
+2008-11-07  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Don't add a semicolon to actions for %skeleton or %language.
+       It breaks Java test cases as reported by Akim Demaille.
+       * src/scan-code.l: Implement.
+
+2008-11-07  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Clean up %skeleton and %language priority implementation.
+       * src/getargs.c (skeleton_prio): Use default_prio rather than 2, and
+       remove static qualifier because others will soon need to see it.
+       (language_prio): Likewise.
+       (getargs): Use command_line_prio rather than 0.
+       * src/getargs.h (command_line_prio, grammar_prio, default_prio): New
+       enum fields.
+       (skeleton_prio): Extern it.
+       (language_prio): Extern it.
+       * src/parse-gram.y: Use grammar_prio rather than 1.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       * NEWS: Mention the trailing semicolon in action.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Reformat NEWS.
+       * NEWS: Use more outline-mode markup.
+       Suggested by Jim Meyering.
+
+2008-11-04  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix user actions without a trailing semicolon.
+       Reported by Sergei Steshenko at
+       <http://lists.gnu.org/archive/html/bug-bison/2008-11/msg00001.html>.
+       * THANKS (Sergei Steshenko): Add.
+       * src/scan-code.l (SC_RULE_ACTION): Fix it.
+       * tests/regression.at (Fix user actions without a trailing semicolon):
+       New test case.
+
+2008-11-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Initiate further development.
+       * NEWS: Create an empty section for new entries.
+       * gnulib: Update submodule to HEAD.
+
+2008-11-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * NEWS: Version 2.4.
+
+2008-11-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Prepare for next release.
+       * NEWS: Briefly mention changes since 2.3b.
+       * README: Say GNU m4 1.4.6, which we've been requiring in release
+       announcements already, not 1.4.3, which breaks the build.
+
+2008-11-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Say %language is experimental.
+       We're thinking of extending it's effect on output file naming.  See the
+       thread at
+       <http://lists.gnu.org/archive/html/bison-patches/2008-10/msg00003.html>.
+       * NEWS: Say it's experimental.
+       * doc/bison.texinfo (Decl Summary): Say it's experimental, and so don't
+       recommend it over %skeleton for now.
+       (Bison Options): Likewise.
+       (C++ Bison Interface): Use %skeleton not %language.
+       (Calc++ Parser): Use %skeleton not %language.
+       * src/getargs.c (usage): Say it's experimental.
+
+2008-11-01  Di-an Jan  <dianj@freeshell.org>
+           Paolo Bonzini  <bonzini@gnu.org>
+
+       Support all Java parser class modifiers.
+       * data/java.m4 (b4_percent_define_get3): New.
+       (b4_final_if, b4_strictfp_if): New.
+       * data/lalr1.java (final, strictfp, extends, implements): Support.
+       * doc/bison.texinfo (final, strictfp, extends, implements): Add
+       documentation.
+       * tests/java.at (AT_CHECK_JAVA_MINIMAL): New.
+       (AT_CHECK_JAVA_MINIMAL_W_LEXER): New.
+       (AT_CHECK_JAVA_GREP): New.
+       (Java parser class modifiers): New test.
+       (Java parser class extends and implements): New test.
+
+       Model exception propagation better with throws and lex_throws.
+       * data/java.m4 (b4_list2): New.
+       (throws): Change default.
+       * data/lalr1.java (yyaction): Add throws.
+       (parse): Add lex_throws in addition to throws.
+       * doc/bison.texinfo (throws, lex_throws): Add documentation.
+       * tests/java.at (Java throws specifications): New test.
+
+       Improve documentation for Java parsers.
+       * doc/bison.texinfo (Java Parsers): Add subsections.
+       Don't quote first argument of %define.
+       (Java Bison Interface): Document output files.  Move documentation
+       of parser class and merge into Java Parser Interface.  Document
+       features that error out.  Document directives with no effect.
+       Move note about Javadoc higher.
+       (Java Semantic Values): Explicitly mention stype.
+       Document that generic types cannot be used.
+       (Java Location Values): Use @deftypeivar.  Document constructors.
+       Correct return value for toString.
+       (Java Parser Interface): List undocumented constants/fields.
+       Move documentation of fields added by %parse-param closer to list
+       of members.  Document that token names are added as fields.
+       Document constructors accurately.  Remove error method.
+       (Java Scanner Interface): Move note on %pure-parser to Java Bison
+       Interface.  Describe %code lexer and yylex accutately.
+       Remove documentation that does not match the code.
+       (Java Action Features): New.
+       (Java Differences): Add reference.  Add item on semantic values.
+       Add note about @{ ... @}.  Clarify %% epilogue placement.
+       (Java Declarations Summary): New.
+
+       Fix Java skeleton.
+       * data/java.m4 (b4_prefix): Correct quoting for m4_define_default.
+       (b4_remove_comma): Quote test argument.
+       (b4_identification): Remove "bison" field.
+       * tests/java.at (Java parser class and package names): New test.
+       (Java %parse-param and %lex-param): New test.
+       (Java stype, position_class and location_class): New test.
+
+2008-10-31  Di-an Jan  <dianj@freeshell.org>
+
+       * data/lalr1.jave: Update copyright years.
+       (YYParser): Correct name of "generated from" file in Javadoc:
+       use b4_file_name instead of @ofile@.
+       (Location constructor): Correct Javadoc parameter name.
+       (yylloc): Add missing opening m4 quote after b4_location_if.
+       This removes a stray [ in the Javadoc of Lexer.getStartPos.
+       (Lexer.yyerror): Fix incorrect m4 and Javadoc.
+       (YYParser constructor): Correct Javadoc parameter name.
+
+2008-10-30  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Always put auxiliary code files in the same dir as other output files.
+       * src/files.c (compute_file_name_parts): When the user specifies
+       --output but not --file-prefix, extract the directory prefix from the
+       file prefix not from the grammar file name.  This affects the location
+       of files like location.hh generated by the C++ skeleton.  The includes
+       in the other output files require this fix.
+       * tests/output.at (AT_CHECK_OUTPUT): Automatically create directories
+       for expected output files.
+       (Output files): Add a test for the above.
+
+2008-10-29  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * gnulib: Update submodule to HEAD.
+
+2008-10-28  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Update copyright year.
+       * src/files.c: Here.
+
+2008-10-28  Di-an Jan  <dianj@freeshell.org>  (tiny change)
+
+       Don't overwrite the input file.
+       * src/files.c (output_file_name_check): Fatal error if using input file
+       for output.
+       * tests/output.at: (AT_CHECK_CONFLICTING_OUTPUT): Add return status
+       argument.
+       (Conflicting output files): Add test.
+
+2008-10-28  Akim Demaille  <demaille@gostai.com>
+
+       Space changes.
+       * data/lalr1.cc: Formatting changes.
+
+2008-10-28  Akim Demaille  <demaille@gostai.com>
+
+       Don't define debugging functions when !YYDEBUG.
+       * data/lalr1.cc (debug_stream, set_debug_stream)
+       (debug_level_type, debug_level, set_debug_level): Don't
+       declare them when YYDEBUG is not defined.
+       The implementation are already YYDEBUG-aware.
+
+2008-10-28  Akim Demaille  <demaille@gostai.com>
+
+       Prefer "continue" for empty loop bodies.
+       * etc/bench.pl.in: Use "continue" instead of {}.
+
+2008-10-28  Akim Demaille  <demaille@gostai.com>
+
+       Space and comments changes.
+       * data/c++.m4, data/glr.c, data/lalr1.cc: Copyright year changes.
+       * data/c.m4, data/lalr1.cc: Space changes.
+
+2008-10-28  Akim Demaille  <demaille@gostai.com>
+
+       Make gnulib a submodule.
+       * gnulib: New.
+       * .gitmodules (gnulib): New.
+
+2008-10-18  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix yyerror_range for user-defined location type in C++.  Reported by
+       Georg Sauthoff at
+       <http://lists.gnu.org/archive/html/bug-bison/2008-08/msg00008.html>.
+       * data/lalr1.cc (parse): Change type of yyerror_range to location_type.
+       * THANKS (Georg Sauthoff): Add.
+
+2008-10-18  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Update several administrative files mainly to facilitate releasing.
+       * HACKING (Administrivia): Make the git-merge-changelog notes more
+       helpful.
+       (Test suite): Don't say lalr1.cc is not exercised in the test suite.
+       (Release Procedure): Update for git and add numerous details that were
+       previously missing.
+       * Makefile.am (EXTRA_DIST): Remove Makefile.cfg and Makefile.maint.
+       * maint.mk (announcement): Don't list bison as a bootstrap tool so
+       that announcements don't claim we bootstrapped with whatever bison
+       happened to be in PATH.  Add flex as a bootstrap tool.
+       * Makefile.maint: Remove, previously replaced by maint.mk.
+       * Makefile.cfg: Remove, and migrate settings to...
+       * cfg.mk: ... here for the sake of `make announcement'.
+       * bootstrap.conf (gnulib_modules): Add announce-gen.
+       * README: Say GNU Bison instead of just Bison.  Suggested by Karl
+       Berry.
+
+2008-10-08  Di-an Jan  <dianj@freeshell.org>  (tiny change)
+
+       Small but important bugfixes for the Java skeleton.
+       * data/lalr1.java (yyerror): Change Location to b4_location_type.
+       (yy_symbol_print): Call toString on yyvaluep.
+
+2008-08-29  Akim Demaille  <demaille@gostai.com>
+
+       Clarify UPDATED use.
+        * doc/bison.texinfo: It refers to the last edition of this file,
+       not to the release date of Bison.
+        Reported by Joel E. Denny.
+
+2008-08-29  Akim Demaille  <demaille@gostai.com>
+
+       * README: Update FAQ pointer.
+       Reported by Joel E. Denny.
+
+2008-08-27  Eric Blake  <ebb9@byu.net>
+
+       Resync m4sugar from autoconf.
+       * data/m4sugar/m4sugar.m4 (m4_defn, m4_popdef, m4_undefine)
+       (m4_init): Adjust to latest m4.git changes.
+       (m4_mapall_sep, _m4_list_cmp, m4_version_compare): Reduce side
+       effects.
+       * data/m4sugar/foreach.m4 (_m4_shiftn): Fix off-by-one bug.
+       (_m4_list_cmp): Reduce side effects.
+
+2008-08-27  Akim Demaille  <demaille@gostai.com>
+
+       Check yyerrok in calc.at.
+        * tests/calc.at (calc.y): Use yyerrok on "( error )".
+        (AT_CHECK_CALC): Add a check that ensures that yyerrok works as
+        expected.
+
+2008-08-27  Akim Demaille  <demaille@gostai.com>
+
+       Support yyerrok in lalr1.cc.
+       YYBACKUP is still to import back into lalr1.cc.
+        * data/lalr1.cc (yyerrork, yyclearin, YYRECOVERING): Define.
+
+2008-08-26  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       For maintainer-check*, don't recompile for a $(VERSION) update.
+       * cfg.mk: New file.
+       (_is-dist-target): Override the one in GNUmakefile.
+       * Makefile.am (EXTRA_DIST): Add cfg.mk.
+
+2008-08-26  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Update for recent change to gnulib.
+       * src/parse-gram.y: Don't include strverscmp.h.  It comes from
+       string.h now.
+
+2008-08-15  Eric Blake  <ebb9@byu.net>
+
+       Remaining m4sugar merge from autoconf.
+       * data/m4sugar/m4sugar.m4: Copy entire file from autoconf.
+       * data/m4sugar/foreach.m4: New file, copied from autoconf.
+       * data/Makefile.am (dist_m4sugar_DATA): Distribute it.
+       * src/output.c (output_skeleton): Tell m4 how to find it.
+
+       Partial m4sugar merge from autoconf: m4_map.
+       * data/m4sugar/m4sugar.m4 (m4_fst): Delete.
+       (m4_map, m4_map_sep, _m4_map): Rewrite more efficiently.
+       (m4_apply, _m4_apply, m4_mapall, m4_mapall_sep): New macros.
+       * data/java.m4 (b4_token_enums): Use more efficient short-circuit
+       for empty list.
+       * data/c.m4 (b4_token_defines, b4_token_enums, b4_c_ansi_formals):
+       Likewise.
+       (b4_parse_param_for): Avoid m4_fst, now that autoconf no longer
+       declares it.
+
+2008-08-07  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Keep .version and PACKAGE_VERSION in sync.
+       * Makefile.am ($(top_srcdir)/.version): Declare configure as a
+       dependency, and add comments justifying this in more detail.  Discussed
+       starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2008-07/msg00022.html>.
+
+2008-08-06  Eric Blake  <ebb9@byu.net>
+
+       Partial m4sugar merge from autoconf: m4_shiftn.
+       * data/m4sugar/m4sugar.m4 (m4_shiftn): Faster implementation.
+       (m4_shift2, m4_shift3): New macros.
+       (m4_case, m4_bmatch, m4_bpatsubsts, m4_join): Adjust clients.
+       * data/c.m4 (b4_c_function_def, b4_c_ansi_function_def)
+       (b4_c_ansi_function_decl, b4_c_function_call): Likewise.
+       * data/java.m4 (b4_remove_comma): Likewise.
+
+       Partial m4sugar merge from autoconf: m4_wrap vs. m4 1.6.
+       * data/m4sugar/m4sugar.m4 (m4_unquote, m4_wrap_lifo): New macros.
+       (m4_wrap): Guarantee FIFO order, in spite of m4 1.6.
+       (m4_init): Consolidate wrapped text into single m4_wrap.
+       * data/bison.m4 (b4_check_user_names_wrap): Stick with LIFO order
+       in wrapped text.
+
+2008-08-05  Eric Blake  <ebb9@byu.net>
+
+       Partial m4sugar merge from autoconf: builtins, version.m4.
+       * data/m4sugar/m4sugar.m4 (changeword): Nuke.
+       (m4_prepend): Remove, as it is unused and inherently quadratic,
+       whereas m4_append is linear in newer m4.
+       (m4_mkstemp): New builtin.
+       (m4_symbols): Make rename conditional.
+       (m4_version_prereq): Ensure fatal error if used in bison, which
+       intentionally lacks version.m4.
+
+       Fix comments in m4sugar.
+       * data/m4sugar/m4sugar.m4: Comment changes, borrowed from autoconf.
+
+2008-08-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Update for recent .gitignore fix in Gnulib.
+       * bootstrap: Back out 2008-07-18 hack now that gnulib-tool creates
+       anchored .gitignore entries.
+
+2008-08-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Set gnu or gnits strictness.
+       * configure.ac (AM_INIT_AUTOMAKE): Set gnu strictness during
+       development and gnits strictness for releases.  Based on Eric Blake's
+       suggestion at
+       <http://lists.gnu.org/archive/html/bug-bison/2008-07/msg00019.html>.
+
+2008-07-31  Paolo Bonzini  <bonzini@gnu.org>
+
+       * NEWS: Clarify documentation of %language.
+
+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.
+
+2008-07-27  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Remove remaining dependence on CVS Id keyword.
+       * 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.
+
 2008-07-27  Joel E. Denny  <jdenny@ces.clemson.edu>
 
        Fix dependence on computed configure variables.
 2008-07-27  Joel E. Denny  <jdenny@ces.clemson.edu>
 
        Fix dependence on computed configure variables.
        * .gitignore (/.tarball-version, /GNUmakefile, /*~): Add.
        * .prev-version: New.
        * .version.in: Remove.
        * .gitignore (/.tarball-version, /GNUmakefile, /*~): Add.
        * .prev-version: New.
        * .version.in: Remove.
-       * ChangeLog: Remove the $Id$ previously used for capturing the CVS
+       * 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
        revision.
        * GNUmakefile: Remove, now copied from Gnulib.
        * Makefile.am: Add code suggested by comments in