Index: /FCKeditor/trunk/editor/_source/commandclasses/fcklistcommands.js
===================================================================
--- /FCKeditor/trunk/editor/_source/commandclasses/fcklistcommands.js	(revision 770)
+++ /FCKeditor/trunk/editor/_source/commandclasses/fcklistcommands.js	(revision 771)
@@ -36,41 +36,8 @@
 	Execute : function()
 	{
-		/*
 		if ( FCKBrowserInfo.IsIE && this.GetState() == FCK_TRISTATE_OFF )
 		{
 			// IE does not split selected <br> tags when it is making lists. (See #428)
 			// So, pre-split the blocks for IE.
-			var range = new FCKDomRange( FCK.EditorWindow ) ;
-			range.MoveToSelection() ;
-			var terminals = this._GetIETerminalNodes( range ) ;
-			var selectionStartNode = terminals.start ;
-			var selectionEndNode = terminals.end ;
-
-			var brNodes = [] ;
-			var curNode = selectionStartNode ;
-			while ( curNode && curNode != selectionEndNode )
-			{
-				if ( curNode.nodeType == 1 && curNode.tagName.toLowerCase() == 'br' )
-					brNodes.push( curNode ) ;
-				curNode = FCKTools.GetNextNode( curNode ) ;
-			}
-
-			for ( var i = brNodes.length - 1 ; i >= 0 ; i-- )
-			{
-				range.SetStart( brNodes[i], 3 ) ;
-				range.SetEnd( brNodes[i], 3 ) ;
-				brNodes[i].parentNode.removeChild( brNodes[i] ) ;
-				range.SplitBlock() ;
-			}
-
-			range.SetStart( selectionStartNode, 1 ) ;
-			range.SetEnd( selectionEndNode, 4 ) ;
-			range.Select() ;
-		}
-		*/
-		FCK.ExecuteNamedCommand( this.Name ) ;
-		/*
-		if ( FCKBrowserInfo.IsIE && this.GetState() == FCK_TRISTATE_OFF && FCKConfig.EnterMode.IEquals( 'br' ) )
-		{
 			var range = new FCKDomRange( FCK.EditorWindow ) ;
 			range.MoveToSelection() ;
@@ -97,54 +64,27 @@
 				}
 			}
-			var startParents = FCKDomTools.GetParents( startNode ) ;
-			var endParents = FCKDomTools.GetParents( endNode ) ;
-			var commonLength = 0 ;
-			while ( startParents[commonLength] == endParents[commonLength] )
-				commonLength++ ;
-			if ( startParents.length <= commonLength || endParents.length <= commonLength )
-				return ;
-			startNode = startParents[commonLength] ;
-			endNode = endParents[commonLength] ;
-			if ( startNode.parentNode != endNode.parentNode )
-				return ;
-			var removedNode = null ;
+
+			var brNodes = [] ;
 			var curNode = startNode ;
-			while ( curNode && ( removedNode != endNode ) )
+			while ( curNode && curNode != endNode )
 			{
-				if ( curNode != endNode )
-					curNode.appendChild( curNode.ownerDocument.createElement( 'br' ) ) ;
-				var temp = curNode.nextSibling ;
-				removedNode = curNode.removeNode( false ) ;
-				curNode = temp ;
+				if ( curNode.nodeType == 1 && curNode.tagName.toLowerCase() == 'br' )
+					brNodes.push( curNode ) ;
+				curNode = FCKTools.GetNextNode( curNode ) ;
 			}
+
+			for ( var i = brNodes.length - 1 ; i >= 0 ; i-- )
+			{
+				range.SetStart( brNodes[i], 3 ) ;
+				range.SetEnd( brNodes[i], 3 ) ;
+				brNodes[i].parentNode.removeChild( brNodes[i] ) ;
+				range.SplitBlock() ;
+			}
+
+			range.SetStart( startNode, 1 ) ;
+			range.SetEnd( endNode, 4 ) ;
+			range.Select() ;
 		}
-		*/
-	},
-
-	_GetIETerminalNodes : function( range )
-	{
-		var startNode = range._Range.startContainer ;
-		var endNode = range._Range.endContainer ;
-		if ( startNode.nodeType == 1 )
-		{
-			if ( startNode.firstChild )
-			{
-				if ( startNode.childNodes.length <= range._Range.startOffset )
-					startNode = startNode.lastChild ;
-				else
-					startNode = startNode.childNodes[ range._Range.startOffset ] ;
-			}
-		}
-		if ( endNode.nodeType == 1 )
-		{
-			if ( endNode.firstChild )
-			{
-				if ( endNode.childNodes.length <= range._Range.endOffset )
-					endNode = endNode.lastChild ;
-				else
-					endNode = endNode.childNodes[ range._Range.endOffset ] ;
-			}
-		}
-		return { start : startNode, end : endNode } ;
+		FCK.ExecuteNamedCommand( this.Name ) ;
 	}
 };
Index: /FCKeditor/trunk/editor/_source/internals/fckdomtools.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fckdomtools.js	(revision 770)
+++ /FCKeditor/trunk/editor/_source/internals/fckdomtools.js	(revision 771)
@@ -270,5 +270,5 @@
 		while ( node )
 		{
-			parents.unshift( node ) ;
+			parents.splice( 0, 0, node ) ;
 			node = node.parentNode ;
 		}
Index: /FCKeditor/trunk/editor/_source/internals/fcktools.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fcktools.js	(revision 770)
+++ /FCKeditor/trunk/editor/_source/internals/fcktools.js	(revision 771)
@@ -477,22 +477,4 @@
 }
 
-// Perform a one-step DFS walk backwards.
-FCKTools.GetPrevNode = function( node, limitNode )
-{
-	if ( node.previousSibling )
-	{
-		var cursor = node.previousSibling ;
-		while ( cursor.lastChild )
-			cursor = cursor.lastChild ;
-		return cursor ;
-	}
-	else
-	{
-		if ( node.parentNode == limitNode )
-			return null ;
-		return node.parentNode ;
-	}
-}
-
 // Perform a one-step DFS walk.
 FCKTools.GetNextNode = function( node, limitNode )
