Inform - Support - Patches

About Patches  

Compiler  
Library  

DM4 Errata  

Issue C63025     [previous patch]

MAX_EXPRESSION_NODES overflow generates bad message
Submitted by: Mark Tilford     Appeared in: Compiler 6.30 or before     Fixed in: -
Problem

An over-complex expression generates messages of the form:

  Fatal error: The memory setting MAX_EXPRESSION_NODES3 (which is 100 at
  present) has been exceeded.  Try running Inform again with
  $MAX_EXPRESSION_NODES3=<some-larger-number> on the command line.

(where the '3' can be any digit 1-9). This is very misleading, since the actual memory setting which must be changed is $MAX_EXPRESSION_NODES (without any digit 1-9).

Solution

In expressp.c, modify the nine calls of the form:

  memoryerror("MAX_EXPRESSION_NODES3", MAX_EXPRESSION_NODES);

to remove the digit 1-9. Alternatively, if this digit is needed for compiler debugging purposes, provide a new expressionnodeserror() routine in which the digit can be passed as a parameter without generated a misleading message.


Last updated 17 April 2013. This site is no longer supported; information may be out of date.
Maintained as a historical archive by the Interactive Fiction Technology Foundation. Copyright 1993-2018 IFTF, CC-BY-SA unless otherwise noted.
This page was originally managed by Roger Firth.