• Join/Login
  • Business Software
  • Open Source Software
  • For Vendors
  • Blog
  • About
  • More
    • Articles
    • Create
    • SourceForge Podcast
    • Site Documentation
    • Subscribe to our Newsletter
    • Support Request
SourceForge logo
For Vendors Help Create Join Login
SourceForge logo
Business Software
Open Source Software
SourceForge Podcast
Resources
  • Articles
  • Case Studies
  • Blog
Menu
  • Help
  • Create
  • Join
  • Login
  • Home
  • Browse
  • FMSLogo
  • Code
FMSLogo

FMSLogo Code

A Logo programming environment for Microsoft Windows

Brought to you by: david_costanzo
  • Summary
  • Files
  • Reviews
  • Support
  • Tickets ▾
    • Feature Requests
    • Bugs
    • Support Requests
  • Discussion
  • Code
Menu ▾ ▴
 
  • Browse Commits
  • Browse Files

Commit [r6343]  Maximize  Restore  History

Fix Bug #609; Procedures are now re-treeified if they are:

- redefined with DEFINE
- redefined with TO
- erased with ERASE
- overwritten with COPYDEF

The problem is that these workspace procedures all untreeified the previous procedure.
This was historically needed because the tree had a circular reference and changing
the case object's procnode while it still had a tree would leak the tree. However,
the evalulator can't handle when a running procedure is untreeified and the generation
changes, as this sets the tree of bodylist to NIL, and the evaluator can't re-treeify NIL.

A recent change reworked the structure of a tree to no longer creates circular references.
Therefore, explicit untreeifying is no longer needed, so that logic could all be removed.

This is a rare fix where the fix is entirely done by removing code.

david_costanzo 2026-07-06

Browse code at this revision

Parent: [r6342]

Child: [r6344]

changed /logo/trunk/src/CHANGELOG.TXT
changed /logo/trunk/src/eval.cpp
changed /logo/trunk/src/test/eval.lgo
changed /logo/trunk/src/wrksp.cpp
/logo/trunk/src/CHANGELOG.TXT Diff Switch to side-by-side view
Loading...
/logo/trunk/src/eval.cpp Diff Switch to side-by-side view
Loading...
/logo/trunk/src/test/eval.lgo Diff Switch to side-by-side view
Loading...
/logo/trunk/src/wrksp.cpp Diff Switch to side-by-side view
Loading...
SourceForge
  • Create a Project
  • Open Source Software
  • Business Software
  • Top Downloaded Projects
Company
  • About
  • Team
  • SourceForge Headquarters
    1320 Columbia Street Suite 310
    San Diego, CA 92101
    +1 (858) 422-6466
Resources
  • Support
  • Site Documentation
  • Site Status
  • SourceForge Reviews
SourceForge logo
© 2026 Slashdot Media. All Rights Reserved.
Terms Privacy Opt Out Advertise

Cerberus Logo