'From Squeak3.6beta of ''4 July 2003'' [latest update: #5419] on 10 September 2003 at 11:29:46 pm'! "Change Set: BlockArgumentErrorDescriptionEnh-mjr Date: 10 September 2003 Author: Mike Roberts Improves the wording of the error from BlockContext when passed an incorrect number of arguments."! !BlockContext methodsFor: 'evaluating' stamp: 'mjr 9/10/2003 22:42'! valueWithArguments: anArray "Primitive. Evaluate the block represented by the receiver. The argument is an Array whose elements are the arguments for the block. Fail if the length of the Array is not the same as the the number of arguments that the block was expecting. Fail if the block is already being executed. Essential. See Object documentation whatIsAPrimitive." self numArgs = anArray size ifTrue: [self error: 'Attempt to evaluate a block that is already being evaluated.'] ifFalse: [self error: 'This block accepts ' ,self numArgs printString, ' argument', (self numArgs = 1 ifTrue:[''] ifFalse:['s']) , ', but was called with ', anArray size printString, '.'] ! !