Skip to content

Resolve missing line 800 in alternate Life for Two source #67

Description

@scottdensmore

Problem

The pinned alternate 00_Alternate_Languages/56_Life_for_Two/lifefortwo.bas is byte-different from the main variant at its two terminal branches. After a draw or win it executes GOTO 800, but the file contains no line 800, so otherwise successful gameplay ends with undefined BASIC line 800.

  • Pinned corpus commit: 5301155192d91d74d337899cecc59dbda59c4c17
  • Alternate SHA-256: 305484f82f72c02682b633eddf3007e024634e11f7ec91081698ec77cd0d27e1
  • Main variant uses GOTO 999 and exits normally.

Reproduction

Run the alternate through go-basic and enter:

1,1
3,1
5,1
1,5
3,5
5,5

Both populations become extinct and the program prints A DRAW, then fails at BASIC line 574 because target 800 is undefined.

Current compatibility handling

The playable acceptance test retains the exact upstream bytes and uses -max-statements 1872 to stop immediately after the completed draw, before the invalid jump. Do not make undefined GOTO targets silently succeed in the interpreter.

Resolution

Prefer correcting the upstream BASIC file (or adopting a later pinned corpus revision containing that correction), then remove the statement-limit exception and assert normal exit for the alternate variant.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions