Question: How to save a long list of variables except procedures and a selected list of unwanted variables?


In a previous question I asked "How to save all user varibles except for the procedures", now I wonder how to extend that to a procedure that saves all user variables except the user procedures and a list of unwanted variables.     The following procedure

SaveAllVariablesExcept := proc(notsave::set, fileName :: string )
   subs(_NAMES = (remove(type, {anames}(user) minus {anames}(procedure), suffixed(notsave)))[],
        proc() save _NAMES, fileName end proc)()
end proc:

does what I need in a small scale.   For instance 


does not save the variables listed in the first argument. All other variables, except procedures, are saved.  

Suppose that instead of { 'exceptvars',...} I saved a list of variables using the command exceptvars:={anames}(user) minus {anames}(procedure) in a certain part of the worksheet and issued SaveAllVariablesExcept(exceptvars,s).  SaveAllVariablesExcept no longer works (a suffixed problem) meaning that I don't know how to build a set from {anames}(user) that has the right syntax to be accepted in SaveAllVariablesExcept.  

Of course, alternative solutions are welcome but I wonder if someone out there could explain me how to build the proper exceptvars including exceptvars as well. 

Many thanks.

Please Wait...