api.token.prefix: use code values

* data/bison.m4: Remove useless (and incorrect: m4_* instead of b4_*)
default assignment to api.token.prefix.
Check that api.token.prefix is assigned code.
* tests/input.at (%define code variables): New test.
* NEWS, doc/bison.texi, tests/c++.at, tests/calc.at,
* tests/java.at, tests/local.at: Adjust to use braces.
This commit is contained in:
Akim Demaille
2013-04-11 15:43:26 +02:00
parent 75ae829984
commit 630a021850
9 changed files with 74 additions and 24 deletions

View File

@@ -912,10 +912,6 @@ m4_define([b4_percent_code_ifdef],
## Common variables. ##
## ------------------ ##
# Default values for %define.
# ---------------------------
# If the api.token.prefix, it is empty.
m4_percent_define_default([[api.token.prefix]], [[]])
# b4_parse_assert_if([IF-ASSERTIONS-ARE-USED], [IF-NOT])
# b4_parse_trace_if([IF-DEBUG-TRACES-ARE-ENABLED], [IF-NOT])
@@ -1007,6 +1003,15 @@ b4_percent_define_ifdef([api.prefix],
[%name-prefix],
[%define api.prefix])])])
# api.token.prefix={...}
# Make it a warning for those who used betas of Bison 3.0.
b4_percent_define_ifdef([api.token.prefix],
[m4_if(b4_percent_define_get_kind([[api.token.prefix]]), [code], [],
[b4_error([deprecated],
b4_percent_define_get_loc([api.token.prefix]),
[[%%define variable '%s' requires '{...}' values]],
[api.token.prefix])])])
# api.value.type >< %union.
b4_percent_define_ifdef([api.value.type],
[m4_ifdef([b4_union_members],