+ var atBlockStart = range.checkStartOfBlock(),\r
+ atBlockEnd = range.checkEndOfBlock(),\r
+ path = new CKEDITOR.dom.elementPath( range.startContainer ),\r
+ block = path.block;\r
+\r
+ // Exit the list when we're inside an empty list item block. (#5376)\r
+ if ( atBlockStart && atBlockEnd )\r
+ {\r
+ if ( block && ( block.is( 'li' ) || block.getParent().is( 'li' ) ) )\r
+ {\r
+ editor.execCommand( 'outdent' );\r
+ return;\r
+ }\r
+ }\r
+ // Don't split <pre> if we're in the middle of it, act as shift enter key.\r
+ else if ( !atBlockEnd && block && block.is( 'pre' ) )\r
+ enterBr( editor, mode, range, forceMode );\r
+\r