The built-in Mathematica command Save[file, symbol] uses FullDefinition[] to look up the definition symbol and all of the subsidiary definitions.
For example, the commands
a:=b
c:=2a+b
Save[ToFileName[NotebookDirectory[],"test.dat"],c]
produces the file test.dat containing
c := 2*a + b
a := b
I have a program with a lot of prettifying MakeBoxes type definitions that I do not want to be saved when I Save[] the many separate results.
In terms of the simple example above, I do not want the a := b definition saved to the file. Does anyone know a neat way to make this happen?
According to the documentation,
SaveusesFullDefinitionwhile what you want is for it to useDefinition. Using aBlockwe can override the global definition of any symbol, and in particular replaceFullDefinitionwithDefinitionwhile runningSave:The magic works:
EDIT. Wrapping things up with the right attributes: