Index: MochiKit/Base.js
===================================================================
--- MochiKit/Base.js	(revision 1561)
+++ MochiKit/Base.js	(working copy)
@@ -47,7 +47,7 @@
             throw 'MochiKit.' + name + ' depends on MochiKit.' + deps[i] + '!';
         }
     }
-}
+};
 
 MochiKit.Base._module("Base", "1.5", []);
 
@@ -351,7 +351,7 @@
         } else if (typeof(value) === "number" || value instanceof Number) {
             return !isNaN(value) && value != 0;
         } else if (value != null && typeof(value.length) === "number") {
-            return value.length !== 0
+            return value.length !== 0;
         } else {
             return value != null;
         }
@@ -1351,7 +1351,7 @@
     };
     func.__export__ = (exportable === true);
     module[name] = func;
-}
+};
 
 MochiKit.Base.__new__ = function () {
     var m = this;
Index: MochiKit/Format.js
===================================================================
--- MochiKit/Format.js	(revision 1561)
+++ MochiKit/Format.js	(working copy)
@@ -193,7 +193,7 @@
         fixed = MochiKit.Format._shiftNumber(fixed, 0);
     }
     return fixed;
-}
+};
 
 /** @id MochiKit.Format.roundToFixed */
 MochiKit.Format.roundToFixed = function (aNumber, precision) {
@@ -205,7 +205,7 @@
         fixed = MochiKit.Format._shiftNumber(str, -precision);
     }
     return fixed;
-}
+};
 
 /**
  * Converts a number to a fixed format string. This function handles
@@ -234,7 +234,7 @@
     } else {
         return whole;
     }
-}
+};
 
 /**
  * Shifts the decimal dot location in a fixed format number string.
@@ -275,7 +275,7 @@
         num = "-" + num.substring(2);
     }
     return num;
-}
+};
 
 /** @id MochiKit.Format.percentFormat */
 MochiKit.Format.percentFormat = function (aNumber) {
Index: MochiKit/Selector.js
===================================================================
--- MochiKit/Selector.js	(revision 1561)
+++ MochiKit/Selector.js	(working copy)
@@ -167,7 +167,7 @@
                         break;
                     case 'not':
                         var subselector = new MochiKit.Selector.Selector(pseudoClassArgument);
-                        conditions.push('!( ' + subselector.buildMatchExpression() + ')')
+                        conditions.push('!( ' + subselector.buildMatchExpression() + ')');
                         break;
                 }
             }
@@ -177,7 +177,7 @@
                 var value = 'MochiKit.DOM.getNodeAttribute(element, ' + repr(attribute.name) + ')';
                 var splitValueBy = function (delimiter) {
                     return value + '.split(' + repr(delimiter) + ')';
-                }
+                };
                 conditions.push(value + ' != null');
                 switch (attribute.operator) {
                     case '=':
Index: MochiKit/Sortable.js
===================================================================
--- MochiKit/Sortable.js	(revision 1561)
+++ MochiKit/Sortable.js	(working copy)
@@ -179,7 +179,7 @@
             onhover: self.onHover,
             tree: options.tree,
             accept: options.accept
-        }
+        };
 
         var options_for_tree = {
             onhover: self.onEmptyHover,
@@ -187,7 +187,7 @@
             containment: options.containment,
             hoverclass: options.hoverclass,
             accept: options.accept
-        }
+        };
 
         // fix for gecko engine
         MochiKit.DOM.removeEmptyTextNodes(element);
@@ -430,11 +430,11 @@
                 children: [],
                 position: parent.children.length,
                 container: self._findChildrenElement(children[i], options.treeTag.toUpperCase())
-            }
+            };
 
             /* Get the element containing the children and recurse over it */
             if (child.container) {
-                self._tree(child.container, options, child)
+                self._tree(child.container, options, child);
             }
 
             parent.children.push (child);
@@ -475,7 +475,7 @@
             children: new Array,
             container: element,
             position: 0
-        }
+        };
 
         return MochiKit.Sortable._tree(element, options, root);
     },
Index: MochiKit/Style.js
===================================================================
--- MochiKit/Style.js	(revision 1561)
+++ MochiKit/Style.js	(working copy)
@@ -179,7 +179,7 @@
                    o.nodeType == null &&
                    typeof(o.x) == "number" &&
                    typeof(o.y) == "number";
-        }
+        };
 
         if (typeof(elem) == "string") {
             elem = dom.getElement(elem);
@@ -390,7 +390,7 @@
         if (contentSize) {
             var tableCell = 'colSpan' in elem && 'rowSpan' in elem;
             var collapse = (tableCell && elem.parentNode && self.getStyle(
-                    elem.parentNode, 'borderCollapse') == 'collapse')
+                    elem.parentNode, 'borderCollapse') == 'collapse');
             if (collapse) {
                 if (/MSIE/.test(navigator.userAgent)) {
                     var borderLeftQuota = elem.previousSibling? 0.5 : 1;
Index: MochiKit/Text.js
===================================================================
--- MochiKit/Text.js	(revision 1561)
+++ MochiKit/Text.js	(working copy)
@@ -22,7 +22,7 @@
  */
 MochiKit.Text.startsWith = function (substr, str) {
     return str != null && substr != null && str.indexOf(substr) == 0;
-}
+};
 
 /**
  * Checks if a text string ends with the specified substring. If
@@ -37,7 +37,7 @@
 MochiKit.Text.endsWith = function (substr, str) {
     return str != null && substr != null &&
            str.lastIndexOf(substr) == Math.max(str.length - substr.length, 0);
-}
+};
 
 /**
  * Checks if a text string contains the specified substring. If
@@ -51,7 +51,7 @@
  */
 MochiKit.Text.contains = function (substr, str) {
     return str != null && substr != null && str.indexOf(substr) >= 0;
-}
+};
 
 /**
  * Adds a character to the left-hand side of a string until it
@@ -71,7 +71,7 @@
         str = fillChar + str;
     }
     return str;
-}
+};
 
 /**
  * Adds a character to the right-hand side of a string until it
@@ -91,7 +91,7 @@
         str += fillChar;
     }
     return str;
-}
+};
 
 /**
  * Returns a truncated copy of a string. If the string is shorter
@@ -119,7 +119,7 @@
     } else {
         return str.slice(0, maxLength);
     }
-}
+};
 
 /**
  * Splits a text string using separator as the split point
@@ -136,14 +136,14 @@
     if (str == null || str.length == 0) {
         return str;
     }
-    separator = separator || '\n'
+    separator = separator || '\n';
     var bits = str.split(separator);
     if ((typeof(max) == "undefined") || max >= bits.length-1) {
         return bits;
     }
-    bits.splice(max, bits.length, bits.slice(max, bits.length).join(separator))
+    bits.splice(max, bits.length, bits.slice(max, bits.length).join(separator));
     return bits;
-}
+};
 
 /**
  * Splits a text string using separator as the split point
@@ -160,14 +160,14 @@
     if (str == null || str.length == 0) {
         return str;
     }
-    separator = separator || '\n'
+    separator = separator || '\n';
     var bits = str.split(separator);
     if ((typeof(max) == "undefined") || max >= bits.length-1){
 	return bits;
     }
-    bits.splice(0, bits.length-max, bits.slice(0, bits.length-max).join(separator))
+    bits.splice(0, bits.length-max, bits.slice(0, bits.length-max).join(separator));
     return bits;
-}
+};
 
 /**
  * Creates a formatter function for the specified formatter pattern
@@ -201,8 +201,8 @@
             }
         }
         return res.join("");
-    }
-}
+    };
+};
 
 /**
  * Formats the specified arguments according to a formatter pattern.
@@ -219,7 +219,7 @@
 MochiKit.Text.format = function (pattern/*, ...*/) {
     var func = MochiKit.Text.formatter(pattern);
     return func.apply(this, MochiKit.Base.extend([], arguments, 1));
-}
+};
 
 /**
  * Format a value with the specified format specifier.
@@ -302,7 +302,7 @@
         str = self.padLeft(str, spec.width);
     }
     return str;
-}
+};
 
 /**
  * Adjust an already formatted numeric string for locale-specific
@@ -337,7 +337,7 @@
         whole = whole.substring((whole.charAt(0) == "0") ? 1 : 0, pos);
     }
     return whole + res;
-}
+};
 
 /**
  * Parses a format pattern and returns an array of constant strings
@@ -389,7 +389,7 @@
         parts.push(pattern.substring(start, pos));
     }
     return parts;
-}
+};
 
 /**
  * Parses a format instruction and returns a format info object.
@@ -436,7 +436,7 @@
         info.path.unshift(0);
     }
     return info;
-}
+};
 
 /**
  * Parses a string with format flags and returns a format info object.
@@ -518,7 +518,7 @@
         flags = flags.substring(nextPos);
     }
     return info;
-}
+};
 
 /**
  * Formats a value as a percentage. This method avoids multiplication
@@ -546,7 +546,7 @@
         whole = whole.substring(1);
     }
     return (frac.length <= 0) ? whole : whole + "." + frac;
-}
+};
 
 /**
  * Creates a new format pattern error.
@@ -568,7 +568,7 @@
     this.pattern = pattern;
     this.pos = pos;
     this.message = message;
-}
+};
 MochiKit.Text.FormatPatternError.prototype =
     new MochiKit.Base.NamedError("MochiKit.Text.FormatPatternError");
 
Index: examples/ajax_tables/ajax_tables.js
===================================================================
--- examples/ajax_tables/ajax_tables.js	(revision 1561)
+++ examples/ajax_tables/ajax_tables.js	(working copy)
@@ -135,7 +135,7 @@
     var nodes = xml.getElementsByTagName("column");
     var rval = {"columns": map(scrapeText, nodes)};
     var rows = [];
-    nodes = xml.getElementsByTagName("row") 
+    nodes = xml.getElementsByTagName("row");
     for (var i = 0; i < nodes.length; i++) {
         var cells = nodes[i].getElementsByTagName("cell");
         rows.push(map(scrapeText, cells));
Index: examples/color_wheel/color_wheel.js
===================================================================
--- examples/color_wheel/color_wheel.js	(revision 1561)
+++ examples/color_wheel/color_wheel.js	(working copy)
@@ -57,7 +57,7 @@
     } else {
         colorFunc = function (color, alpha) {
             return color.colorWithAlpha(alpha).toRGBString();
-        }
+        };
     }
     // Per-frame animation
     var intervalFunc = function (cycle, timeout) {
Index: examples/interpreter/interpreter.js
===================================================================
--- examples/interpreter/interpreter.js	(revision 1561)
+++ examples/interpreter/interpreter.js	(working copy)
@@ -23,7 +23,7 @@
         // detect broken eval, warn at some point if a namespace ever gets used
         this.doEval = function () {
             return eval(arguments[0]);
-        }
+        };
     }
     window.help = this.help;
     this.help.NAME = 'type help(func) for help on a MochiKit function';
@@ -132,7 +132,7 @@
     } 
     this.historyPos += dir;
     elem.value = this.history[this.historyPos];
-}
+};
 
 InterpreterManager.prototype.runMultipleLines = function (text) {
     var lines = rstrip(text).replace("\r\n", "\n").split(/\n/);
@@ -140,7 +140,7 @@
         SPAN({"class": "code"}, ">>> ", izip(lines, imap(BR, cycle([null]))))
     );
     this.runCode(text);
-}
+};
 
 InterpreterManager.prototype.areaKeyDown = function (e) {
     var mod = e.modifier();
@@ -345,7 +345,7 @@
                             interpreterManager.showError(e);
                         }
                         return false;
-                    }
+                    };
                     return TR(null,
                         TD(null, A({href: "#", onclick: click}, kv[0])),
                         TD(null, repr(kv[1]))
Index: examples/view-source/view-source.js
===================================================================
--- examples/view-source/view-source.js	(revision 1561)
+++ examples/view-source/view-source.js	(working copy)
@@ -58,7 +58,7 @@
         if (elem.name != "code") {
             continue;
         }
-        var url = strip(scrapeText(elem))
+        var url = strip(scrapeText(elem));
         var d = doXHR(url).addCallback(
             partial(swapContents, elem)
         );
Index: examples/view-source/lib/SyntaxHighlighter/shBrushCSharp.js
===================================================================
--- examples/view-source/lib/SyntaxHighlighter/shBrushCSharp.js	(revision 1561)
+++ examples/view-source/lib/SyntaxHighlighter/shBrushCSharp.js	(working copy)
@@ -24,7 +24,7 @@
 		];
 
 	this.CssClass = 'dp-c';
-}
+};
 
 dp.sh.Brushes.CSharp.prototype	= new dp.sh.Highlighter();
 dp.sh.Brushes.CSharp.Aliases	= ['c#', 'c-sharp', 'csharp'];
Index: examples/view-source/lib/SyntaxHighlighter/shBrushDelphi.js
===================================================================
--- examples/view-source/lib/SyntaxHighlighter/shBrushDelphi.js	(revision 1561)
+++ examples/view-source/lib/SyntaxHighlighter/shBrushDelphi.js	(working copy)
@@ -25,7 +25,7 @@
 		];
 
 	this.CssClass = 'dp-delphi';
-}
+};
 
 dp.sh.Brushes.Delphi.prototype	= new dp.sh.Highlighter();
 dp.sh.Brushes.Delphi.Aliases	= ['delphi', 'pascal'];
Index: examples/view-source/lib/SyntaxHighlighter/shBrushJScript.js
===================================================================
--- examples/view-source/lib/SyntaxHighlighter/shBrushJScript.js	(revision 1561)
+++ examples/view-source/lib/SyntaxHighlighter/shBrushJScript.js	(working copy)
@@ -16,7 +16,7 @@
 		];
 
 	this.CssClass = 'dp-c';
-}
+};
 
 dp.sh.Brushes.JScript.prototype	= new dp.sh.Highlighter();
 dp.sh.Brushes.JScript.Aliases	= ['js', 'jscript', 'javascript'];
Index: examples/view-source/lib/SyntaxHighlighter/shBrushPhp.js
===================================================================
--- examples/view-source/lib/SyntaxHighlighter/shBrushPhp.js	(revision 1561)
+++ examples/view-source/lib/SyntaxHighlighter/shBrushPhp.js	(working copy)
@@ -17,7 +17,7 @@
 		];
 
 	this.CssClass = 'dp-c';
-}
+};
 
 dp.sh.Brushes.Php.prototype	= new dp.sh.Highlighter();
 dp.sh.Brushes.Php.Aliases	= ['php'];
Index: examples/view-source/lib/SyntaxHighlighter/shBrushPython.js
===================================================================
--- examples/view-source/lib/SyntaxHighlighter/shBrushPython.js	(revision 1561)
+++ examples/view-source/lib/SyntaxHighlighter/shBrushPython.js	(working copy)
@@ -65,7 +65,7 @@
 		];
 
 	this.CssClass = 'dp-py';
-}
+};
 
 dp.sh.Brushes.Python.prototype	= new dp.sh.Highlighter();
 dp.sh.Brushes.Python.Aliases	= ['py', 'python'];
Index: examples/view-source/lib/SyntaxHighlighter/shBrushSql.js
===================================================================
--- examples/view-source/lib/SyntaxHighlighter/shBrushSql.js	(revision 1561)
+++ examples/view-source/lib/SyntaxHighlighter/shBrushSql.js	(working copy)
@@ -34,7 +34,7 @@
 		];
 
 	this.CssClass = 'dp-sql';
-}
+};
 
 dp.sh.Brushes.Sql.prototype	= new dp.sh.Highlighter();
 dp.sh.Brushes.Sql.Aliases	= ['sql'];
Index: examples/view-source/lib/SyntaxHighlighter/shBrushVb.js
===================================================================
--- examples/view-source/lib/SyntaxHighlighter/shBrushVb.js	(revision 1561)
+++ examples/view-source/lib/SyntaxHighlighter/shBrushVb.js	(working copy)
@@ -23,7 +23,7 @@
 		];
 
 	this.CssClass = 'dp-vb';
-}
+};
 
 dp.sh.Brushes.Vb.prototype	= new dp.sh.Highlighter();
 dp.sh.Brushes.Vb.Aliases	= ['vb', 'vb.net'];
Index: examples/view-source/lib/SyntaxHighlighter/shBrushXml.js
===================================================================
--- examples/view-source/lib/SyntaxHighlighter/shBrushXml.js	(revision 1561)
+++ examples/view-source/lib/SyntaxHighlighter/shBrushXml.js	(working copy)
@@ -1,7 +1,7 @@
 dp.sh.Brushes.Xml = function()
 {
 	this.CssClass = 'dp-xml';
-}
+};
 
 dp.sh.Brushes.Xml.prototype	= new dp.sh.Highlighter();
 dp.sh.Brushes.Xml.Aliases	= ['xml', 'xhtml', 'xslt', 'html', 'xhtml'];
@@ -58,4 +58,4 @@
 	{
 		push(this.matches, new dp.sh.Match(match[1], match.index + match[0].indexOf(match[1]), 'tag-name'));
 	}
-}
+};
Index: examples/view-source/lib/SyntaxHighlighter/shCore.js
===================================================================
--- examples/view-source/lib/SyntaxHighlighter/shCore.js	(revision 1561)
+++ examples/view-source/lib/SyntaxHighlighter/shCore.js	(working copy)
@@ -66,7 +66,7 @@
 	
 	table.tBodies[0].className = 'show';
 	table.parentNode.style.height = '100%'; // containing div isn't getting updated properly when the TBODY is shown
-}
+};
 
 // opens a new windows and puts the original unformatted source code inside.
 dp.sh.Utils.ViewSource = function(sender)
@@ -78,7 +78,7 @@
 	
 	wnd.document.write('<pre>' + code + '</pre>');
 	wnd.document.close();
-}
+};
 
 // copies the original source code in to the clipboard (IE only)
 dp.sh.Utils.ToClipboard = function(sender)
@@ -94,7 +94,7 @@
 		
 		alert(dp.sh.Strings.CopiedToClipboard);
 	}
-}
+};
 
 // creates an invisible iframe, puts the original source code inside and prints it
 dp.sh.Utils.PrintSource = function(sender)
@@ -121,7 +121,7 @@
 	iframe.contentWindow.print();
 	
 	td.removeChild(iframe);
-}
+};
 
 dp.sh.Utils.About = function()
 {
@@ -143,7 +143,7 @@
 	
 	doc.close();
 	wnd.focus();
-}
+};
 
 //
 // Match object
@@ -154,7 +154,7 @@
 	this.index		= index;
 	this.length		= value.length;
 	this.css		= css;
-}
+};
 
 //
 // Highlighter object
@@ -165,7 +165,7 @@
 	this.addControls = true;
 	this.collapse = false;
 	this.tabsToSpaces = true;
-}
+};
 
 // static callback for the match sorting
 dp.sh.Highlighter.SortCallback = function(m1, m2)
@@ -184,7 +184,7 @@
 			return 1;
 	}
 	return 0;
-}
+};
 
 // gets a list of all matches for a given regular expression
 dp.sh.Highlighter.prototype.GetMatches = function(regex, css)
@@ -196,7 +196,7 @@
 	{
 		this.matches[this.matches.length] = new dp.sh.Match(match[0], match.index, css);
 	}
-}
+};
 
 dp.sh.Highlighter.prototype.AddBit = function(str, css)
 {
@@ -244,7 +244,7 @@
 		span.innerHTML = str;
 		this.div.appendChild(span);
 	}
-}
+};
 
 // checks if one match is inside any other match
 dp.sh.Highlighter.prototype.IsInside = function(match)
@@ -264,13 +264,13 @@
 	}
 	
 	return false;
-}
+};
 
 dp.sh.Highlighter.prototype.ProcessRegexList = function()
 {
 	for(var i = 0; i < this.regexList.length; i++)
 		this.GetMatches(this.regexList[i].regex, this.regexList[i].css);
-}
+};
 
 dp.sh.Highlighter.prototype.ProcessSmartTabs = function(code)
 {
@@ -319,7 +319,7 @@
 		result += ProcessLine(lines[i], tabSize) + '\n';
 	
 	return result;
-}
+};
 
 dp.sh.Highlighter.prototype.SwitchToTable = function()
 {
@@ -402,7 +402,7 @@
 	}
 	
 	this.div.innerHTML	= '';
-}
+};
 
 dp.sh.Highlighter.prototype.Highlight = function(code)
 {
@@ -506,12 +506,12 @@
 	this.AddBit(this.code.substr(pos), null);
 
 	this.SwitchToTable();
-}
+};
 
 dp.sh.Highlighter.prototype.GetKeywords = function(str) 
 {
 	return '\\b' + str.replace(/ /g, '\\b|\\b') + '\\b';
-}
+};
 
 // highlightes all elements identified by name and gets source code from specified property
 dp.sh.HighlightAll = function(name, showGutter /* optional */, showControls /* optional */, collapseAll /* optional */, firstLine /* optional */)
@@ -619,4 +619,4 @@
 
 		element.parentNode.insertBefore(div, element);		
 	}	
-}
+};
Index: tests/cli.js
===================================================================
--- tests/cli.js	(revision 1561)
+++ tests/cli.js	(working copy)
@@ -1,5 +1,5 @@
 MochiKit = {__export__: true};
-load('tests/FakeJSAN.js')
+load('tests/FakeJSAN.js');
 JSAN.use('MochiKit.MockDOM');
 var window = this;
 var document = MochiKit.MockDOM.document;
Index: tests/test_Base.js
===================================================================
--- tests/test_Base.js	(revision 1561)
+++ tests/test_Base.js	(working copy)
@@ -131,7 +131,7 @@
 
     extend(a, three, 1);
     t.ok( objEqual(a, [2, 3]), "extend to an empty array" );
-    extend(a, three, 1)
+    extend(a, three, 1);
     t.ok( objEqual(a, [2, 3, 2, 3]), "extend to a non-empty array" );
 
     extend(b, three);
@@ -194,7 +194,7 @@
             {"test:int": "3"},
             {"test:int": "4"}
         ]
-    }
+    };
 
     var visitedNodes = [];
     nodeWalk(tree, function (node) {
@@ -270,12 +270,12 @@
     } catch (e) {
         t.is( e, NotFound, "non-matching raised correctly" );
     }
-    R.register("undefinedOrNull", isUndefinedOrNull, function () { return "undefinedOrNull" });
-    R.register("undefined", isUndefined, function () { return "undefined" });
+    R.register("undefinedOrNull", isUndefinedOrNull, function () { return "undefinedOrNull"; });
+    R.register("undefined", isUndefined, function () { return "undefined"; });
     t.is( R.match(undefined), "undefinedOrNull", "priorities are as documented" );
     t.ok( R.unregister("undefinedOrNull"), "removed adapter" );
     t.is( R.match(undefined), "undefined", "adapter was removed" );
-    R.register("undefinedOrNull", isUndefinedOrNull, function () { return "undefinedOrNull" }, true);
+    R.register("undefinedOrNull", isUndefinedOrNull, function () { return "undefinedOrNull"; }, true);
     t.is( R.match(undefined), "undefinedOrNull", "override works" );
     
     var a1 = {"a": 1, "b": 2, "c": 2};
@@ -401,7 +401,7 @@
     t.is( repr(MochiKit.Base), MochiKit.Base.__repr__(), "__repr__ protocol when repr is defined" );
     var o = {"NAME": "NAME"};
     t.is( repr(o), "NAME", "NAME protocol (obj)" );
-    o = function () { return "TACO" };
+    o = function () { return "TACO"; };
     o.NAME = "NAME";
     t.is( repr(o), "NAME", "NAME protocol (func)" );
     
@@ -506,7 +506,7 @@
 
     var fn = function () {
         return [this, concat(arguments)];
-    }
+    };
     t.is( methodcaller("toLowerCase")("FOO"), "foo", "methodcaller with a method name" );
     t.is( repr(methodcaller(fn, 2, 3)(1)), "[1, [2, 3]]", "methodcaller with a function" );
 
@@ -591,6 +591,6 @@
 
     var reprFunc = function (a, b) {
         return;
-    }
+    };
     t.is( repr(reprFunc), "function (a, b) {...}", "repr of function" );
 };
Index: tests/test_Color.js
===================================================================
--- tests/test_Color.js	(revision 1561)
+++ tests/test_Color.js	(working copy)
@@ -123,7 +123,7 @@
         Color.fromRGB(0.5, 1, 0.5).toHexString(),
         "fromHSV alt form"
     );
-    hsv = Color.fromRGB(1, 1, 1).asHSV()
+    hsv = Color.fromRGB(1, 1, 1).asHSV();
     approx( hsv.h, 0, 'white hsv.h' );
     approx( hsv.s, 0, 'white hsv.s' );
     approx( hsv.v, 1, 'white hsv.v' );
Index: tests/test_DateTime.js
===================================================================
--- tests/test_DateTime.js	(revision 1561)
+++ tests/test_DateTime.js	(working copy)
@@ -37,7 +37,7 @@
     testTimestamp = isoTimestamp('2005-2-3T22:01:03Z');
     t.is(toISOTimestamp(testTimestamp, true), '2005-02-03T22:01:03Z', "toISOTimestamp (real ISO) eq");
 
-    var localTZ = Math.round((new Date(2005,1,3,22,1,3)).getTimezoneOffset()/60)
+    var localTZ = Math.round((new Date(2005,1,3,22,1,3)).getTimezoneOffset()/60);
     var direction = (localTZ < 0) ? "+" : "-";
     localTZ = Math.abs(localTZ);
     localTZ = direction + ((localTZ < 10) ? "0" : "") + localTZ;
Index: tests/test_Iter.js
===================================================================
--- tests/test_Iter.js	(revision 1561)
+++ tests/test_Iter.js	(working copy)
@@ -129,7 +129,7 @@
         }
     }
 
-    var odd = partial(operator.and, 1)
+    var odd = partial(operator.and, 1);
 
     // empty
     var kv, key, k, v, subiter;
Index: tests/test_Logging.js
===================================================================
--- tests/test_Logging.js	(revision 1561)
+++ tests/test_Logging.js	(working copy)
@@ -79,8 +79,8 @@
 
     logger.baseLog(LogLevel.INFO, 'infoFoo');
     msg = logger.getMessages().pop();
-    t.is(msg.level, "INFO", "baseLog converts level")
+    t.is(msg.level, "INFO", "baseLog converts level");
     logger.baseLog(45, 'errorFoo');
     msg = logger.getMessages().pop();
-    t.is(msg.level, "ERROR", "baseLog converts ad-hoc level")
+    t.is(msg.level, "ERROR", "baseLog converts ad-hoc level");
 };
Index: tests/SimpleTest/SimpleTest.js
===================================================================
--- tests/SimpleTest/SimpleTest.js	(revision 1561)
+++ tests/SimpleTest/SimpleTest.js	(working copy)
@@ -63,7 +63,7 @@
         }
     }
     SimpleTest._startTime = new Date().getTime();
-}
+};
 
 /**
  * Finishes the tests. This is automatically called, except when 
@@ -82,7 +82,7 @@
             str = "0" + str;
         }
         return str;
-    }
+    };
     var delay = fmt(mins, 2) + ":" + fmt(secs, 2) + "." + fmt(millis, 3);
     SimpleTest.verifyScope(SimpleTest._scope);
     if (SimpleTest.results().fail <= 0) {
@@ -115,7 +115,7 @@
             SimpleTest.ok(false, "scope modified, variable " + k + " has been removed");
         }
     }
-}
+};
 
 /**
  * Something like assert.
@@ -165,7 +165,7 @@
         s += k + ": " + err[k] + "\n";
     }
     ok(false, s);
-}
+};
 
 /**
  * Makes a test report, returns it as a DIV element.
@@ -241,7 +241,7 @@
         };
     } else {
         addNode = function (el) {
-            body.appendChild(el)
+            body.appendChild(el);
         };
     }
     addNode(togglePassed);
@@ -285,7 +285,7 @@
         }
     }
     return res;
-}
+};
 
 MochiKit.DOM.addLoadEvent(function() {
     if (SimpleTest._stopOnLoad) {
Index: tests/SimpleTest/TestRunner.js
===================================================================
--- tests/SimpleTest/TestRunner.js	(revision 1561)
+++ tests/SimpleTest/TestRunner.js	(working copy)
@@ -154,6 +154,6 @@
         );
         row.onclick = toggle;
         var tbody = TestRunner._summaryDiv.getElementsByTagName("tbody")[0];
-        tbody.insertBefore(row, TestRunner._iframes[url]._row)
+        tbody.insertBefore(row, TestRunner._iframes[url]._row);
     }
 };
