Regression: Subfunctions not cleared upon function reload

John W. Eaton jwe at bevo.che.wisc.edu
Sun May 4 22:02:08 CDT 2008


On  4-May-2008, John W. Eaton wrote:

| On  4-May-2008, Moritz Borgmann wrote:
| 
| | Let's say I have the following files:
| | 
| | ============ testfun1.m ============
| | function testfun1 ()
| | testscript;
| | 
| | function testsubfun ()
| | disp ('testsubfun in testfun1');
| | ==================================
| | 
| | ============ testscript.m ============
| | f = str2func ('testsubfun');
| | f ();
| | ==================================
| | 
| | This gives
| | octave:5> testfun1 ()
| | testsubfun in testfun1
| | 
| | Now if I comment out the testsubfun subfunction in testfun1.m and 
| | save the file, Octave still gives exactly the same result. Instead, 
| | it should bail out and complain that testsubfun is not defined. It 
| | seems like subfunctions are not properly cleared from the symbol 
| | table upon reload of a function.
| 
| The following change seems to fix this problem.

Never mind.  That change causes lots of test failures.  I think I'm
closer to understanding what is cuasing the problem, but that fix is
not the solution.

jwe


More information about the Bug-octave mailing list