Something changed in sceditor between 144 and 145. I'm not sure if they have a bug or if it doesn't like the way Elk talks to it. The change is in bbcode.js from 144 to 145. The relevant part of the code is here (from 144 with debug prints by me).
while($(parentLastChild).hasClass('sceditor-ignore'))
parentLastChild = parentLastChild.previousSibling;
// If this is
// A br/block element inside an inline element.
// The last block level as the last block level is collapsed.
// Is an li element.
// Is IE and the tag is BR. IE never collapses BR's
if(parentIsInline || parentLastChild !== element || tag === 'li' || (tag === 'br' && $.sceditor.ie)) {
content += '\n';
console.log('Content 1:', content);
}
// Check for <div>text<div>This needs a newline prepended</div></div>
console.log('Tag', tag);
console.log('PS', previousSibling);
if(previousSibling) console.log('LC', previousSibling.nodeName.toLowerCase());
console.log('INLINE', $.sceditor.dom.isInline(previousSibling, true));
if('br' !== tag && previousSibling && previousSibling.nodeName.toLowerCase() !== 'br' && $.sceditor.dom.isInline(previousSibling, true)) {
content = '\n' + content;
console.log('Content 2:', content);
}
}
Lots of debug on my part there, but basically when quoting a post that already has a quote (or switching from source to wiz mode and back when there are quotes) 145 evaluates things such that "Content 2" is printing which is when the extra line feed is inserted. The change is what it's seeing as previousSibling. In 144 it sees 'br' so it skips that block. In 145 it see 'cite' as it's somehow double parsing the quote string.
I've attached prints of the firebug console for a run with the debug statements from above using 144 (out1.txt) and 145 (out2.txt). If you compare them in your favorite diff program and look above where "Content 2" is printed you'll see what I'm talking about. Hopefully whoever wrote the elkarte plugin for sceditor can make sense of what is happening here.