diff --git a/addon/merge/merge.js b/addon/merge/merge.js index 81cc95471a7d1ae02a108f2dfc4f997dedd8341b..688aeb99679a849af5292567dba5541119214276 100644 --- a/addon/merge/merge.js +++ b/addon/merge/merge.js @@ -657,6 +657,7 @@ marks.push(mark); mark.mark.on("clear", clear); } + return marks[0].mark; } function unclearNearChunks(dv, margin, off, clear) { @@ -671,7 +672,7 @@ function collapseIdenticalStretches(mv, margin) { if (typeof margin != "number") margin = 2; - var clear = [], edit = (mv.left || mv.right).edit, off = edit.firstLine(); + var clear = [], edit = mv.editor(), off = edit.firstLine(); for (var l = off, e = edit.lastLine(); l <= e; l++) clear.push(true); if (mv.left) unclearNearChunks(mv.left, margin, off, clear); if (mv.right) unclearNearChunks(mv.right, margin, off, clear); @@ -684,7 +685,8 @@ var editors = [{line: line, cm: edit}]; if (mv.left) editors.push({line: getMatchingOrigLine(line, mv.left.chunks), cm: mv.left.orig}); if (mv.right) editors.push({line: getMatchingOrigLine(line, mv.right.chunks), cm: mv.right.orig}); - collapseStretch(size, editors); + var mark = collapseStretch(size, editors); + if (mv.options.onCollapse) mv.options.onCollapse(mv, line, size, mark); } } }