Skip to content

Commit 903b669

Browse files
committed
coffee: Fix exception on literal empty list
Issue kanaka#190
1 parent 1d10097 commit 903b669

8 files changed

+8
-0
lines changed

coffee/step3_env.coffee

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ eval_ast = (ast, env) ->
2222
EVAL = (ast, env) ->
2323
#console.log "EVAL:", printer._pr_str ast
2424
if !types._list_Q ast then return eval_ast ast, env
25+
if ast.length == 0 then return ast
2526

2627
# apply list
2728
[a0, a1, a2, a3] = ast

coffee/step4_if_fn_do.coffee

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ eval_ast = (ast, env) ->
2323
EVAL = (ast, env) ->
2424
#console.log "EVAL:", printer._pr_str ast
2525
if !types._list_Q ast then return eval_ast ast, env
26+
if ast.length == 0 then return ast
2627

2728
# apply list
2829
[a0, a1, a2, a3] = ast

coffee/step5_tco.coffee

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ EVAL = (ast, env) ->
2424
loop
2525
#console.log "EVAL:", printer._pr_str ast
2626
if !types._list_Q ast then return eval_ast ast, env
27+
if ast.length == 0 then return ast
2728

2829
# apply list
2930
[a0, a1, a2, a3] = ast

coffee/step6_file.coffee

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ EVAL = (ast, env) ->
2424
loop
2525
#console.log "EVAL:", printer._pr_str ast
2626
if !types._list_Q ast then return eval_ast ast, env
27+
if ast.length == 0 then return ast
2728

2829
# apply list
2930
[a0, a1, a2, a3] = ast

coffee/step7_quote.coffee

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ EVAL = (ast, env) ->
3636
loop
3737
#console.log "EVAL:", printer._pr_str ast
3838
if !types._list_Q ast then return eval_ast ast, env
39+
if ast.length == 0 then return ast
3940

4041
# apply list
4142
[a0, a1, a2, a3] = ast

coffee/step8_macros.coffee

+1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ EVAL = (ast, env) ->
4949
# apply list
5050
ast = macroexpand ast, env
5151
if !types._list_Q ast then return eval_ast ast, env
52+
if ast.length == 0 then return ast
5253

5354
[a0, a1, a2, a3] = ast
5455
switch a0.name

coffee/step9_try.coffee

+1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ EVAL = (ast, env) ->
4949
# apply list
5050
ast = macroexpand ast, env
5151
if !types._list_Q ast then return eval_ast ast, env
52+
if ast.length == 0 then return ast
5253

5354
[a0, a1, a2, a3] = ast
5455
switch a0.name

coffee/stepA_mal.coffee

+1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ EVAL = (ast, env) ->
4949
# apply list
5050
ast = macroexpand ast, env
5151
if !types._list_Q ast then return eval_ast ast, env
52+
if ast.length == 0 then return ast
5253

5354
[a0, a1, a2, a3] = ast
5455
switch a0.name

0 commit comments

Comments
 (0)