Somewhere in the code I've written I've made a mistake: A being a table, I wrote B := eval(A) instead of B := copy(A).
Next A and B were saved in a .m file.
I became aware of my mistake when I read this file in another Maple session.
I modified some entry of B and the corresponding entry of A became modified too.
But this raise the first question: let's say the command B:=eval(A) creates a bon between A and B, why this "bond" is not limited to the current session and by what process is it conserved through the save/read operations?
To investigate this I wrote this notional piece of code:
A := table([1=x]);
B := eval(A);
FA := "......"; # the name of some file
FB := "......"; # the name of some file
FC := "......"; # the name of some file
save A, B, FC; # basically what I do in my true code
save A, FA;
save B, FB;
# first attempt
FC := "......"; # the same name as above
B := y;
# second attempt
FA := "......"; # the same name as above
FB := "......"; # the same name as above
B := y;
Why is the "bond" between A and B lost in this second case ?