-* src/reader.c
-Complete parse_skel_decl () with parse_dquoted_param (). [ok]
-Check and cleanup for CPP-out code. []
-
-* src/output.c
-Remove %%verbose which is useless. [ok]
-
-* Broken options.
-%no-lines []
-%no-parser []
-%pure-parser ? []
-%semantic-parser []
-%token-table []
-** which could use parse_dquoted_param ().
-%skeleton [ok]
-%output []
-%file-prefix []
-%name-prefix []
-
-Cleanup dirty CPP-out code. []
-** Output sub-skeleton files. []
-Useful for %no_parser. []
-*** New skeleton. []
-
-* src/macrotab.[ch]
-Removing warnings when compiling. (gcc-warnings). [ok]
+* NEWS
+Sort from 1.31 NEWS.
+
+* Prologue
+The %union is declared after the user C declarations. It can be
+a problem if YYSTYPE is declared after the user part. []
+
+Actually, the real problem seems that the %union ought to be output
+where it was defined. For instance, in gettext/intl/plural.y, we
+have:
+
+ %{
+ ...
+ #include "gettextP.h"
+ ...
+ %}
+
+ %union {
+ unsigned long int num;
+ enum operator op;
+ struct expression *exp;
+ }
+
+ %{
+ ...
+ static int yylex PARAMS ((YYSTYPE *lval, const char **pexp));
+ ...
+ %}
+
+Where the first part defines struct expression, the second uses it to
+define YYSTYPE, and the last uses YYSTYPE. Only this order is valid.
+
+* --graph
+Show reductions. []
+
+* Broken options ?
+** %no-lines [ok]
+** %no-parser []
+** %pure-parser []
+** %semantic-parser []
+** %token-table []
+** Options which could use parse_dquoted_param ().
+Maybe transfered in lex.c.
+*** %skeleton [ok]
+*** %output []
+*** %file-prefix []
+*** %name-prefix []
+
+** Skeleton strategy. []
+Must we keep %no-parser?
+ %token-table?
+*** New skeletons. []