diff --git a/packages/slate/src/utils/path-utils.js b/packages/slate/src/utils/path-utils.js index 2afe61073..08ac4cef2 100644 --- a/packages/slate/src/utils/path-utils.js +++ b/packages/slate/src/utils/path-utils.js @@ -342,6 +342,11 @@ function transform(path, operation) { const { newPath: np } = operation const npIndex = np.size - 1 const npEqual = isEqual(np, path) + + if (isEqual(p, np)) { + return List([path]) + } + const npYounger = isYounger(np, path) const npAbove = isAbove(np, path) diff --git a/packages/slate/test/commands/at-current-range/delete/non-void-triple.js b/packages/slate/test/commands/at-current-range/delete/non-void-triple.js new file mode 100644 index 000000000..1b964b9cb --- /dev/null +++ b/packages/slate/test/commands/at-current-range/delete/non-void-triple.js @@ -0,0 +1,31 @@ +/** @jsx h */ + +import h from '../../../helpers/h' + +export default function(change) { + change.delete() +} + +export const input = ( + + + + 1 + + 2 + + 3 + + + +) + +export const output = ( + + + + + + + +) diff --git a/packages/slate/test/commands/at-current-range/delete/void-inline-as-last-with-non-void-previous-siblings.js b/packages/slate/test/commands/at-current-range/delete/void-inline-as-last-with-non-void-previous-siblings.js new file mode 100644 index 000000000..5d3d79227 --- /dev/null +++ b/packages/slate/test/commands/at-current-range/delete/void-inline-as-last-with-non-void-previous-siblings.js @@ -0,0 +1,32 @@ +/** @jsx h */ + +import h from '../../../helpers/h' + +export default function(change) { + change.delete() +} + +export const input = ( + + + + Hi + + there + + + + + + +) + +export const output = ( + + + + + + + +)