Re: building gdb with TUI support on Windows

Eli Zaretskii <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
> Date: Thu, 1 Jan 2015 14:26:08 +0000 (UTC)
> From: Hannes Domani <[email protected]>
> 
> Ofir Cohen <[email protected]> schrieb am 22:12 Mittwoch, 31.Dezember 2014:
> > In DOS, "Ctrl + Arrow-Left" skips an entire word (like Alt+B/F on bash).
> > The key sequence of: Esc + b, or Esc + f, seems to accomplish that in gdb.
> > 
> > Do you have any idea how to make Ctrl+Left/Right to behave like Esc+b/f?
> > 
> > Do I need to intercept these control codes / keys in curses?
> 
> Add this to gdb:
> 
> --- a/readline/readline.c    2015-01-01 14:47:03.999708300 +0100
> +++ b/readline/readline.c    2015-01-01 14:47:11.399718700 +0100
> @@ -1163,6 +1163,9 @@
>     rl_bind_keyseq_if_unbound ("\340O", rl_end_of_line);
>     rl_bind_keyseq_if_unbound ("\340S", rl_delete);
>     rl_bind_keyseq_if_unbound ("\340R", rl_overwrite_mode);
> +
> +  rl_bind_keyseq_if_unbound ("\340s", rl_backward_word);  /* ctrl-left  */
> +  rl_bind_keyseq_if_unbound ("\340t", rl_forward_word);    /* ctrl-right */
> #endif
> 
>    _rl_keymap = xkeymap;
> 
> 
> 
> And this to pdcurses:
> 
> --- a/pdcurses/getch.c    2015-01-01 14:56:25.870495000 +0100
> +++ b/pdcurses/getch.c    2015-01-01 14:56:33.250505300 +0100
> @@ -272,6 +272,12 @@
>                   case KEY_IC:
>                       backhalf = 'R';
>                       break;
> +                case CTL_LEFT:
> +                    backhalf = 's';
> +                    break;
> +                case CTL_RIGHT:
> +                    backhalf = 't';
> +                    break;
>                   }
>                   if (backhalf)
>                   {

And the following magic in my ~/.inputrc does the same (and a bit
more) without any source-level changes:

  set convert-meta off
  "\340\163": backward-word               # Ctrl-left
  "\340\164": forward-word                # Ctrl-right
  "\340\223": kill-word                   # Ctrl-Delete
  "\340\165": kill-line                   # Ctrl-End
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.