-* src/reader.c
-** Complete parse_skel_decl () with parse_dquoted_param ().
-** Check and cleanup for CPP-out code.
-
-* src/output.c
-** Output sub-skeleton files.
-*** Useful for %no_parser.
-**** New skeleton.
-** Cleanup dirty CPP-out code.
-** s/definitions/prologue/ s/user_code/epilogue/ [ok].
-** s/macro/muscle/
-** Synchronize `#line' directive with user file.
-
-* src/getargs.c src/lex.c
-** Synchronize percent and command line options.
-
-* src/macrotab.[ch]
-** Removing warnings when compiling. (gcc-warnings) [ok].
-** s/macro/muscle/
+* 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. []