|  | @@ -412,7 +412,7 @@ function Smalltalk() {
 | 
	
		
			
				|  |  |  		subclasses.forEach(function(subclass) {
 | 
	
		
			
				|  |  |  			result.push.apply(result, st.allSubclasses(subclass));
 | 
	
		
			
				|  |  |  		});
 | 
	
		
			
				|  |  | -	
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  		return result;
 | 
	
		
			
				|  |  |  	};
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -510,10 +510,10 @@ function Smalltalk() {
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  			return new_addMethod(klass_exMethod, exKlass);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -	
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  		return new_addMethod(method_exJsSelector, klass_exMethod);
 | 
	
		
			
				|  |  |  	};
 | 
	
		
			
				|  |  | -	
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	// later, st.addMethod can be this:
 | 
	
		
			
				|  |  |  	function new_addMethod(method, klass) {
 | 
	
		
			
				|  |  |  		if (!(method.jsSelector)) {
 | 
	
	
		
			
				|  | @@ -526,7 +526,7 @@ function Smalltalk() {
 | 
	
		
			
				|  |  |  		// During the bootstrap, #addCompiledMethod is not used.
 | 
	
		
			
				|  |  |  		// Therefore we populate the organizer here too
 | 
	
		
			
				|  |  |  		klass.organization.elements.addElement(method.category);
 | 
	
		
			
				|  |  | -	
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  		// If already initialized (else it will be done later anyway),
 | 
	
		
			
				|  |  |  		// re-initialize all subclasses to ensure the new method
 | 
	
		
			
				|  |  |  		// propagation (for wrapped classes, not using the prototype
 | 
	
	
		
			
				|  | @@ -536,7 +536,7 @@ function Smalltalk() {
 | 
	
		
			
				|  |  |  				st.initClass(subclass);
 | 
	
		
			
				|  |  |  			});
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -	
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  		for(var i=0; i<method.messageSends.length; i++) {
 | 
	
		
			
				|  |  |  			var dnuHandler = dnu.get(method.messageSends[i]);
 | 
	
		
			
				|  |  |  			if(initialized) {
 | 
	
	
		
			
				|  | @@ -640,7 +640,7 @@ function Smalltalk() {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		Converts keyword-based selectors by using the first
 | 
	
		
			
				|  |  |  		keyword only, but keeping all message arguments.
 | 
	
		
			
				|  |  | -		
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  		Example:
 | 
	
		
			
				|  |  |  		"self do: aBlock with: anObject" -> "self.do(aBlock, anObject)" */
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -673,8 +673,7 @@ function Smalltalk() {
 | 
	
		
			
				|  |  |  	};
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	function pushContext(setup) {
 | 
	
		
			
				|  |  | -		st.thisContext = new SmalltalkMethodContext(smalltalk.thisContext, setup);
 | 
	
		
			
				|  |  | -		return st.thisContext;
 | 
	
		
			
				|  |  | +		return st.thisContext = new SmalltalkMethodContext(st.thisContext, setup);
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	function popContext(context) {
 | 
	
	
		
			
				|  | @@ -758,18 +757,18 @@ function Smalltalk() {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/* Boolean assertion */
 | 
	
		
			
				|  |  |  	st.assert = function(shouldBeBoolean) {
 | 
	
		
			
				|  |  | -		if ((undefined !== shouldBeBoolean) && (shouldBeBoolean.klass === smalltalk.Boolean)) {
 | 
	
		
			
				|  |  | +		if ((undefined !== shouldBeBoolean) && (shouldBeBoolean.klass === st.Boolean)) {
 | 
	
		
			
				|  |  |  			return (shouldBeBoolean == true);
 | 
	
		
			
				|  |  |  		} else {
 | 
	
		
			
				|  |  | -			smalltalk.NonBooleanReceiver._new()._object_(shouldBeBoolean)._signal();
 | 
	
		
			
				|  |  | +			st.NonBooleanReceiver._new()._object_(shouldBeBoolean)._signal();
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -    };
 | 
	
		
			
				|  |  | +	};
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/* Backward compatibility with Amber 0.9.1 */
 | 
	
		
			
				|  |  |  	st.symbolFor = function(aString) { return aString; };
 | 
	
		
			
				|  |  | -	
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	/* Smalltalk initialization. Called on page load */
 | 
	
		
			
				|  |  | -	
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	st.initialize = function() {
 | 
	
		
			
				|  |  |  		if(initialized) { return; }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -779,7 +778,7 @@ function Smalltalk() {
 | 
	
		
			
				|  |  |  		classes.forEach(function(klass) {
 | 
	
		
			
				|  |  |  			klass._initialize();
 | 
	
		
			
				|  |  |  		});
 | 
	
		
			
				|  |  | -	
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  		initialized = true;
 | 
	
		
			
				|  |  |  	};
 | 
	
		
			
				|  |  |  }
 | 
	
	
		
			
				|  | @@ -818,7 +817,7 @@ SmalltalkMethodContext.prototype.init = function() {
 | 
	
		
			
				|  |  |  		home = home.init();
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    this.setup(this);
 | 
	
		
			
				|  |  | +	this.setup(this);
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  SmalltalkMethodContext.prototype.method = function() {
 | 
	
	
		
			
				|  | @@ -849,7 +848,7 @@ var _st = function(o) {
 | 
	
		
			
				|  |  |  	if(o == null) {return nil;}
 | 
	
		
			
				|  |  |  	if(o.klass) {return o;}
 | 
	
		
			
				|  |  |  	return smalltalk.JSObjectProxy._on_(o);
 | 
	
		
			
				|  |  | -}; 
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /***************************************** BOOTSTRAP ******************************************/
 |