]> git.saurik.com Git - bison.git/blobdiff - NEWS
maint: run "make update-copyright".
[bison.git] / NEWS
diff --git a/NEWS b/NEWS
index 3b2251216add41ca1d8655877767a932491541a0..5c2783f93a04833175c6892c040debf726ab9be9 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -60,7 +60,13 @@ Bison News
   allow the programmer to prune possible parses based on the values of
   runtime expressions.
 
-* Changes in version 2.5 (????-??-??):
+* Changes in version 2.5.1 (????-??-??):
+
+** Some portability problems in the test suite have been fixed.
+
+** Minor improvements have been made to the manual.
+
+* Changes in version 2.5 (2011-05-14):
 
 ** Grammar symbol names can now contain non-initial dashes:
 
@@ -393,7 +399,7 @@ Bison News
 
     bison -Werror,none,yacc gram.y
 
-*** The `none' category now disables all Bison warnings.
+*** The `none' category now disables all Bison warnings:
 
   Previously, the `none' category disabled only Bison warnings for
   which there existed a specific -W/--warning category.  However,
@@ -890,26 +896,26 @@ Bison News
   if the symbols have destructors.  For instance:
 
      exp: exp "?" exp ":" exp { $1 ? $1 : $3; }
-       | exp "+" exp
-       ;
+        | exp "+" exp
+        ;
 
   will trigger a warning about $$ and $5 in the first rule, and $3 in
   the second ($1 is copied to $$ by the default rule).  This example
   most likely contains three errors, and could be rewritten as:
 
      exp: exp "?" exp ":" exp
-           { $$ = $1 ? $3 : $5; free ($1 ? $5 : $3); free ($1); }
-       | exp "+" exp
-           { $$ = $1 ? $1 : $3; if ($1) free ($3); }
-       ;
+            { $$ = $1 ? $3 : $5; free ($1 ? $5 : $3); free ($1); }
+        | exp "+" exp
+            { $$ = $1 ? $1 : $3; if ($1) free ($3); }
+        ;
 
   However, if the original actions were really intended, memory leaks
   and all, the warnings can be suppressed by letting Bison believe the
   values are used, e.g.:
 
      exp: exp "?" exp ":" exp { $1 ? $1 : $3; (void) ($$, $5); }
-       | exp "+" exp         { $$ = $1; (void) $3; }
-       ;
+        | exp "+" exp         { $$ = $1; (void) $3; }
+        ;
 
   If there are mid-rule actions, the warning is issued if no action
   uses it.  The following triggers no warning: $1 and $3 are used.
@@ -1153,16 +1159,16 @@ Bison News
   In agreement with POSIX and with other Yaccs, leaving a default
   action is valid when $$ is untyped, and $1 typed:
 
-       untyped: ... typed;
+        untyped: ... typed;
 
   but the converse remains an error:
 
-       typed: ... untyped;
+        typed: ... untyped;
 
 ** Values of mid-rule actions
   The following code:
 
-       foo: { ... } { $$ = $1; } ...
+        foo: { ... } { $$ = $1; } ...
 
   was incorrectly rejected: $1 is defined in the second mid-rule
   action, and is equal to the $$ of the first mid-rule action.
@@ -1573,7 +1579,7 @@ End:
 
 -----
 
-Copyright (C) 1995-2011 Free Software Foundation, Inc.
+Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 This file is part of Bison, the GNU Parser Generator.