When ReplaceSelectionCommand deletes the current selection, it should request that the deletion do a merge in some cases (normally, though, it should ask that a merge not be done, because a merge will cause information about block nesting to be lost). It wasn't requesting a merge in cases where it should have.

The failing case is where the incoming fragment has more than one block, and the selection being pasted into ends at the end of a paragraph. Any time the selection being pasted into ends at the end of a paragraph, deleting will leave leave a) a br or b) an empty block at the end of the deleted selection. So, not merging will leave an extraneous empty line or a collapsed block after the paste operation.

bar
bar