Brian,
E-Prime is acting exactly as designed. List.Terminate simply instructs E-Prime to not to run another round of the running List, but of course it completes running everything in the current round.
If you want to immediately exit the running Procedure then you have to do a little bit more. I would add a Label object at the end of the Procedure -- for your example, lets call it BlockProcedureEndLabel. Then the InLine code would go something like
If trialNum = 3, Then BlockList.Terminate GoTo BlockProcedureEndLabel End If
-- David McFarlane
Sorry, I did not notice the syntax error in that example code until I posted it. Here it is again, without the offending comma after the If condition (and adding some parentheses for added clarity):
If (trialNum = 3) Then BlockList.Terminate GoTo BlockProcedureEndLabel End If
-- David McFarlane