• 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 [r6105]  Maximize  Restore  History

Fix Bug #602; APPLY with a primitive now copies the inputlist so that it can't be modified.

The fix was inspired by the source code for UCBLogo, which doesn't have this bug.
UCBLogo copies inputlist so that modifications won't affect any of the caller's variables.

However, instead of calling "append(argl, NIL)" this revision creates a new function
with a clearer name "copy_list(argl)".

Also, instead of always copying the list in APPLY, the list is only copied if the
procedure is the name of a primitive, since that's the only way (to my understanding)
the list could be modified. This was partly to only incur the overhead of copying
the list when a copy was needed, but also for clarity: the fix closer to the code
path that needs it.

david_costanzo 2025-07-29

Browse code at this revision

Parent: [r6104]

Child: [r6106]

changed /logo/trunk/src/CHANGELOG.TXT
changed /logo/trunk/src/eval.cpp
changed /logo/trunk/src/test/apply.lgo
/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/apply.lgo 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
mdb logo