rem: case "includes": case "excludes": script[match[1]].push(match[2]); 
add: case "include": case "exclude": script[match[1]+"s"].push(match[2]); 
context: 	function handleLoad() {		closeDownloadManager();		// validate that we downloaded ok		if (!targetFile.exists() || targetFile.fileSize == 0) {			alert("The file does not exist or was removed.");			return;		}		// initialize a new script object		var script = new Script();		script.id = targetFile.leafName;		script.enabled = true;		script.includes = [];		script.excludes = [];		// crack open the file so we can look for metadata in the comments		var fileStream = Components.classes["@mozilla.org/network/file-input-stream;1"]						.createInstance(Components.interfaces.nsIFileInputStream);		fileStream.init(targetFile, 1, 0, false);		// read one line at a time looking for start meta delimiter or EOF		var lineStream = fileStream.QueryInterface(Components.interfaces.nsILineInputStream);		var result = {};		var foundMeta = false;		while (lineStream.readLine(result)) {			if (result.value.indexOf("// ==UserScript==") == 0) {				foundMeta = true;				break;			}		}		// gather up meta lines		if (foundMeta) {			while (lineStream.readLine(result)) {				if (result.value.indexOf("// ==/UserScript==") == 0) {					break;				}				var match = result.value.match(/\/\/ \@(\S+)\s+([^\n]+)/);				if (match != null) {					switch (match[1]) {						case "name":						case "namespace":						case "description":							script[match[1]] = match[2];							break;						case "includes":						case "excludes":							script[match[1]].push(match[2]);							break;					}				}			}		}		fileStream.close();		// if no meta info, default to reasonable values		if (script.name == null) {			script.name = parseScriptName(sourceUri);		}		if (script.namespace == null) {			script.namespace = sourceUri.host;		}		if (script.includes.length == 0) {			script.includes.push("*");		}		// open install dialog		var result = {};		window.openDialog("chrome://greasemonkey/content/install.xul", 			"manager", "resizable,centerscreen,modal", script, targetFile, result);		closeDownloadManager();		if (result.value) {			alert("Success! Refresh page to see changes.");		}	}
meta: 9744	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9744/f43e0e5ab0d6da87a43b50ac4d258a8a0bc90dc7/greasemonkey.js/clean/src/content/greasemonkey.js