I have found what might be a bug in our TextArea implementation: If ta is a TextArea and you execute: ta.append("abc\n"); ta.append("def\n"); then I'd expect to see "abc" and "def" on two separate lines. The TextBox applet that appears on p. 301 of O'Reilly's _Exploring Java_ seems to expect the same behavior. (BTW, all source code in _Exploring Java_ is available at http://www.ora.com/catalog/expjava/) The X11 AWT implementation in Kaffe seems to ignore trailing newlines, so the above would show up as "abcdef" on one line. The problem seems to be in TextArea.breakLines(). If a newline is the last character in the text, then "i0" will equal "n" at the exit of the for loop. The following if statement will not fire. If it did, it would correctly create a zero-length string. Is this analysis correct?