code: function load_symbol(symbol) {
  		// Merge bundle
  		if(symbol.flag === "l") {
  			var sub = new Bundle(symbol.path);
  			for(var subsym_name in sub.symbols()) {
  				var subsym = sub.symbol(subsym_name);
  				
  				// Merge prefix
  				if(symbol.name === null) {
  					var subpath = path.dirname(symbol.path);
  					var prefix = path.relative(bundle_root, subpath);
  					if(prefix !== "") {
  						prefix += "/";
  					}
  					symbol.name = prefix;
  				}
  				
  				subsym_name = symbol.name + subsym_name;
  				subsym.path = symbol.name + subsym.path;
  				
  				bundle.addSymbol(subsym_name, subsym.data, subsym.path, subsym.flag);
  			}
  			return;
  		}
  		
  		var data = fs.readFileSync(symbol.path, (symbol.flag === "b" ? "base64" : "utf8"));
  		
  		if(opts.c && (symbol.flag === "" || symbol.flag === "x")) {
  			// Remove shebang
  			data = data.replace(/^\#\!.*/, "");
  			if(!opts.j) {
  				data = compress(data, {
  					debug: opts.d
  				});
  			}
  		}
  		
  		if(opts.j) {
  			join.push(data);
  			return;
  		}
  		
  		var sym_path = path.relative(bundle_root, symbol.path);
  		if(!symbol.name) {
  			symbol.name = opts.f ? path.basename(sym_path) : sym_path;
  		}
  		
  		if(symbols_loaded[symbol.name]) {
  			warning("symbol collision on " + symbol.name, opts);
  			bundle.removeSymbol(symbol.name);
  		} else {
  			symbols_loaded[symbol.name] = true;
  		}
  		
  		bundle.addSymbol(symbol.name, data, sym_path, symbol.flag);
  	}
docs: Load symbols