David Costanzo - 2026-05-02

Here repro steps that evidence the leak without needing a debug version of FMSLogo.

Step 1:
Write the following to a file named file1.lgo:

TO REDEFINED
   ; load another file that redefines this procedure
   FILE2
END

MAKE "startup [ REDEFINED ]

Step 2:
Write the following to a file named file2.lgo (in the same directory)

; The running procedure must be redefined.
TO REDEFINED
END

TO FILE2
END

Step 3:
Start fmslogo in the directory with file1.lgo and file2.lgo, perhaps by loading file1.lgo.

Step 4:
Execute the following

SHOW FIRST NODES
REPEAT 10000 [ LOAD "file1.lgo ERASE "FILE2 ]
SHOW FIRST NODES

What Happens:
The printout for the second call to NODES is significantly higher than the one for the first call.

Expected Result:
The printout for both calls to NODES is about the same (within a few hundred).

 

Last edit: David Costanzo 2026-07-04