summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authoryui-knk <[email protected]>2014-05-31 14:00:30 +0900
committeryui-knk <[email protected]>2014-05-31 14:00:30 +0900
commit536697f41e7e2844b67f2cc9dac76c14e631af81 (patch)
tree7258bb1995db676f22788785b1446dc42546d0cb
parent6bf1ee78c8cdc5c1b0265694c404ada0ec32cb28 (diff)
downloadmruby-536697f41e7e2844b67f2cc9dac76c14e631af81.tar.gz
mruby-536697f41e7e2844b67f2cc9dac76c14e631af81.zip
Fix to not print unnecessary comma.
When `n2->car` is 0 and `n2->cdd` is not 0, unnecessary comma was printed before first local variables.
-rw-r--r--src/parse.y8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/parse.y b/src/parse.y
index c6795fb65..9f185ee73 100644
--- a/src/parse.y
+++ b/src/parse.y
@@ -5855,6 +5855,7 @@ mrb_parser_dump(mrb_state *mrb, node *tree, int offset)
printf("NODE_SCOPE:\n");
{
node *n2 = tree->car;
+ mrb_bool first_lval = TRUE;
if (n2 && (n2->car || n2->cdr)) {
dump_prefix(offset+1);
@@ -5862,8 +5863,9 @@ mrb_parser_dump(mrb_state *mrb, node *tree, int offset)
dump_prefix(offset+2);
while (n2) {
if (n2->car) {
- if (n2 != tree->car) printf(", ");
+ if (!first_lval) printf(", ");
printf("%s", mrb_sym2name(mrb, sym(n2->car)));
+ first_lval = FALSE;
}
n2 = n2->cdr;
}
@@ -6240,6 +6242,7 @@ mrb_parser_dump(mrb_state *mrb, node *tree, int offset)
tree = tree->cdr;
{
node *n2 = tree->car;
+ mrb_bool first_lval = TRUE;
if (n2 && (n2->car || n2->cdr)) {
dump_prefix(offset+1);
@@ -6247,8 +6250,9 @@ mrb_parser_dump(mrb_state *mrb, node *tree, int offset)
dump_prefix(offset+2);
while (n2) {
if (n2->car) {
- if (n2 != tree->car) printf(", ");
+ if (!first_lval) printf(", ");
printf("%s", mrb_sym2name(mrb, sym(n2->car)));
+ first_lval = FALSE;
}
n2 = n2->cdr;
}