Ah!
RBConfigurableFormatter class>>settingsOn: is missing one setting
----
(aBuilder setting: #retainBlankLinesBetweenStatements)
label: 'Retain blank lines between statements'.
----
As for the comments, I looked at RBConfigurableFormatter>>formatStatementCommentsFor:
one idea might be to look at the space between end of the statement and beginning of the comment and if there is newline present then preserve it.
something like
--------------------------
formatStatementCommentsFor: aStatementNode
originalSource isNil
ifTrue: [ ^ self ].
FormatCommentWithStatements
ifFalse: [ ^ self ].
aStatementNode statementComments
do: [ :each |��
(self newLinesBeforeStartingAt: each first) > 0
ifTrue: [ self newLine ]
ifFalse: [ codeStream tab ].
codeStream nextPutAll: (originalSource copyFrom: each first to: each last) ]
---------------------------
There should be also an accompanying setting #retainBlankLineBeforeComments.
Peter