Don’t use yyerror for each($scalar) experiment err

Programming / Compilers / PERL - Father Chrysostomos [cpan.org] - 3 June 2016 00:37 UTC

This is a follow-up to 69e7f50e50. 69e7f50e50 resulted in yyerror being called twice for the same error, resulting in double diagnos-tics for where the error occurred:

$ ./perl -e 'keys $scalar, $1' Experimental keys on scalar is now forbidden at -e line 1, near "$scalar," Type of arg 1 to keys must be hash or array (not scalar dereference) at -e line 1, near "$scalar," Execution of -e aborted due to compilation errors.

We don’t need ‘near "$scalar,"’ twice.

For the first one we should queue the error directly, using qerror() (which yyerror itself normally calls), so we don’t get double diagnostics.

198aaf3 Don’t use yyerror for each($scalar) experiment err
op.c | 4 ++--
t/op/smartkve.t | 5 +++--
2 files changed, 5 insertions(+), 4 deletions(-)

Upstream: perl5.git.perl.org


  • Share