- made string operations consistent wrt whitespace handling (which
  should greatly improve stability of the wrap code and eliminate
  regressions of the most recent versions)
- completely new scrollbar handling (much more reliable) and related
  redraw fixes
- Page Down handler (no Page Up yet, fixing wrap/redraw/scrollbar bugs
  was of higher priority)

diff --git a/dlls/riched20/wrap.c b/dlls/riched20/wrap.c
index 5f48e17..db92951 100644
--- a/dlls/riched20/wrap.c
+++ b/dlls/riched20/wrap.c
@@ -409,11 +409,12 @@
   }
 }
 
-void ME_WrapMarkedParagraphs(ME_TextEditor *editor) {
+BOOL ME_WrapMarkedParagraphs(ME_TextEditor *editor) {
   HWND hWnd = editor->hWnd;
   HDC hDC = GetDC(hWnd);
   ME_DisplayItem *item;
   ME_Context c;
+  BOOL bModified = FALSE;
   
   ME_InitContext(&c, editor, hDC);
   c.pt.x = 0;
@@ -433,6 +434,8 @@
     if (bRedraw)
       item->member.para.nFlags |= MEPF_REPAINT;
 
+    bModified = bModified | bRedraw;
+
     c.pt.y += item->member.para.nHeight;
     item = item->member.para.next_para;
   }
@@ -442,4 +445,5 @@
   
   ME_DestroyContext(&c);
   ReleaseDC(hWnd, hDC);
+  return bModified;
 }