Since this is a c++ patch, it also applies to the Mozilla Application Suite. I have spent a few cycles on my old buggy patch for bug 205946 and it's now working very well without side-effect. When I create a new document, most of the annoying <br> that used to remain at the end of paragraphs are now gone.

Now, to eat my own dogfood, I need to fix the behavior of dt/dd elements in the editor. Typing return when the caret is in such an element totally sucks. It's not usable and I can't stand it any longer.