We need to invalidate the replaced text region before calling
EM_ScrollCaret as this may call ScrollWindow.  Previously newly added
lines were not displayed if the edit needed to scroll.

diff --git a/controls/edit.c b/controls/edit.c
index d1f02e2..e959299 100644
--- a/controls/edit.c
+++ b/controls/edit.c
@@ -2981,18 +2981,19 @@
 	EDIT_EM_SetSel(es, s, s, FALSE);
 	es->flags |= EF_MODIFIED;
 	if (send_update) es->flags |= EF_UPDATE;
-	EDIT_EM_ScrollCaret(es);
-
-	/* force scroll info update */
-	EDIT_UpdateScrollInfo(es);
-
 	if (hrgn)
 	{
 		EDIT_UpdateTextRegion(es, hrgn, TRUE);
 		DeleteObject(hrgn);
 	}
 	else
-	EDIT_UpdateText(es, NULL, TRUE);
+            EDIT_UpdateText(es, NULL, TRUE);
+
+	EDIT_EM_ScrollCaret(es);
+
+	/* force scroll info update */
+	EDIT_UpdateScrollInfo(es);
+
 
 	if(es->flags & EF_UPDATE)
 	{