Index: /FCKeditor/trunk/PackageDefinition.xml
===================================================================
--- /FCKeditor/trunk/PackageDefinition.xml	(revision 29)
+++ /FCKeditor/trunk/PackageDefinition.xml	(revision 30)
@@ -3,11 +3,11 @@
 	
 	<OriginalFile sourcePath="editor/fckeditor.html" targetPath="editor/fckeditor.original.html" />
-	
-	<IgnoreDir path="_dir" />
+
+	<IgnoreDir path="_dev" />
 	<IgnoreDir path="_test" />
 	<IgnoreDir path="editor/js" />
 
 	<!--
-	<IgnoreFile path="FCKeditor.V2.csproj" />
+	<IgnoreFile path="any.file" />
 	-->
 </Package>
Index: /FCKeditor/trunk/_test/manual/fckenterkey/test1_inner.html
===================================================================
--- /FCKeditor/trunk/_test/manual/fckenterkey/test1_inner.html	(revision 29)
+++ /FCKeditor/trunk/_test/manual/fckenterkey/test1_inner.html	(revision 30)
@@ -19,5 +19,6 @@
 <body>
 	<h1>
-		Sample document for editor area test<img src="http://www.fckeditor.net/images/logotop.gif" alt="" />
+		Sample document for editor area test<img src="../../../editor/dialog/fck_about/logo_fckeditor.gif"
+			alt="" />
 	</h1>
 	<p>
@@ -68,10 +69,7 @@
 		Test procedure
 	</h2>
-	
-		This text has no block tag. It goes directly in the body. 
-		In the test we will try to recreate this document using the editor tools. To make
-		sure tables can be inserted <em>properly</em> we re-visit banana import statistics
-		from 1998.
-	
+	This text has no block tag. It goes directly in the body. In the test we will try
+	to recreate this document using the editor tools. To make sure tables can be inserted
+	<em>properly</em> we re-visit banana import statistics from 1998.
 	<p>
 		In the test we will try to recreate this document using the editor tools. To make
@@ -79,8 +77,7 @@
 		from 1998.
 	</p>
-		Another piece of text without block tag. It goes directly in the body. 
-		In the test we will try to recreate this document using the editor tools. To make
-		sure tables can be inserted <em>properly</em> we re-visit banana import statistics
-		from 1998.
+	Another piece of text without block tag. It goes directly in the body. In the test
+	we will try to recreate this document using the editor tools. To make sure tables
+	can be inserted <em>properly</em> we re-visit banana import statistics from 1998.
 	<p>
 		In the test we will try to recreate this document using the editor tools. To make
Index: /FCKeditor/trunk/editor/_source/classes/fckdomrange_ie.js
===================================================================
--- /FCKeditor/trunk/editor/_source/classes/fckdomrange_ie.js	(revision 29)
+++ /FCKeditor/trunk/editor/_source/classes/fckdomrange_ie.js	(revision 30)
@@ -264,4 +264,5 @@
 	var eTmpSpan = this.Window.document.createElement( 'span' ) ;
 	eTmpSpan.id = 'fck_dom_range_temp_' + (new Date()).valueOf() + '_' + Math.floor(Math.random()*1000) ; 
+	eTmpSpan.innerHTML = '&nbsp;' ;
 
 	switch( position )
@@ -273,4 +274,5 @@
 			var oTargetRange = this.Window.document.body.createTextRange() ;
 			oTargetRange.moveToElementText( eTmpSpan ) ;
+			oTargetRange.collapse( true ) ;
 			
 			if ( oRange.compareEndPoints( 'StartToEnd', oTargetRange ) == 1 )
@@ -286,5 +288,6 @@
 			var oTargetRange = this.Window.document.body.createTextRange() ;
 			oTargetRange.moveToElementText( eTmpSpan ) ;
-			
+			oTargetRange.collapse( false ) ;
+
 			if ( oRange.compareEndPoints( 'StartToEnd', oTargetRange ) == 1 )
 				oRange.setEndPoint( 'StartToEnd', oTargetRange ) ;
@@ -299,4 +302,5 @@
 			var oTargetRange = this.Window.document.body.createTextRange() ;
 			oTargetRange.moveToElementText( eTmpSpan ) ;
+			oTargetRange.collapse( false ) ;
 			
 			if ( oRange.compareEndPoints( 'StartToEnd', oTargetRange ) == 1 )
@@ -312,4 +316,5 @@
 			var oTargetRange = this.Window.document.body.createTextRange() ;
 			oTargetRange.moveToElementText( targetElement ) ;
+			oTargetRange.collapse( true ) ;
 			
 			if ( oRange.compareEndPoints( 'StartToEnd', oTargetRange ) == 1 )
Index: /FCKeditor/trunk/editor/_source/classes/fckenterkey.js
===================================================================
--- /FCKeditor/trunk/editor/_source/classes/fckenterkey.js	(revision 29)
+++ /FCKeditor/trunk/editor/_source/classes/fckenterkey.js	(revision 30)
@@ -359,11 +359,11 @@
 					eNewBlock = eStartBlock.cloneNode(false) ;
 
-					// It could be that we are in a LI with a child UL. Insert a bogus to give us space to type.
+					// It could be that we are in a LI with a child UL/OL. Insert a bogus to give us space to type.
 					FCKDomTools.TrimNode( eDocFrag.RootNode ) ;
-					if ( eDocFrag.RootNode.firstChild.nodeType == 1 && eDocFrag.RootNode.firstChild.tagName.toUpperCase() == 'UL' )
+					if ( eDocFrag.RootNode.firstChild.nodeType == 1 && eDocFrag.RootNode.firstChild.tagName.toUpperCase().Equals( 'UL', 'OL' ) )
 						eNewBlock.innerHTML = GECKO_BOGUS ;
 					
-					// Set the duplicated block contents to the extracted one.
-					eDocFrag.AppendTo( eNewBlock ) ;
+					// Place the extracted contents in the duplicated block.
+					eDocFrag.AppendTo( eNewBlock ) ;					
 				}
 
@@ -371,5 +371,13 @@
 				{
 					// Place the new block after the current block element.
-					FCKDomTools.InsertAfterNode( eStartBlock, eNewBlock ) ;
+					if ( FCKBrowserInfo.IsIE )
+					{
+						// You gona think I'm crazy, but in IE we have to do
+						// this way to make it work properly with LI in some cases.
+						eStartBlock.parentNode.insertBefore( eNewBlock, eStartBlock ) ;		
+						eNewBlock.swapNode( eStartBlock	) ;	
+					}
+					else
+						FCKDomTools.InsertAfterNode( eStartBlock, eNewBlock ) ;
 
 					// Move the selection to the new block.
