vi: don't right shift empty lines

The right shift command ('>') shouldn't affect empty lines.

function                                             old     new   delta
do_cmd                                              4860    4894     +34
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/0 up/down: 34/0)               Total: 34 bytes

Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/editors/vi.c b/editors/vi.c
index e6527e3..5084779 100644
--- a/editors/vi.c
+++ b/editors/vi.c
@@ -4092,8 +4092,8 @@
 #endif
 					}
 				}
-			} else /* if (c == '>') */ {
-				// shift right -- add tab or tabstop spaces
+			} else if (/* c == '>' && */ p != end_line(p)) {
+				// shift right -- add tab or tabstop spaces on non-empty lines
 				char_insert(p, '\t', allow_undo);
 			}
 #if ENABLE_FEATURE_VI_UNDO