Index: src/orca/scripts/apps/evolution/script.py
===================================================================
--- src/orca/scripts/apps/evolution/script.py	(revision 3961)
+++ src/orca/scripts/apps/evolution/script.py	(working copy)
@@ -477,7 +477,8 @@
 
         if callbackType == speechserver.SayAllContext.PROGRESS:
             #print "PROGRESS", context.utterance, context.currentOffset
-            return
+            obj = context.obj[len(context.obj)-1]
+            obj.queryText().setCaretOffset(context.currentOffset)
         elif callbackType == speechserver.SayAllContext.INTERRUPTED:
             #print "INTERRUPTED", context.utterance, context.currentOffset
             offset = context.currentOffset
Index: src/orca/scripts/apps/gedit/script.py
===================================================================
--- src/orca/scripts/apps/gedit/script.py	(revision 3961)
+++ src/orca/scripts/apps/gedit/script.py	(working copy)
@@ -82,7 +82,9 @@
 
         if progressType == speechserver.SayAllContext.PROGRESS:
             #print "PROGRESS", context.utterance, context.currentOffset
-            pass
+            obj = context.obj[len(context.obj)-1]
+            text = obj.queryText()
+            text.setCaretOffset(context.currentOffset)
         elif progressType == speechserver.SayAllContext.INTERRUPTED:
             #print "INTERRUPTED", context.utterance, context.currentOffset
             offset = context.currentOffset
Index: src/orca/default.py
===================================================================
--- src/orca/default.py	(revision 3961)
+++ src/orca/default.py	(working copy)
@@ -1975,6 +1975,7 @@
             #    context.currentOffset, 0)
             #print context.currentOffset, x, y, width, height
             #self.drawOutline(x, y, width, height)
+            text.setCaretOffset(context.currentOffset);
             return
         elif progressType == speechserver.SayAllContext.INTERRUPTED:
             #print "INTERRUPTED", context.utterance, context.currentOffset
