Test suite changes



I haven't been following this carefully, but I suspect that
what is needed is a command that says:
"everything before this time is supposed to be in the SYSTEM,
not in the USER environment"  This command would clear off all
lists of things-to-remove-when-the-user-says-kill-all, and thus
subsequent kill(all) would not remove anything before that
command, including trgsmp stuff etc.


James Amundson wrote:

>On Mon, 2004-03-15 at 21:50, Wolfgang Jenkner wrote:
>  
>
>>"Billinghurst, David (CALCRTS)" <david.billinghurst@comalco.riotinto.com.au> writes:
>>
>>    
>>
>>>I had noted some time ago that kill(all) broke trigsimp(), but hadn't 
>>>followed up.  The following Makefile fragment may be of interest, as
>>>it shows some stuff that gets cleaned up by kill().
>>>      
>>>
>
>  
>
>>Let me just recall that we have this problem because we dump some
>>translated files (e.g., from trigonometry/trgsmp.mac) in the standard
>>image.  This puts some info on the lists which are members of
>>$INFOLISTS.  Maxima thinks that everything on this lists has been
>>touched by the user in some way and therefore will scrub it.  However,
>>even a kill(all) will not completely break these translated and
>>compiled files because of the
>>$dont_kill_symbols_with_lisp_source_files switch (in suprv1.lisp),
>>which is T by default and which preserves function cells containing a
>>compiled function object.  It does not preserve other user-defined
>>properties of the corresponding symbols, though.
>>    
>>
>
>Yes. This is a good symmary.
>
>  
>
>>Now, trgsmp.mac has a number of lines like
>>
>>PUT('SIN,'COS,'COMPLEMENT_FUNCTION)$
>>
>>whose effect on the property lists of the trigonometric and hyperbolic
>>functions doesn't survive a KILL(ALL).  It does, however, survive a
>>KILL(ALLBUT(PROPS)).  So, my first suggestion would be to kill more
>>selectively in the test suite.
>>    
>>
>
>That's probably a good idea for the time being.
>
>  
>
>>Obviously, we must also have a means to reset Maxima to the initial
>>state. 
>>    
>>
>
>Absolutely.
>
>  
>
>> This could be accomplished by doing a
>>save("initial-save-maxima.LISP",all) after building the maxima image
>>(we could even prefabricate this file) and writing a RESET() command
>>(or a RESET argument to KILL) which does
>>
>>kill(all);
>>load("initial-save-maxima.LISP");
>>    
>>
>
>That's one approach I have also considered. Somehow, it seems more
>appealing to me to keep track of which properties are built in and which
>belong in the user. Your solution may be simplest in the long run,
>however.
>
>I'd like to see a little more discussion on this point before we make
>the change. Are there thoughts from others?
>
>--Jim
>
>