summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcmacrae <calum0macrae@gmail.com>2018-11-21 11:24:59 +0000
committercmacrae <calum0macrae@gmail.com>2018-11-21 11:24:59 +0000
commit7ce69017311b3199e7edbdcf7120476c936c0a0a (patch)
tree0a7772587c092b6679338c3ec943d5064c74ab2b
parent1d0e6fb76d2a89e1e70155650061c078060cfb17 (diff)
keys: Protect against killspace consuming an empty buffer upon kill
-rw-r--r--up.go7
1 files changed, 3 insertions, 4 deletions
diff --git a/up.go b/up.go
index c9affa0..a3ae807 100644
--- a/up.go
+++ b/up.go
@@ -370,14 +370,13 @@ func (e *Editor) delete(dx int) {
}
func (e *Editor) kill() {
- e.killspace = e.value[e.cursor:]
+ if e.cursor != len(e.value) {
+ e.killspace = append(e.killspace[:0], e.value[e.cursor:]...)
+ }
e.value = e.value[:e.cursor]
}
func (e *Editor) yank() {
- if len(e.killspace) == 0 {
- return
- }
for _, r := range e.killspace {
e.insert(r)
}