diff --git a/runebuf.go b/runebuf.go index d95df1e..dd8951b 100644 --- a/runebuf.go +++ b/runebuf.go @@ -331,8 +331,8 @@ func (r *RuneBuffer) BackEscapeWord() { if r.idx == 0 { return } - for i := r.idx - 1; i > 0; i-- { - if !IsWordBreak(r.buf[i]) && IsWordBreak(r.buf[i-1]) { + for i := r.idx - 1; i >= 0; i-- { + if !IsWordBreak(r.buf[i]) && (i == 0 || IsWordBreak(r.buf[i-1])) { r.pushKill(r.buf[i:r.idx]) r.buf = append(r.buf[:i], r.buf[r.idx:]...) r.idx = i