From d97285e4dc3e07a1a85e37f64753aa359e40a01d Mon Sep 17 00:00:00 2001
From: gwenn <gtreguier@gmail.com>
Date: Tue, 28 Feb 2017 19:22:24 +0100
Subject: [PATCH] Fix delete/change last word

---
 src/line_buffer.rs | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/line_buffer.rs b/src/line_buffer.rs
index c27b51cc..aec7a357 100644
--- a/src/line_buffer.rs
+++ b/src/line_buffer.rs
@@ -387,7 +387,7 @@ impl LineBuffer {
             }
         }
         if wp == 0 {
-            if word_def == Word::Emacs {
+            if word_def == Word::Emacs || at == At::AfterEnd {
                 Some(self.buf.len())
             } else {
                 match gi {
@@ -1073,6 +1073,12 @@ mod test {
         assert_eq!("a  c", s.buf);
         assert_eq!(1, s.pos);
         assert_eq!(Some(" ß".to_string()), text);
+
+        let mut s = LineBuffer::init("test", 0);
+        let text = s.delete_word(At::AfterEnd, Word::Vi, 1);
+        assert_eq!("", s.buf);
+        assert_eq!(0, s.pos);
+        assert_eq!(Some("test".to_string()), text);
     }
 
     #[test]
-- 
GitLab