Bug 376794 - Hangul(Korea Language) input then stopped frequently.
diff --git a/bundles/org.eclipse.orion.client.editor/web/orion/textview/textView.js b/bundles/org.eclipse.orion.client.editor/web/orion/textview/textView.js
index e092a6e..1bf1e8f 100644
--- a/bundles/org.eclipse.orion.client.editor/web/orion/textview/textView.js
+++ b/bundles/org.eclipse.orion.client.editor/web/orion/textview/textView.js
@@ -1764,11 +1764,13 @@
 		},
 		_handleKeyDown: function (e) {
 			if (!e) { e = window.event; }
+			var modifier = false;
 			switch (e.keyCode) {
 				case 16: /* Shift */
 				case 17: /* Control */
 				case 18: /* Alt */
 				case 91: /* Command */
+					modifier = true;
 					break;
 				default:
 					this._setLinksVisible(false);
@@ -1795,7 +1797,9 @@
 					this._startIME();
 				}
 			} else {
-				this._commitIME();
+				if (!modifier) {
+					this._commitIME();
+				}
 			}
 			/*
 			* Feature in Firefox. When a key is held down the browser sends 
@@ -3297,7 +3301,8 @@
 								if (spanEnd >= changeStart) {
 									spanEnd -= changeCount;
 								}
-								var length = oldSpan.firstChild.data.length;
+								var t = oldSpan.firstChild.data;
+								var length = t ? t.length : 0;
 								if (oldEnd + length > spanEnd) { break; }
 								oldEnd += length;
 							}