aboutsummaryrefslogtreecommitdiff
path: root/src/compile/blocks.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/compile/blocks.c')
-rw-r--r--src/compile/blocks.c10
1 files changed, 0 insertions, 10 deletions
diff --git a/src/compile/blocks.c b/src/compile/blocks.c
index 1059fd34..7d53d44e 100644
--- a/src/compile/blocks.c
+++ b/src/compile/blocks.c
@@ -16,7 +16,6 @@ Text_t compile_block_expression(env_t *env, ast_t *ast) {
if (stmts && !stmts->next) return compile(env, stmts->ast);
Text_t code = Text("({\n");
- deferral_t *prev_deferred = env->deferred;
env = fresh_scope(env);
for (ast_list_t *stmt = stmts; stmt; stmt = stmt->next)
prebind_statement(env, stmt->ast);
@@ -24,11 +23,6 @@ Text_t compile_block_expression(env_t *env, ast_t *ast) {
if (stmt->next) {
code = Texts(code, compile_statement(env, stmt->ast), "\n");
} else {
- // TODO: put defer after evaluating block expression
- for (deferral_t *deferred = env->deferred; deferred && deferred != prev_deferred;
- deferred = deferred->next) {
- code = Texts(code, compile_statement(deferred->defer_env, deferred->block));
- }
code = Texts(code, compile(env, stmt->ast), ";\n");
}
bind_statement(env, stmt->ast);
@@ -43,7 +37,6 @@ Text_t compile_inline_block(env_t *env, ast_t *ast) {
Text_t code = EMPTY_TEXT;
ast_list_t *stmts = Match(ast, Block)->statements;
- deferral_t *prev_deferred = env->deferred;
env = fresh_scope(env);
for (ast_list_t *stmt = stmts; stmt; stmt = stmt->next)
prebind_statement(env, stmt->ast);
@@ -51,8 +44,5 @@ Text_t compile_inline_block(env_t *env, ast_t *ast) {
code = Texts(code, compile_statement(env, stmt->ast), "\n");
bind_statement(env, stmt->ast);
}
- for (deferral_t *deferred = env->deferred; deferred && deferred != prev_deferred; deferred = deferred->next) {
- code = Texts(code, compile_statement(deferred->defer_env, deferred->block));
- }
return code;
}