+\r
+ if ( block && block.getParent().is( 'blockquote' ) )\r
+ {\r
+ block.breakParent( block.getParent() );\r
+\r
+ // If we were at the start of <blockquote>, there will be an empty element before it now.\r
+ if ( !block.getPrevious().getFirst( CKEDITOR.dom.walker.invisible(1) ) )\r
+ block.getPrevious().remove();\r
+\r
+ // If we were at the end of <blockquote>, there will be an empty element after it now.\r
+ if ( !block.getNext().getFirst( CKEDITOR.dom.walker.invisible(1) ) )\r
+ block.getNext().remove();\r
+\r
+ range.moveToElementEditStart( block );\r
+ range.select();\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 ( block && block.is( 'pre' ) )\r
+ {\r
+ if ( !atBlockEnd )\r
+ {\r
+ enterBr( editor, mode, range, forceMode );\r
+ return;\r
+ }\r
+ }\r
+ // Don't split caption blocks. (#7944)\r
+ else if ( block && CKEDITOR.dtd.$captionBlock[ block.getName() ] )\r
+ {\r
+ enterBr( editor, mode, range, forceMode );\r
+ return;\r