On Tue, Jun 20, 2017 at 12:51:38PM -0400, Bryan Steele wrote:
> In ksh(1), ^T is documented to be bounded to transpose-chars while
> in emacs mode, not "x_stuff". While here, remove these poorly
> described functions as well..
This change would break any existing user defined binding to either
stuff or stuff-reset (`bind key=stuff` in .kshrc for instance).
However, I would like to move forward and completely zap those functions
just like you proposed.
ok anton@
>
> -Bryan.
>
> Index: emacs.c
> ===================================================================
> RCS file: /cvs/src/bin/ksh/emacs.c,v
> retrieving revision 1.67
> diff -u -p -u -r1.67 emacs.c
> --- emacs.c 12 May 2017 14:37:52 -0000 1.67
> +++ emacs.c 20 Jun 2017 16:50:11 -0000
> @@ -185,8 +185,6 @@ static int x_search_char_forw(int);
> static int x_search_char_back(int);
> static int x_search_hist(int);
> static int x_set_mark(int);
> -static int x_stuff(int);
> -static int x_stuffreset(int);
> static int x_transpose(int);
> static int x_version(int);
> static int x_xchg_point_mark(int);
> @@ -244,8 +242,6 @@ static const struct x_ftab x_ftab[] = {
> { x_search_char_back, "search-character-backward", XF_ARG },
> { x_search_hist, "search-history", 0 },
> { x_set_mark, "set-mark-command", 0 },
> - { x_stuff, "stuff", 0 },
> - { x_stuffreset, "stuff-reset", 0 },
> { x_transpose, "transpose-chars", 0 },
> { x_version, "version", 0 },
> { x_xchg_point_mark, "exchange-point-and-mark", 0 },
> @@ -1227,36 +1223,6 @@ x_error(int c)
> return KSTD;
> }
>
> -static int
> -x_stuffreset(int c)
> -{
> -#ifdef TIOCSTI
> - (void)x_stuff(c);
> - return KINTR;
> -#else
> - x_zotc(c);
> - xlp = xcp = xep = xbp = xbuf;
> - xlp_valid = true;
> - *xcp = 0;
> - x_redraw(-1);
> - return KSTD;
> -#endif
> -}
> -
> -static int
> -x_stuff(int c)
> -{
> -#ifdef TIOCSTI
> - char ch = c;
> - bool savmode = x_mode(false);
> -
> - (void)ioctl(TTY, TIOCSTI, &ch);
> - (void)x_mode(savmode);
> - x_redraw(-1);
> -#endif
> - return KSTD;
> -}
> -
> static char *
> kb_encode(const char *s)
> {
> @@ -1555,12 +1521,7 @@ x_init_emacs(void)
> kb_add(x_search_char_forw, NULL, CTRL(']'), 0);
> kb_add(x_search_hist, NULL, CTRL('R'), 0);
> kb_add(x_set_mark, NULL, CTRL('['), ' ', 0);
> -#if defined(TIOCSTI)
> - kb_add(x_stuff, NULL, CTRL('T'), 0);
> - /* stuff-reset */
> -#else
> kb_add(x_transpose, NULL, CTRL('T'), 0);
> -#endif
> kb_add(x_prev_com, NULL, CTRL('P'), 0);
> kb_add(x_prev_com, NULL, CTRL('X'), 'A', 0);
> kb_add(x_fold_upper, NULL, CTRL('['), 'U', 0);
> Index: ksh.1
> ===================================================================
> RCS file: /cvs/src/bin/ksh/ksh.1,v
> retrieving revision 1.187
> diff -u -p -u -r1.187 ksh.1
> --- ksh.1 19 Feb 2017 22:09:18 -0000 1.187
> +++ ksh.1 20 Jun 2017 16:50:11 -0000
> @@ -4912,14 +4912,6 @@ The history buffer retains only a finite
> are discarded as necessary.
> .It set-mark-command: ^[ Ns Aq space
> Set the mark at the cursor position.
> -.It stuff:
> -On systems supporting it, pushes the bound character back onto the terminal
> -input where it may receive special processing by the terminal handler.
> -This is useful for the BRL ^T mini-systat feature, for example.
> -.It stuff-reset:
> -Acts like
> -.Ic stuff ,
> -then aborts input the same as an interrupt.
> .It transpose-chars: ^T
> If at the end of line, or if the
> .Ic gmacs
>