% % test for message required to be sent for first built image of subject % _Xact empty !Subject.Xacts "Subject_Xacts" text*xact _Subject.Xacts any)? "xacsent" log)( { % % stack: cur-xact % % have a list of xacts items with subject as top stack item % 0 !Subject.Xact _Subject.Xacts execstr % % stack: cur-xact exec-str empty [ xact# . . . ] subject % "xacsenu" log)( pop { isnull ? !Subject.Xact } loop pop % % stack: cur-xact % % have the least xact member of subject % _Subject.Xact "xacsenv" log)( pos( "xacsenw" log)( { % % there was a xact, it is the first in the seq of xacts of subject % !Xact % % stack: cur-xact exec-str % "Subject_Xacts" text_xact !subjx _Subject.Xacts execstr "xacsenu" log)( pop { isnull ? "xacsenub" log)( !Xact _subjx "Subject_Xacts" text!xact } loop pop % % stack: cur-xact % % see if a message has been sent yet % empty !Subject.Message "Subject_Message" text*xact _Subject.Message isnull) % % a message was not sent for the first build in sequence if true % } { % % no anchor xact for lineup % % stack: cur-xact zero % "xacsenxa" log)( pop false } ifelse } { % % stack: cur-xact % "xacsenxb" log)( % % no xacts for subject in lineup % false } ifelse "xacseny" log)( exch "xacsenz" log)( !Xact % % stack: not-sent %