aboutsummaryrefslogtreecommitdiff
path: root/src/compile/blocks.c
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2025-09-21 18:16:32 -0400
committerBruce Hill <bruce@bruce-hill.com>2025-09-21 18:16:32 -0400
commit7e3e245f6809946ea06ef1998bcabb7e0902fbd7 (patch)
tree67c06d75ecff021cd70073f8a7da278cfe7f6410 /src/compile/blocks.c
parent7198afcfec38f8f0cc82e093567e2b098a42970f (diff)
Deprecate `defer`
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;
}