|  | @@ -3548,11 +3548,13 @@ $ctx2.sendIdx["nextPutAll:"]=5;
 | 
	
		
			
				|  |  |  $17=self._nextPutAll_(_st(each)._asVariableName());
 | 
	
		
			
				|  |  |  $ctx2.sendIdx["nextPutAll:"]=6;
 | 
	
		
			
				|  |  |  return $17;
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)})}),(function(){
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)})
 | 
	
		
			
				|  |  | +}),(function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return self._nextPutAll_(",");
 | 
	
		
			
				|  |  |  $ctx2.sendIdx["nextPutAll:"]=7;
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)})
 | 
	
		
			
				|  |  | +}));
 | 
	
		
			
				|  |  |  self._nextPutAll_("},");
 | 
	
		
			
				|  |  |  $ctx1.sendIdx["nextPutAll:"]=8;
 | 
	
		
			
				|  |  |  $24=_st(anIRClosure)._scope();
 | 
	
	
		
			
				|  | @@ -3562,12 +3564,13 @@ $22=_st($23)._alias();
 | 
	
		
			
				|  |  |  $21=_st($22).__comma(",");
 | 
	
		
			
				|  |  |  $20=_st($21).__comma(_st(_st(_st(anIRClosure)._scope())._blockIndex())._asString());
 | 
	
		
			
				|  |  |  $ctx1.sendIdx[","]=7;
 | 
	
		
			
				|  |  | -$19=_st($20).__comma(")})");
 | 
	
		
			
				|  |  | +$19=_st($20).__comma(")});");
 | 
	
		
			
				|  |  |  $ctx1.sendIdx[","]=6;
 | 
	
		
			
				|  |  |  $18=self._nextPutAll_($19);
 | 
	
		
			
				|  |  | -return self}, function($ctx1) {$ctx1.fill(self,"nextPutBlockContextFor:during:",{anIRClosure:anIRClosure,aBlock:aBlock},globals.JSStream)})},
 | 
	
		
			
				|  |  | +return self}, function($ctx1) {$ctx1.fill(self,"nextPutBlockContextFor:during:",{anIRClosure:anIRClosure,aBlock:aBlock},globals.JSStream)});
 | 
	
		
			
				|  |  | +},
 | 
	
		
			
				|  |  |  args: ["anIRClosure", "aBlock"],
 | 
	
		
			
				|  |  | -source: "nextPutBlockContextFor: anIRClosure during: aBlock\x0a\x09anIRClosure requiresSmalltalkContext ifFalse: [ ^ aBlock value ].\x0a\x09self\x0a\x09\x09nextPutAll: 'return smalltalk.withContext(function(', anIRClosure scope alias, ') {'; lf.\x0a\x09\x0a\x09aBlock value.\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '}, function(', anIRClosure scope alias, ') {';\x0a\x09\x09nextPutAll: anIRClosure scope alias, '.fillBlock({'.\x0a\x09\x0a\x09anIRClosure locals\x0a\x09\x09do: [ :each |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09nextPutAll: each asVariableName;\x0a\x09\x09\x09\x09nextPutAll: ':';\x0a\x09\x09\x09\x09nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ self nextPutAll: ',' ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '},';\x0a\x09\x09nextPutAll: anIRClosure scope outerScope alias, ',', anIRClosure scope blockIndex asString, ')})'",
 | 
	
		
			
				|  |  | +source: "nextPutBlockContextFor: anIRClosure during: aBlock\x0a\x09anIRClosure requiresSmalltalkContext ifFalse: [ ^ aBlock value ].\x0a\x09self\x0a\x09\x09nextPutAll: 'return smalltalk.withContext(function(', anIRClosure scope alias, ') {'; lf.\x0a\x09\x0a\x09aBlock value.\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '}, function(', anIRClosure scope alias, ') {';\x0a\x09\x09nextPutAll: anIRClosure scope alias, '.fillBlock({'.\x0a\x09\x0a\x09anIRClosure locals\x0a\x09\x09do: [ :each |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09nextPutAll: each asVariableName;\x0a\x09\x09\x09\x09nextPutAll: ':';\x0a\x09\x09\x09\x09nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ self nextPutAll: ',' ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '},';\x0a\x09\x09nextPutAll: anIRClosure scope outerScope alias, ',', anIRClosure scope blockIndex asString, ')});'",
 | 
	
		
			
				|  |  |  messageSends: ["ifFalse:", "requiresSmalltalkContext", "value", "nextPutAll:", ",", "alias", "scope", "lf", "do:separatedBy:", "locals", "asVariableName", "outerScope", "asString", "blockIndex"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
	
		
			
				|  | @@ -3615,7 +3618,7 @@ protocol: 'streaming',
 | 
	
		
			
				|  |  |  fn: function (aBlock,anArray){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx1) { 
 | 
	
		
			
				|  |  | -var $1,$2;
 | 
	
		
			
				|  |  | +var $1,$2,$3,$4;
 | 
	
		
			
				|  |  |  _st(self["@stream"])._nextPutAll_("(function(");
 | 
	
		
			
				|  |  |  $ctx1.sendIdx["nextPutAll:"]=1;
 | 
	
		
			
				|  |  |  _st(anArray)._do_separatedBy_((function(each){
 | 
	
	
		
			
				|  | @@ -3630,11 +3633,15 @@ $1=self["@stream"];
 | 
	
		
			
				|  |  |  _st($1)._nextPutAll_("){");
 | 
	
		
			
				|  |  |  $ctx1.sendIdx["nextPutAll:"]=3;
 | 
	
		
			
				|  |  |  $2=_st($1)._lf();
 | 
	
		
			
				|  |  | +$ctx1.sendIdx["lf"]=1;
 | 
	
		
			
				|  |  |  _st(aBlock)._value();
 | 
	
		
			
				|  |  | -_st(self["@stream"])._nextPutAll_("})");
 | 
	
		
			
				|  |  | -return self}, function($ctx1) {$ctx1.fill(self,"nextPutClosureWith:arguments:",{aBlock:aBlock,anArray:anArray},globals.JSStream)})},
 | 
	
		
			
				|  |  | +$3=self["@stream"];
 | 
	
		
			
				|  |  | +_st($3)._lf();
 | 
	
		
			
				|  |  | +$4=_st($3)._nextPutAll_("})");
 | 
	
		
			
				|  |  | +return self}, function($ctx1) {$ctx1.fill(self,"nextPutClosureWith:arguments:",{aBlock:aBlock,anArray:anArray},globals.JSStream)})
 | 
	
		
			
				|  |  | +},
 | 
	
		
			
				|  |  |  args: ["aBlock", "anArray"],
 | 
	
		
			
				|  |  | -source: "nextPutClosureWith: aBlock arguments: anArray\x0a\x09stream nextPutAll: '(function('.\x0a\x09anArray\x0a\x09\x09do: [ :each | stream nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ stream nextPut: ',' ].\x0a\x09stream nextPutAll: '){'; lf.\x0a\x09aBlock value.\x0a\x09stream nextPutAll: '})'",
 | 
	
		
			
				|  |  | +source: "nextPutClosureWith: aBlock arguments: anArray\x0a\x09stream nextPutAll: '(function('.\x0a\x09anArray\x0a\x09\x09do: [ :each | stream nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ stream nextPut: ',' ].\x0a\x09stream nextPutAll: '){'; lf.\x0a\x09aBlock value.\x0a\x09stream lf; nextPutAll: '})'",
 | 
	
		
			
				|  |  |  messageSends: ["nextPutAll:", "do:separatedBy:", "asVariableName", "nextPut:", "lf", "value"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
	
		
			
				|  | @@ -3696,19 +3703,22 @@ $ctx2.sendIdx["nextPutAll:"]=5;
 | 
	
		
			
				|  |  |  $18=self._nextPutAll_(_st(each)._asVariableName());
 | 
	
		
			
				|  |  |  $ctx2.sendIdx["nextPutAll:"]=6;
 | 
	
		
			
				|  |  |  return $18;
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)})}),(function(){
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)})
 | 
	
		
			
				|  |  | +}),(function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return self._nextPutAll_(",");
 | 
	
		
			
				|  |  |  $ctx2.sendIdx["nextPutAll:"]=7;
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)})
 | 
	
		
			
				|  |  | +}));
 | 
	
		
			
				|  |  |  self._nextPutAll_("},");
 | 
	
		
			
				|  |  |  $ctx1.sendIdx["nextPutAll:"]=8;
 | 
	
		
			
				|  |  |  self._nextPutAll_(_st(_st(aMethod)._theClass())._asJavascript());
 | 
	
		
			
				|  |  |  $ctx1.sendIdx["nextPutAll:"]=9;
 | 
	
		
			
				|  |  | -$19=self._nextPutAll_(")})");
 | 
	
		
			
				|  |  | -return self}, function($ctx1) {$ctx1.fill(self,"nextPutContextFor:during:",{aMethod:aMethod,aBlock:aBlock},globals.JSStream)})},
 | 
	
		
			
				|  |  | +$19=self._nextPutAll_(")});");
 | 
	
		
			
				|  |  | +return self}, function($ctx1) {$ctx1.fill(self,"nextPutContextFor:during:",{aMethod:aMethod,aBlock:aBlock},globals.JSStream)})
 | 
	
		
			
				|  |  | +},
 | 
	
		
			
				|  |  |  args: ["aMethod", "aBlock"],
 | 
	
		
			
				|  |  | -source: "nextPutContextFor: aMethod during: aBlock\x0a\x09aMethod requiresSmalltalkContext ifFalse: [ ^ aBlock value ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: 'return smalltalk.withContext(function(', aMethod scope alias, ') { '; lf.\x0a\x09aBlock value.\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '}, function(', aMethod scope alias, ') {', aMethod scope alias;\x0a\x09\x09nextPutAll: '.fill(self,', aMethod selector asJavascript, ',{'.\x0a\x0a\x09aMethod locals\x0a\x09\x09do: [ :each |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09nextPutAll: each asVariableName;\x0a\x09\x09\x09\x09nextPutAll: ':';\x0a\x09\x09\x09\x09nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ self nextPutAll: ',' ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '},';\x0a\x09\x09nextPutAll: aMethod theClass asJavascript;\x0a\x09\x09nextPutAll: ')})'",
 | 
	
		
			
				|  |  | +source: "nextPutContextFor: aMethod during: aBlock\x0a\x09aMethod requiresSmalltalkContext ifFalse: [ ^ aBlock value ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: 'return smalltalk.withContext(function(', aMethod scope alias, ') { '; lf.\x0a\x09aBlock value.\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '}, function(', aMethod scope alias, ') {', aMethod scope alias;\x0a\x09\x09nextPutAll: '.fill(self,', aMethod selector asJavascript, ',{'.\x0a\x0a\x09aMethod locals\x0a\x09\x09do: [ :each |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09nextPutAll: each asVariableName;\x0a\x09\x09\x09\x09nextPutAll: ':';\x0a\x09\x09\x09\x09nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ self nextPutAll: ',' ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '},';\x0a\x09\x09nextPutAll: aMethod theClass asJavascript;\x0a\x09\x09nextPutAll: ')});'",
 | 
	
		
			
				|  |  |  messageSends: ["ifFalse:", "requiresSmalltalkContext", "value", "nextPutAll:", ",", "alias", "scope", "lf", "asJavascript", "selector", "do:separatedBy:", "locals", "asVariableName", "theClass"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
	
		
			
				|  | @@ -3721,7 +3731,7 @@ protocol: 'streaming',
 | 
	
		
			
				|  |  |  fn: function (aBlock,anArray){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx1) { 
 | 
	
		
			
				|  |  | -var $1,$2,$3,$4;
 | 
	
		
			
				|  |  | +var $1,$2,$3,$4,$5,$6;
 | 
	
		
			
				|  |  |  _st(self["@stream"])._nextPutAll_("fn: function(");
 | 
	
		
			
				|  |  |  $ctx1.sendIdx["nextPutAll:"]=1;
 | 
	
		
			
				|  |  |  _st(anArray)._do_separatedBy_((function(each){
 | 
	
	
		
			
				|  | @@ -3741,11 +3751,14 @@ $3=self["@stream"];
 | 
	
		
			
				|  |  |  _st($3)._nextPutAll_("var self=this;");
 | 
	
		
			
				|  |  |  $ctx1.sendIdx["nextPutAll:"]=4;
 | 
	
		
			
				|  |  |  $4=_st($3)._lf();
 | 
	
		
			
				|  |  | +$ctx1.sendIdx["lf"]=2;
 | 
	
		
			
				|  |  |  _st(aBlock)._value();
 | 
	
		
			
				|  |  | -_st(self["@stream"])._nextPutAll_("}");
 | 
	
		
			
				|  |  | +$5=self["@stream"];
 | 
	
		
			
				|  |  | +_st($5)._lf();
 | 
	
		
			
				|  |  | +$6=_st($5)._nextPutAll_("}");
 | 
	
		
			
				|  |  |  return self}, function($ctx1) {$ctx1.fill(self,"nextPutFunctionWith:arguments:",{aBlock:aBlock,anArray:anArray},globals.JSStream)})},
 | 
	
		
			
				|  |  |  args: ["aBlock", "anArray"],
 | 
	
		
			
				|  |  | -source: "nextPutFunctionWith: aBlock arguments: anArray\x0a\x09stream nextPutAll: 'fn: function('.\x0a\x09anArray\x0a\x09\x09do: [ :each | stream nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ stream nextPut: ',' ].\x0a\x09stream nextPutAll: '){'; lf.\x0a\x09stream nextPutAll: 'var self=this;'; lf.\x0a\x09aBlock value.\x0a\x09stream nextPutAll: '}'",
 | 
	
		
			
				|  |  | +source: "nextPutFunctionWith: aBlock arguments: anArray\x0a\x09stream nextPutAll: 'fn: function('.\x0a\x09anArray\x0a\x09\x09do: [ :each | stream nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ stream nextPut: ',' ].\x0a\x09stream nextPutAll: '){'; lf.\x0a\x09stream nextPutAll: 'var self=this;'; lf.\x0a\x09aBlock value.\x0a\x09stream lf; nextPutAll: '}'",
 | 
	
		
			
				|  |  |  messageSends: ["nextPutAll:", "do:separatedBy:", "asVariableName", "nextPut:", "lf", "value"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 |