diff --git a/lib/ace/edit_session.js b/lib/ace/edit_session.js index f10badcf..48ba8fd1 100644 --- a/lib/ace/edit_session.js +++ b/lib/ace/edit_session.js @@ -1209,10 +1209,11 @@ var EditSession = function(text, mode) { while (split > minSplit && tokens[split] < PLACEHOLDER_START) { split --; } + while (split > minSplit && tokens[split] == PUNCTUATION) { + split --; + } // If we found one, then add the split. if (split > minSplit) { - while(split > minSplit && tokens[split] == PUNCTUATION) - split --; addSplit(++split); continue; } diff --git a/lib/ace/edit_session_test.js b/lib/ace/edit_session_test.js index 32b571c4..effd8c62 100644 --- a/lib/ace/edit_session_test.js +++ b/lib/ace/edit_session_test.js @@ -390,6 +390,11 @@ module.exports = { computeAndAssert(" ぁぁ", [1, 2], 2); computeAndAssert(" ぁ\tぁ", [1, 3], 2); computeAndAssert(" ぁぁ\tぁ", [1, 4], 4); + + // Test wrapping for punctuation. + computeAndAssert(" ab.c;ef++", [1, 3, 5, 7, 8], 2); + computeAndAssert(" a.b", [1, 2, 3], 1); + computeAndAssert("#>>", [1, 2], 1); }, "test get longest line" : function() {