From 35e9c5d83ada1fea40798365a1b4c728f64ded98 Mon Sep 17 00:00:00 2001 From: Paul Fox Date: Thu, 6 Mar 2008 16:26:12 +0000 Subject: [PATCH] fixups to vi usage, and move the initial redraw() past the execution of commands supplied by -c or EXINIT, so their effect is displayed correctly. --- editors/vi.c | 16 +++++++++------- include/usage.h | 6 +++++- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/editors/vi.c b/editors/vi.c index d9db94322..572e04972 100644 --- a/editors/vi.c +++ b/editors/vi.c @@ -23,6 +23,7 @@ #include "libbb.h" +/* the CRASHME code is unmaintained, and doesn't currently build */ #define ENABLE_FEATURE_VI_CRASHME 0 @@ -395,7 +396,7 @@ int vi_main(int argc, char **argv) initial_cmds[0] = xstrndup(p, MAX_INPUT_LEN); } #endif - while ((c = getopt(argc, argv, "hCR" USE_FEATURE_VI_COLON("c:"))) != -1) { + while ((c = getopt(argc, argv, "hCRH" USE_FEATURE_VI_COLON("c:"))) != -1) { switch (c) { #if ENABLE_FEATURE_VI_CRASHME case 'C': @@ -407,18 +408,18 @@ int vi_main(int argc, char **argv) SET_READONLY_MODE(readonly_mode); break; #endif - //case 'r': // recover flag- ignore- we don't use tmp file - //case 'x': // encryption flag- ignore - //case 'c': // execute command first #if ENABLE_FEATURE_VI_COLON case 'c': // cmd line vi command if (*optarg) initial_cmds[initial_cmds[0] != 0] = xstrndup(optarg, MAX_INPUT_LEN); break; - //case 'h': // help -- just use default #endif - default: + case 'H': show_help(); + /* fall through */ + + default: + bb_show_usage(); return 1; } } @@ -532,7 +533,6 @@ static void edit_file(char *fn) lmc_len = 0; adding2q = 0; #endif - redraw(FALSE); // dont force every col re-draw #if ENABLE_FEATURE_VI_COLON { @@ -555,6 +555,7 @@ static void edit_file(char *fn) } } #endif + redraw(FALSE); // dont force every col re-draw //------This is the main Vi cmd handling loop ----------------------- while (editing > 0) { #if ENABLE_FEATURE_VI_CRASHME @@ -3849,6 +3850,7 @@ static void do_cmd(char c) dot--; } +/* NB! the CRASHME code is unmaintained, and doesn't currently build */ #if ENABLE_FEATURE_VI_CRASHME static int totalcmds = 0; static int Mp = 85; // Movement command Probability diff --git a/include/usage.h b/include/usage.h index 4eac17401..f575f4676 100644 --- a/include/usage.h +++ b/include/usage.h @@ -4237,7 +4237,11 @@ USE_FEATURE_RUN_PARTS_FANCY("\n -l Prints names of all matching files even when #define vi_full_usage \ "Edit FILE" \ "\n\nOptions:\n" \ - " -R Read-only - do not write to the file" + USE_FEATURE_VI_COLON( \ + " -c Initial command to run ($EXINIT also available)\n") \ + USE_FEATURE_VI_READONLY( \ + " -R Read-only - do not write to the file\n") \ + " -H Short help regarding available features" #define vlock_trivial_usage \ "[OPTIONS]"