diff --git a/extlib/benz/codegen.c b/extlib/benz/codegen.c index 75371b81..0261105d 100644 --- a/extlib/benz/codegen.c +++ b/extlib/benz/codegen.c @@ -508,20 +508,14 @@ analyze_lambda(pic_state *pic, analyze_scope *scope, pic_value obj) return analyze_defer(pic, scope, formals, body); } -static pic_value -analyze_declare(pic_state *pic, analyze_scope *scope, pic_sym *var) -{ - define_var(pic, scope, var); - - return analyze_var(pic, scope, var); -} - static pic_value analyze_define(pic_state *pic, analyze_scope *scope, pic_value obj) { pic_value var, val; - var = analyze_declare(pic, scope, pic_sym_ptr(pic_list_ref(pic, obj, 1))); + define_var(pic, scope, pic_sym_ptr(pic_list_ref(pic, obj, 1))); + + var = analyze(pic, scope, pic_list_ref(pic, obj, 1), false); val = analyze(pic, scope, pic_list_ref(pic, obj, 2), false); return pic_list3(pic, pic_obj_value(pic->sSETBANG), var, val);