+ else\r
+ {\r
+ // Handle Del key pressed before the list.\r
+ walker.range.setEndAt( body, CKEDITOR.POSITION_BEFORE_END );\r
+ next = walker.next();\r
+\r
+ if ( next && next.type == CKEDITOR.NODE_ELEMENT &&\r
+ next.getName() in listNodeNames )\r
+ {\r
+ // The start <li>\r
+ next = next.getFirst( nonEmpty );\r
+\r
+ // Simply remove the current empty block, move cursor to the\r
+ // subsequent list.\r
+ if ( path.block &&\r
+ range.checkStartOfBlock() &&\r
+ range.checkEndOfBlock() )\r
+ {\r
+ path.block.remove();\r
+ range.moveToElementEditStart( next );\r
+ range.select();\r
+ evt.cancel();\r
+ }\r
+\r
+ // Preventing the default (merge behavior), but simply move\r
+ // the cursor one character forward if subsequent list item\r
+ // contains sub list.\r
+ else if ( getSubList( next ) )\r
+ {\r
+ range.moveToElementEditStart( next );\r
+ range.select();\r
+ evt.cancel();\r
+ }\r
+ // Merge the first list item with the current line.\r
+ else\r
+ {\r
+ nextLine = range.clone();\r
+ nextLine.moveToElementEditStart( next );\r
+ joinNextLineToCursor( editor, cursor, nextLine );\r
+ evt.cancel();\r
+ }\r
+ }\r
+ }\r