]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
Use locale when quoting.
[bison.git] / ChangeLog
index 25bd09cffbe3316abc475304d71fc9f89701d3dd..b831d11623ff6a7b3db25b48d843d83bab082243 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,242 @@
+2009-08-21  Joel E. Denny  <jdenny@clemson.edu>
+
+       Use locale when quoting.
+       * src/scan-gram.l (SC_ESCAPED_STRING, SC_ESCAPED_CHARACTER): Use
+       quote rather than implementing quoting here.
+
+2009-08-20  Eric Blake  <ebb9@byu.net>
+
+       Make previous patch more robust.
+       * src/output.c (ARRAY_CARDINALITY): New macro, copied from
+       argmatch.h.
+       (output_skeleton): Use it.
+       Suggested by Akim Demaille.
+
+       Import latest m4/m4.m4.
+       * submodules/autoconf: Update to autoconf 2.64.
+       * configure.ac (M4_GNU_OPTION): New define.
+       * src/output.c (output_skeleton): Use it to resolve FIXME.
+       * NEWS: Mention this.
+
+2009-08-19  Joel E. Denny  <jdenny@clemson.edu>
+
+       Fix complaints about escape sequences.
+       Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2009-08/msg00036.html>.
+       * src/scan-gram.l (SC_ESCAPED_STRING, SC_ESCAPED_CHARACTER):
+       For a \0 and similar escape sequences meaning the null
+       character, report an invalid escape sequence instead of an
+       invalid null character because the latter does not actually
+       appear in the user's input.
+       In all escape sequence complaints, don't escape the initial
+       backslash, and don't quote when the sequence appears at the end
+       of the complaint line unless there's whitespace that quotearg
+       won't escape.
+       Consistently say "invalid" not "unrecognized".
+       Consistently prefer "empty character literal" over "extra
+       characters in character literal" warning for invalid escape
+       sequences; that is, consistently discard those sequences.
+       * tests/input.at (Bad escapes in literals): New.
+
+2009-08-19  Akim Demaille  <demaille@gostai.com>
+
+       doc: fixes.
+       * doc/bison.texinfo: Fix minor Texinfo errors.
+
+2009-08-19  Akim Demaille  <demaille@gostai.com>
+
+       tests: distcc compliance.
+       * tests/synclines.at (AT_SYNCLINES_COMPILE): Discard distcc's
+       error messages from the output.
+
+2009-08-19  Akim Demaille  <demaille@gostai.com>
+
+       variables: simplify the upgrade of namespace into api.namespace.
+
+       This patch simplifies "variables: rename namespace as
+       api.namespace", commit 67501061076ba46355cfd9f9361c7eed861b389c.
+       Suggested by Joel E. Denny in
+       http://lists.gnu.org/archive/html/bison-patches/2009-07/msg00006.html
+
+       * src/muscle-tab.c (muscle_percent_variable_update): New.
+       (muscle_percent_define_insert): Use it in replacement of the
+       previous tr invocation.
+       Remove variable_tr, no longer needed.
+       * data/bison.m4 (b4_percent_define_copy_, b4_percent_define_copy):
+       Remove.
+       * data/c++.m4: No longer handle namespace -> api.namespace.
+       * tests/input.at (%define backward compatibility): Check that
+       namespace is treated as api.namespace.
+
+2009-08-19  Akim Demaille  <demaille@gostai.com>
+
+       doc: %initial-action to initialize yylloc.
+       Reported by Bill Allombert.
+       * doc/bison.texinfo: Set fill-column to 76.
+       (Location Type): Document the use of %initial-action to initialize
+       yylloc.
+
+2009-08-19  Akim Demaille  <demaille@gostai.com>
+
+       lalr1.cc: use state_type.
+       * data/lalr1.cc (yysyntax_error_): Use state_type.
+       Move argument names into yy*.
+
+2009-08-19  Akim Demaille  <demaille@gostai.com>
+
+       lalr1.cc: get rid of yyparse's yystate.
+       yystate and yystack_[0].state are equal, keep only the latter.
+       The former was also used as a temporary variable to compute the
+       post-reduction state.  Move this computation into an auxiliary
+       function.
+
+       * data/glr.c (yyLRgotoState): Fuse variable definition and first
+       assignment.
+       * data/lalr1.cc (yy_lr_goto_state_): New.
+       (yyparse): Use it.
+       Replace remaining uses of yystate by yystate_[0].state.
+       Remove the former.
+
+2009-08-19  Akim Demaille  <demaille@gostai.com>
+
+       lalr1.cc: destroy $$ when YYERROR is called.
+       * data/lalr1.cc (yyreduce): Compute the resulting state before
+       running the user action so that yylhs is a valid symbol.
+       (yyerrorlab): Since yylhs is complete (it knows its type), we can
+       simply call yy_destroy_ to destroy $$ on YYERROR invocations.
+       * tests/c++.at (AT_CHECK_VARIANTS): Test YYERROR with variants.
+
+2009-08-18  Joel E. Denny  <jdenny@clemson.edu>
+
+       maint: update for gnulib's recent update-copyright changes
+       * gnulib: Update.
+       * .x-update-copyright (COPYING): Add as it's no longer implied
+       when .x-update-copyright is present.
+       * cfg.mk (update-copyright-local): Remove, now ignored.
+       (update-copyright): Declare update-b4-copyright as a dependency.
+
+2009-08-17  Akim Demaille  <demaille@gostai.com>
+
+       build: require gettext 0.17.
+
+       Suggested by Bruno Haible.
+       http://lists.gnu.org/archive/html/bug-bison/2009-08/msg00009.html
+       * configure.ac: require gettext 0.17 to ensure compatibility with
+       gnulib.
+
+2009-08-17  Akim Demaille  <demaille@gostai.com>
+
+       build: lower gettext requirements.
+
+       Bison was uselessly requiring the formatstring macros from
+       gettext, which resulted in mo files not being installed on systems
+       that perfectly supported Bison mo files.  Lower the requirement.
+       http://lists.gnu.org/archive/html/bug-bison/2009-08/msg00006.html
+
+       * configure.ac: Require need-ngettext instead of
+       need-formatstring-macros.
+       Reported by Martin Jabocs.
+       Suggested by Bruno Haible.
+       * INSTALL: Restructure.
+       (Internationalization): New.
+
+2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
+
+       maint: fix use of copyright year intervals.
+       * gnulib: Update.
+       * bootstrap.conf (gnulib_modules): Update getopt to getopt-gnu
+       as now recommended in gnulib/NEWS.
+       * build-aux/update-b4-copyright: Fix.
+       * cfg.mk (update-copyright-env): Configure update-copyright.
+
+2009-08-13  Joel E. Denny  <jdenny@clemson.edu>
+
+       Make it easier to write deterministic tests.
+       Continues Akim's work from his 2009-06-10 commits.
+       * src/reader.c (check_and_convert_grammar): Don't add any
+       symbols after the first symbols_do invocation.
+       * src/symtab.c (symbols_sorted): New static global.
+       (user_token_number_redeclaration): Update comments.
+       (symbol_from_uniqstr): If a new symbol is being created, assert
+       that symbols_sorted hasn't been allocated yet.
+       (symbols_free): Free symbols_sorted.
+       (symbols_cmp, symbols_cmp_qsort): New functions.
+       (symbols_do): Sort symbol_table into symbols_sorted on first
+       invocation.
+       * tests/input.at (Numbered tokens): Recombine tests now that the
+       output should be deterministic across multiple numbers.
+
+2009-08-12  Akim Demaille  <demaille@gostai.com>
+
+       tests: GCC 4.5 compliance.
+       * tests/synclines.at (AT_SYNCLINES_COMPILE): Adjust to GCC 4.5's
+       messages about #error.
+
+2009-08-12  Akim Demaille  <demaille@gostai.com>
+
+       build: fix the generation of the documentation.
+       Some of our targets use "bison --help", but they can't depend on
+       "bison" itself (to avoid additional requirements on the user), so
+       they used to call "make src/bison" in the commands.  Then
+       concurrent builds may fail: one make might be aiming one of its
+       jobs at compiling src/bison, and another job at generating the man
+       page.  If the latter is faster than the former, then we have two
+       makes that concurrently try to compile src/bison.
+
+       This might also be a more convincing explanation for the failure
+       described in the patch "build: fix paths".
+
+       * Makefile.am (SUFFIXES): Initialize.
+       * build-aux/move-if-change: New, symlink to gnulib's.
+       * build-aux/local.mk: Ship it.
+       * doc/common.x: Remove, merged into...
+       * doc/bison.x: here.
+       * doc/local.mk (doc/bison.help): New.
+       ($(CROSS_OPTIONS_TEXI)): Depend on it.
+       Use src/bison.
+       (.x.1): Replace with...
+       (doc/bison.1): this explicit, simpler, target.
+       (common_dep): Remove, inlined where appropriate.
+       (SUFFIXES, PREPATH): Remove, unused.
+
+2009-08-12  Akim Demaille  <demaille@gostai.com>
+
+       gnulib: improve prefixing.
+       * configure.ac (gl_PREFIXED_LIBOBJS): Don't rename it, rather,
+       change the value of...
+       (gl_LIBOBJS): this.
+       Adjust more variables.
+       * etc/prefix-gnulib-mk (prefix_assignment): Don't rename
+       gl_LIBOBJS.
+       (prefix): Also transform rules whose targets have slashes.
+       Use $prefix liberally.
+       Map @MKDIR_P@ to $(MKDIR_P).
+       Prefix directories that are mkdir'd.
+
+2009-08-12  Akim Demaille  <demaille@gostai.com>
+
+       build: fix paths.
+       When using $(top_builddir) inconsistently, Make (including GNU
+       Make) is sometimes confused.  As a result it may want to build
+       lib/libbison.la and $(top_builddir)/lib/libbison.la (the same
+       file, different names) concurrently, which, amusingly enough,
+       might end with:
+
+         ranlib lib/libbison.a
+         ranlib lib/libbison.a
+         make[2]: *** [lib/libbison.a] Segmentation fault
+
+       on OS X.
+
+       * doc/local.mk, src/local.mk: Do not use $(top_builddir) when not
+       needed.
+
+2009-08-12  Akim Demaille  <demaille@gostai.com>
+
+       distcheck: fix.
+
+       * examples/calc++/Makefile.am: (EXTRA_DIST): Ship calc.stamp.
+
 2009-08-10  Joel E. Denny  <jdenny@clemson.edu>
 
        * tests/local.mk (TESTSUITE_AT): Add named-refs.at.
 2009-06-10  Akim Demaille  <demaille@gostai.com>
 
        gnulib: update.
-        * gnulib: Update to latest.
-        * lib/.cvsignore, lib/.gitignore, m4/.cvsignore,
-        * m4/.gitignore: Regen.
-        * src/symtab.c (symbol_from_uniqstr, semantic_type_from_uniqstr):
-        Call xalloc_die on hash_insert failures.
-        Requested by the new __warn_unused_result__ attribute of
-        hash_insert.
+       * gnulib: Update to latest.
+       * lib/.cvsignore, lib/.gitignore, m4/.cvsignore,
+       * m4/.gitignore: Regen.
+       * src/symtab.c (symbol_from_uniqstr, semantic_type_from_uniqstr):
+       Call xalloc_die on hash_insert failures.
+       Requested by the new __warn_unused_result__ attribute of
+       hash_insert.
 
 2009-06-10  Akim Demaille  <demaille@gostai.com>