- var listData = CKEDITOR.plugins.list.arrayToList( listArray, null, currentIndex, paragraphMode );\r
+ // Maintain original direction (#6861).\r
+ var orgDir = item.element.getDirection( 1 ),\r
+ currDir = listArray[ currentIndex - 1 ].element.getDirection( 1 ),\r
+ listData = CKEDITOR.plugins.list.arrayToList( listArray, null, currentIndex, paragraphMode,\r
+ currDir != orgDir ? orgDir: null );\r
+\r
+ // If the next block is an <li> with another list tree as the first\r
+ // child, we'll need to append a filler (<br>/NBSP) or the list item\r
+ // wouldn't be editable. (#6724)\r
+ if ( !currentListItem.getChildCount() && CKEDITOR.env.ie && !( doc.$.documentMode > 7 ))\r
+ currentListItem.append( doc.createText( '\xa0' ) );\r