--- esu.py- 2016-09-27 00:00:00.000000000 +0900 +++ esu.py 2016-09-28 00:00:00.000000000 +0900 @@ -685,7 +685,13 @@ def do_sdef(e, info): # [ 'struct', name, body ] (name, body) = e[1:3] if name and body: - new_val( sdef_name(name), body, info ) + name = sdef_name(name) + env = get_call_inf(info).get('env') + if name not in env: + new_val(name, body, info) + return + if env.get(name) != body: + err_exit("already other body exist '{}'".format(name)) def do_expr(expr, info): if info.get('verb') >= 2: