On Sun, Nov 26 2017, Theo Buehler <[email protected]> wrote:
> On Sun, Nov 26, 2017 at 08:18:04PM +0100, Anton Lindqvist wrote:
>> While at it, another gem: in Vi normal mode typing ^V inserts the
>> version string. Does not seem to be documented either.
>
> Yes, can we please zap it? It's utterly annoying, as I regularly trigger
> it when I want to edit the command line in $EDITOR.
Same diff here, ok jca@
> There are still the documented KSH_VERSION variable and the \v and \V
> escapes for PS1 that make use of the ksh_version string.
Yup. Before someone proposes to remove or significantly change the
content of the version string: please think about shell scripts out
there that might use KSH_VERSION.
> Index: vi.c
> ===================================================================
> RCS file: /var/cvs/src/bin/ksh/vi.c,v
> retrieving revision 1.49
> diff -u -p -r1.49 vi.c
> --- vi.c 2 Sep 2017 18:53:53 -0000 1.49
> +++ vi.c 26 Nov 2017 20:29:03 -0000
> @@ -140,7 +140,6 @@ const unsigned char classify[128] = {
> #define VREDO 7 /* . */
> #define VLIT 8 /* ^V */
> #define VSEARCH 9 /* /, ? */
> -#define VVERSION 10 /* <ESC> ^V */
>
> static char undocbuf[LINE];
>
> @@ -223,7 +222,7 @@ x_vi(char *buf, size_t len)
> trapsig(c == edchars.intr ? SIGINT : SIGQUIT);
> x_mode(false);
> unwind(LSHELL);
> - } else if (c == edchars.eof && state != VVERSION) {
> + } else if (c == edchars.eof) {
> if (es->linelen == 0) {
> x_vi_zotc(edchars.eof);
> c = -1;
> @@ -301,14 +300,6 @@ vi_hook(int ch)
> return -1;
> refresh(0);
> }
> - if (state == VVERSION) {
> - save_cbuf();
> - es->cursor = 0;
> - es->linelen = 0;
> - putbuf(ksh_version + 4,
> - strlen(ksh_version + 4), 0);
> - refresh(0);
> - }
> }
> }
> break;
> @@ -323,12 +314,6 @@ vi_hook(int ch)
> state = VNORMAL;
> break;
>
> - case VVERSION:
> - restore_cbuf();
> - state = VNORMAL;
> - refresh(0);
> - break;
> -
> case VARG1:
> if (isdigit(ch))
> argc1 = argc1 * 10 + ch - '0';
> @@ -554,8 +539,6 @@ nextstate(int ch)
> return VXCH;
> else if (ch == '.')
> return VREDO;
> - else if (ch == CTRL('v'))
> - return VVERSION;
> else if (is_cmd(ch))
> return VCMD;
> else
>
--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE