• 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
  • Bugs
FMSLogo

DEFINE allows parameters after default parameter number, result is not callable

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 ▾ ▴
  • Create Ticket
  • View Stats

Group

  • v_6.06x
  • v_6.07.X
  • v_6.08.X
  • v_6.10.X
  • v_6.11.X
  • v_6.13.X
  • v_6.22.X
  • v_6.25.X
  • v_6.26.X
  • v_6.27.X
  • v_6.28.X
  • v_6.29.X

Searches

  • Changes
  • Closed Tickets
  • Open Tickets

Help

  • Formatting Help

#617 DEFINE allows parameters after default parameter number, result is not callable

v_6.06x
open
nobody
None
5
2026-05-29
2026-05-29
David Costanzo
No

DEFINE is documented as allowing the same parameters/format as TO. TO says that if the default parameter number is given, it must be last. However, DEFINE allows the default parameter number to be given anywhere, which results in an uncallable procedure.

How Reproducible:
Every Time

Steps to Reproduce:

DEFINE "BAD_PROC [ [a 1 [b 2] ] [ OUTPUT LIST :a :b ] ]

What Happens:
No error is thrown, and BAD_PROC is defined, but you can't call it.

BAD_PROC 10
b has no value in BAD_PROC
[OUTPUT LIST :a :b]

(BAD_PROC 10)
b has no value in BAD_PROC
[OUTPUT LIST :a :b]

(BAD_PROC 10 20)
too much inside ()'s

Expected Result:
DEFINE throws an error.

Notes:
The bug is reproducible in UCBLogo 6.2.5.

If the default number of parameters is given at the end, then DEFINE honors it correctly:

DEFINE "GOOD_PROC [ [a [b 2] 1 ] [ OUTPUT LIST :a :b ] ]

SHOW GOOD_PROC 1
[1 2]

SHOW (GOOD_PROC 10 20)
[10 20]

Discussion


Log in to post a comment.

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