@@ -509,16 +509,15 @@ munge_expr({call,Anno,Expr,Exprs}, Vars0) ->
509
509
{MungedExprs , Vars2 } = munge_args (Exprs , Vars1 ),
510
510
{{call ,Anno ,MungedExpr ,MungedExprs }, Vars2 };
511
511
munge_expr ({lc ,Anno ,Expr ,Qs }, Vars0 ) ->
512
- {MungedExpr , Vars1 } = munge_expr ( ? BLOCK1 ( Expr ) , Vars0 ),
512
+ {MungedExpr , Vars1 } = munge_comprehension ( Expr , Vars0 ),
513
513
{MungedQs , Vars2 } = munge_qualifiers (Qs , Vars1 ),
514
514
{{lc ,Anno ,MungedExpr ,MungedQs }, Vars2 };
515
515
munge_expr ({bc ,Anno ,Expr ,Qs }, Vars0 ) ->
516
516
{MungedExpr ,Vars1 } = munge_expr (? BLOCK1 (Expr ), Vars0 ),
517
517
{MungedQs , Vars2 } = munge_qualifiers (Qs , Vars1 ),
518
518
{{bc ,Anno ,MungedExpr ,MungedQs }, Vars2 };
519
- munge_expr ({mc ,Anno ,{map_field_assoc ,FAnno ,K ,V },Qs }, Vars0 ) ->
520
- Expr = {map_field_assoc ,FAnno ,? BLOCK1 (K ),? BLOCK1 (V )},
521
- {MungedExpr , Vars1 } = munge_expr (Expr , Vars0 ),
519
+ munge_expr ({mc ,Anno ,Expr ,Qs }, Vars0 ) ->
520
+ {MungedExpr , Vars1 } = munge_comprehension (Expr , Vars0 ),
522
521
{MungedQs , Vars2 } = munge_qualifiers (Qs , Vars1 ),
523
522
{{mc ,Anno ,MungedExpr ,MungedQs }, Vars2 };
524
523
munge_expr ({block ,Anno ,Body }, Vars0 ) ->
@@ -592,6 +591,18 @@ is_atomic({nil,_}) -> true;
592
591
is_atomic ({var ,_ ,_ }) -> true ;
593
592
is_atomic (_ ) -> false .
594
593
594
+ munge_comprehension ([Expr |Exprs ], Vars0 ) ->
595
+ {MungedExpr , Vars1 } = munge_comprehension (Expr , Vars0 ),
596
+ {MungedExprs , Vars2 } = munge_comprehension (Exprs , Vars1 ),
597
+ {[MungedExpr |MungedExprs ], Vars2 };
598
+ munge_comprehension ([], Vars ) ->
599
+ {[], Vars };
600
+ munge_comprehension ({map_field_assoc ,Anno ,K ,V }, Vars0 ) ->
601
+ Expr = {map_field_assoc ,Anno ,? BLOCK (K ),? BLOCK (V )},
602
+ munge_expr (Expr , Vars0 );
603
+ munge_comprehension (Expr , Vars0 ) ->
604
+ munge_expr (? BLOCK1 (Expr ), Vars0 ).
605
+
595
606
munge_exprs (Exprs , Vars ) ->
596
607
munge_exprs (Exprs , Vars , []).
597
608
0 commit comments