Index: _source/plugins/selection/plugin.js
===================================================================
--- _source/plugins/selection/plugin.js	(revision 5214)
+++ _source/plugins/selection/plugin.js	Thu Mar 04 11:03:37 CST 2010
@@ -105,6 +105,7 @@
 			editor.on( 'contentDom', function()
 				{
 					var doc = editor.document,
+						win = editor.window.$,
 						body = doc.getBody();
 
 					if ( CKEDITOR.env.ie )
@@ -143,7 +144,7 @@
 								}
 							});
 
-						editor.window.on( 'focus', function()
+						body.on( 'focus', function()
 							{
 								// Enable selections to be saved.
 								saveEnabled = true;
@@ -189,6 +190,18 @@
 						// event.
 						doc.on( 'selectionchange', saveSelection );
 
+						// IE doesn't fire "selectionchange" when manipulate selection manually,
+						// compensate the native function with selection saving logic. (#4829)
+						win.TextRange.prototype.select =
+							CKEDITOR.tools.override( win.TextRange.prototype.select, function( org )
+							{
+								return function()
+								{
+									org.apply( this, arguments );
+									saveSelection();
+								};
+							});
+
 						function disableSave()
 						{
 							saveEnabled = false;
