|  | @@ -54,19 +54,19 @@ function Combo(callback) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Combo.prototype = {
 | 
	
		
			
				|  |  |    add: function () {
 | 
	
		
			
				|  |  | -    var self = this,
 | 
	
		
			
				|  |  | -        id = this.items;
 | 
	
		
			
				|  |  | -    this.items++;
 | 
	
		
			
				|  |  | -    return function () {
 | 
	
		
			
				|  |  | -      self.check(id, arguments);
 | 
	
		
			
				|  |  | -    };
 | 
	
		
			
				|  |  | +	var self = this,
 | 
	
		
			
				|  |  | +		id = this.items;
 | 
	
		
			
				|  |  | +	this.items++;
 | 
	
		
			
				|  |  | +	return function () {
 | 
	
		
			
				|  |  | +	  self.check(id, arguments);
 | 
	
		
			
				|  |  | +	};
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    check: function (id, arguments) {
 | 
	
		
			
				|  |  | -    this.results[id] = Array.prototype.slice.call(arguments);
 | 
	
		
			
				|  |  | -    this.items--;
 | 
	
		
			
				|  |  | -    if (this.items == 0) {
 | 
	
		
			
				|  |  | -      this.callback.apply(this, this.results);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +	this.results[id] = Array.prototype.slice.call(arguments);
 | 
	
		
			
				|  |  | +	this.items--;
 | 
	
		
			
				|  |  | +	if (this.items == 0) {
 | 
	
		
			
				|  |  | +	  this.callback.apply(this, this.results);
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -84,10 +84,10 @@ function AmberC(amber_dir, closure_jar) {
 | 
	
		
			
				|  |  |  	this.amber_dir = amber_dir;
 | 
	
		
			
				|  |  |  	this.closure_jar = closure_jar || '';
 | 
	
		
			
				|  |  |  	this.kernel_libraries = ['boot', 'Kernel-Objects', 'Kernel-Classes', 'Kernel-Methods',
 | 
	
		
			
				|  |  | -	                         'Kernel-Collections', 'Kernel-Exceptions', 'Kernel-Transcript',
 | 
	
		
			
				|  |  | -	                         'Kernel-Announcements'];
 | 
	
		
			
				|  |  | +							 'Kernel-Collections', 'Kernel-Exceptions', 'Kernel-Transcript',
 | 
	
		
			
				|  |  | +							 'Kernel-Announcements'];
 | 
	
		
			
				|  |  |  	this.compiler_libraries = this.kernel_libraries.concat(['parser', 'Importer-Exporter', 'Compiler-Exceptions',
 | 
	
		
			
				|  |  | -	                          'Compiler-Core', 'Compiler-AST', 'Compiler-IR', 'Compiler-Inlining', 'Compiler-Semantic']);
 | 
	
		
			
				|  |  | +							  'Compiler-Core', 'Compiler-AST', 'Compiler-IR', 'Compiler-Inlining', 'Compiler-Semantic']);
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -495,9 +495,14 @@ AmberC.prototype.category_export = function() {
 | 
	
		
			
				|  |  |  		console.log('Exporting ' + (defaults.deploy ? '(debug + deploy)' : '(debug)')
 | 
	
		
			
				|  |  |  			+ ' category ' + category + ' as ' + jsFile
 | 
	
		
			
				|  |  |  			+ (defaults.deploy ? ' and ' + jsFileDeploy : ''));
 | 
	
		
			
				|  |  | -		fs.writeFile(jsFile, defaults.smalltalk.Exporter._new()._exportPackage_(category), function(err) {
 | 
	
		
			
				|  |  | +		var smalltalk = defaults.smalltalk;
 | 
	
		
			
				|  |  | +		var pluggableExporter = smalltalk.PluggableExporter;
 | 
	
		
			
				|  |  | +		var packageObject = smalltalk.Package._named_(category);
 | 
	
		
			
				|  |  | +		fs.writeFile(jsFile, smalltalk.String._streamContents_(function (stream) {
 | 
	
		
			
				|  |  | +			pluggableExporter._newUsing_(smalltalk.Exporter._recipe())._exportPackage_on_(packageObject, stream); }), function(err) {
 | 
	
		
			
				|  |  |  			if (defaults.deploy) {
 | 
	
		
			
				|  |  | -				fs.writeFile(jsFileDeploy, defaults.smalltalk.StrippedExporter._new()._exportPackage_(category), callback);
 | 
	
		
			
				|  |  | +				fs.writeFile(jsFileDeploy, smalltalk.String._streamContents_(function (stream) {
 | 
	
		
			
				|  |  | +					pluggableExporter._newUsing_(smalltalk.StrippedExporter._recipe())._exportPackage_on_(packageObject, stream); }), callback);
 | 
	
		
			
				|  |  |  			} else {
 | 
	
		
			
				|  |  |  				callback(null, null);
 | 
	
		
			
				|  |  |  			}
 |