diff --git a/packages/slate/src/models/text.js b/packages/slate/src/models/text.js index 6234afd56..4a9c077a2 100644 --- a/packages/slate/src/models/text.js +++ b/packages/slate/src/models/text.js @@ -589,7 +589,7 @@ class Text extends Record(DEFAULTS) { // PERF: For simple backspace, we can operate directly on the leaf if (length === 1) { - const { leaf, index, startOffset } = this.searchLeafAtOffset(start) + const { leaf, index, startOffset } = this.searchLeafAtOffset(start + 1) const offset = start - startOffset if (leaf) { diff --git a/packages/slate/test/models/text/delete/inside-a-leaf/delete-a-char-with-mark.js b/packages/slate/test/models/text/delete/inside-a-leaf/delete-a-char-with-mark.js new file mode 100644 index 000000000..9b820f6a9 --- /dev/null +++ b/packages/slate/test/models/text/delete/inside-a-leaf/delete-a-char-with-mark.js @@ -0,0 +1,19 @@ +/** @jsx h */ + +import h from '../../../../helpers/h' + +export const input = ( + + Cat is Cute + +)[0] + +export default function(t) { + return t.removeText(4, 1) +} + +export const output = ( + + Cat s Cute + +)[0]