This is another version of Keep, which allows a user to specify what variables are kept in the workspace of the calling routine. "Keep" compliments "Clear".
This version has been extended to match the command format of the "clear" command for clearing variables. Thus wildcards and regular expressions are allowed. The version also supports the "global" key word and Keep will not touch global variables unless the "global" key word is used.
Examples of supported formats:
keep var1 var2
keep -regexp expr1
keep global var1
keep global -regexp expr1
Possibly the most useful function on the file exchange. This is IMHO the best keep variant on here. (I've considered keep and keep2 through keep5).
Thank you very much, exactly what i needed
Thanks to David for pointing out the bug when there are no variables to delete. This generated an unnecessary error message. Comments were also improved to delineate the examples more clearly.
Useful function but there is a bug:
The function returns an error if only one workspace variable exists. To reproduce. Clear workspace initialize 1 variable X and run keep(X)
very nice job!!
Another bug fix which fixes the same issue as the prior bug fix but with global variables.
Bug fix to avoid error message when argument list matches the entire workspace variable set. For this case there are no variables to be "cleared".