diff --git a/packages/slate/src/commands/at-range.js b/packages/slate/src/commands/at-range.js index 04d3e95e0..52d92bd94 100644 --- a/packages/slate/src/commands/at-range.js +++ b/packages/slate/src/commands/at-range.js @@ -114,7 +114,8 @@ Commands.deleteAtRange = (editor, range) => { endOffset === 0 && isStartVoid === false && startKey === startBlock.getFirstText().key && - endKey === endBlock.getFirstText().key + endKey === endBlock.getFirstText().key && + startKey !== endKey // If it's a hanging selection, nudge it back to end in the previous text. if (isHanging && isEndVoid) { diff --git a/packages/slate/test/commands/at-current-range/delete/first-position.js b/packages/slate/test/commands/at-current-range/delete/first-position.js new file mode 100644 index 000000000..076680879 --- /dev/null +++ b/packages/slate/test/commands/at-current-range/delete/first-position.js @@ -0,0 +1,29 @@ +/** @jsx h */ + +import h from '../../../helpers/h' + +export default function(editor) { + editor.delete() +} + +export const input = ( + + + + + word + + + +) + +export const output = ( + + + + + word + + + +)