diff --git a/src/static/js/ace2_inner.js b/src/static/js/ace2_inner.js index 713f30fa3..f65b21484 100644 --- a/src/static/js/ace2_inner.js +++ b/src/static/js/ace2_inner.js @@ -1668,7 +1668,7 @@ function Ace2Inner(){ { //var id = n.uniqueId(); // parent of n may not be "root" in IE due to non-tree-shaped DOM (wtf) - n.parentNode.removeChild(n); + if(n.parentNode) n.parentNode.removeChild(n); //dmesg(htmlPrettyEscape(htmlForRemovedChild(n))); //console.log("removed: "+id); @@ -2334,7 +2334,10 @@ function Ace2Inner(){ return false; // If we're at the end of a line we treat it as having no formatting } if(rep.selStart[1] == 0 && rep.selEnd[1] == 0){ - return false; // If we're at the start of a line attributes get confused.. + rep.selEnd[1] == 1; + } + if(rep.selEnd[1] == -1){ + rep.selEnd[1] = 1; // sometimes rep.selEnd is -1, not sure why.. When it is we should look at the first char } if (n == selStartLine) { @@ -3952,6 +3955,7 @@ function Ace2Inner(){ selection.focusAtStart = !! rep.selFocusAtStart; setSelection(selection); } + editorInfo.ace_updateBrowserSelectionFromRep = updateBrowserSelectionFromRep; function nodeMaxIndex(nd) {