When term.el receives a "^[[K" erase-end-of-line the term-erase-in-line function inserts a new line. 
When variable term-scroll-show-maximum-output is set to t this can result in a blank line at the bottom of the buffer.

This breaks programs such as less which won't display the top line.

I can't see the purpose for the new-line. The following patch removes it.


=== modified file 'lisp/term.el'
--- lisp/term.el 2012-01-26 02:32:56 +0000
+++ lisp/term.el 2012-04-04 05:26:53 +0000
@@ -3751,7 +3751,6 @@
       ;; extra space when wrapped is false.
       (when wrapped
  (insert ? ))
-      (insert ?\n)
       (put-text-property saved-point (point) 'face 'default)
       (goto-char saved-point))))