let delete_in_list (name0 : string) (value : string) (name : string) (var : string) : unit =
if(is_a_list var)
then(
let list_to_refer = get_value_of_var name var in
let old_value_of_list = if(Hashtbl.mem var_value ("x",list_to_refer)) then (Hashtbl.find var_value ("x",list_to_refer)) else "" in
let value_aux = let val_to_add = if((is_a_var value))
then (get_value_of_var name0 value)
else value in
let decomp = decompose old_value_of_list in
if(decomp<>[]) then ("list("^(list2string "," (remove val_to_add (cdr decomp)))^")")
else if(decomp=[]) then ("list()")
else old_value_of_list;
in
if(old_value_of_list<>value_aux)
then(
let name_aux = ("x",list_to_refer) in
add_in_variable_change name_aux;
local_variable_change:= name_aux::(!local_variable_change);
(Hashtbl.add var_value name_aux value_aux)
)
)