- case IA_Delete: { n = NodeRemove(n->parent, n); break; }
-
- case IA_AddNamespace: { S(n1, n, NK_Namespace) n = n1; mode = IM_Editing; break; }
- case IA_AddStruct: { S(n1, n, NK_Struct) n = n1; mode = IM_Editing; break; }
- case IA_AddFunc: { S(n1, n, NK_Func) N(n2, n1, NK_VarList) N(n3, n1, NK_Body) n = n1; mode = IM_Editing; break; }
- case IA_AddVar: { S(n1, n, NK_Var) n = n1; mode = IM_Editing; break; }
- case IA_AddVarDecl: { S(n1, n, NK_VarDecl) S(n2, n1, NK_VarType) n = n1; mode = IM_Editing; break; }
- case IA_AddType: { S(n1, n, NK_Type) n = n1; mode = IM_Editing; break; }
- case IA_AddIf: { N(n1, n, NK_If) N(n2, n1, NK_ExprList) N(n3, n1, NK_Body) n = n2; break; }
- case IA_AddWhile: { N(n1, n, NK_While) N(n2, n1, NK_ExprList) N(n3, n1, NK_Body) n = n2; break; }
- case IA_AddNum: { S(n1, n, NK_Num) n = n1; mode = IM_Editing; break; }
- case IA_AddStr: { S(n1, n, NK_Str) n = n1; mode = IM_Editing; break; }
- case IA_AddCall: { S(n1, n, NK_Call) N(n2, n1, NK_ExprList) n = n1; mode = IM_Editing; break; }
- case IA_AddOp: { S(n1, n, NK_Op) n = n1; mode = IM_Editing; break; }
+ case IA_Delete: { n = NodeRemove(n->prnt, n); break; }
+
+ case IA_AddNamespace: { S(n1, n, NK_Namespace) n=n1; mode=IM_Editing; break; }
+ case IA_AddStruct: { S(n1, n, NK_Struct) n=n1; mode=IM_Editing; break; }
+ case IA_AddFunc: { S(n1, n, NK_Func)
+ N(n2, n1, NK_VarList)
+ N(n3, n1, NK_Body) n=n1; mode=IM_Editing; break; }
+ case IA_AddVar: { S(n1, n, NK_Var) n=n1; mode=IM_Editing; break; }
+ case IA_AddVarDecl: { S(n1, n, NK_VarDecl) n=n1;
+ S(n2, n1, NK_VarType) q[0]=n2; mode=IM_Editing; break; }
+ case IA_AddType: { S(n1, n, NK_Type) n=n1; mode=IM_Editing; break; }
+ case IA_AddIf: { N(n1, n, NK_If)
+ N(n2, n1, NK_ExprList)
+ N(n3, n1, NK_Body) n=n2; break; }
+ case IA_AddWhile: { N(n1, n, NK_While)
+ N(n2, n1, NK_ExprList)
+ N(n3, n1, NK_Body) n=n2; break; }
+ case IA_AddNum: { S(n1, n, NK_Num) n=n1; mode=IM_Editing; break; }
+ case IA_AddStr: { S(n1, n, NK_Str) n=n1; mode=IM_Editing; break; }
+ case IA_AddCall: { S(n1, n, NK_Call)
+ N(n2, n1, NK_ExprList) n=n1; mode=IM_Editing; break; }
+ case IA_AddOp: { S(n1, n, NK_Op) n=n1; mode=IM_Editing; break; }