From f05ce8d25b107788e512504d417c42d4327df097 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 ca613f28..a2178cf6 100644
--- a/src/line_buffer.rs
+++ b/src/line_buffer.rs
@@ -388,7 +388,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 {
@@ -1059,6 +1059,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