



An object whose printed name is provided by a
short_name property defined as a routine, for example: causes a run-time stack overflow when the Infix command ;WATCH THING is typed. The problem appears to be associated with the
infix__watching attribute, which is set by InfixWatchOnSub( ).
Once an object of the form shown above has this attribute,
any attempt to print "(name) obj" crashes the interpreter.
The "(name)" print rule invokes -- in turn -- PrintShortName( ),
PSN__( ), PrintOrRun( ) and finally RunRoutines( ).
This last routine ends with the statement "return obj.prop();",
and at this point some form of infinite recursion is triggered. None submitted.
About Patches
Issue C63106 [previous patch]
Infix ;WATCH fails when object has short_name routine
Submitted by: Jim Aikin
Appeared in: Compiler 6.31 or before
Fixed in: -
Problem
Object ->
with name 'thing',
short_name [; print "thing"; rtrue; ];
Solution
Last updated 2 May 2008. The librarian in charge of this page is Roger Firth. Please email any comments, suggestions or corrections to roger@firthworks.com.