Created attachment 49611 [details]
When an inline-block element is displayed at the end of an element with white-space:pre it will wrap to a new line if it is the last element on a line. According to the spec it seems that the inline-block should stay on the same line and not wrap to a new line when this occurs. A workaround but oddity is to include a non-empty TextNode after the inline-block.
This bug is still extant in Chrome 31.0.1650.63 (Official Build 238485) and Safari 7.0 (9537.71), on both Mac OS X 10.9 and Windows 7.
A workaround I found that doesn't add undesirable whitespace is to add an empty :after pseudo-element: http://jsbin.com/oQuBAmIJ/1/edit
I just want to confirm that this bug still exists (I got a bug report that is caused by this -- https://github.com/codemirror/CodeMirror/issues/2901). Would be wonderful if someone could take a look at it.