errors: indent "invalid value for %define" context

This is the continuation of the work on the readability of errors
    context.

For example, what used to be:
  input.y:1.9-29: invalid value for %define variable 'foo' : 'bar'
  input.y:1.9-29: accepted value: 'most'

is now:
  input.y:1.9-29: invalid value for %define variable 'foo' : 'bar'
  input.y:1.9-29:     accepted value: 'most'

* src/muscle-tab.c (muscle_percent_define_check_values): Use
complain_at_indent to output with increased indentation level.
* tests/input:at: Apply this change.

Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
This commit is contained in:
Theophile Ranquet
2012-09-26 11:49:21 +02:00
committed by Akim Demaille
parent 6b1e1872d4
commit a974c1ec26
2 changed files with 11 additions and 7 deletions

View File

@@ -593,12 +593,15 @@ muscle_percent_define_check_values (char const * const *values)
}
if (!*values)
{
unsigned i = 0;
location loc = muscle_percent_define_get_loc (*variablep);
complain_at(loc,
_("invalid value for %%define variable %s: %s"),
quote (*variablep), quote_n (1, value));
complain_at_indent (loc, &i,
_("invalid value for %%define variable %s: %s"),
quote (*variablep), quote_n (1, value));
i += SUB_INDENT;
for (values = variablep + 1; *values; ++values)
complain_at (loc, _("accepted value: %s"), quote (*values));
complain_at_indent (loc, &i, _("accepted value: %s"),
quote (*values));
}
else
{

View File

@@ -1033,12 +1033,13 @@ start: ;
]])
AT_BISON_CHECK([[input.y]], [[1]], [[]],
[[input.y:1.9-29: invalid value for %define variable 'lr.default-reductions': 'bogus'
input.y:1.9-29: accepted value: 'most'
input.y:1.9-29: accepted value: 'consistent'
input.y:1.9-29: accepted value: 'accepting'
input.y:1.9-29: accepted value: 'most'
input.y:1.9-29: accepted value: 'consistent'
input.y:1.9-29: accepted value: 'accepting'
]])
# Back-end.
# FIXME: these should be indented, but we shouldn't mess with the m4 yet
AT_DATA([[input.y]],
[[%define api.push-pull neither
%%