} else if ( canvas.selectionStart || canvas.selectionStart === 0 ) { // FF, WebKit, Opera
startPos = canvas.selectionStart;
endPos = canvas.selectionEnd;
+
+ if ( startPos < endPos && v.charAt( endPos - 1 ) === '\n' ) {
+ endPos -= 1;
+ }
+
cursorPos = endPos;
scrollTop = canvas.scrollTop;
l = v.substring(0, startPos); // left of the selection