Re: building gdb with TUI support on Windows

Ofir Cohen <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <CAHOBVAfkBvhurbuMfhO8=r4Oyt4BeCjF9G_Nb+XZTHFbBz5eCg@mail.gmail.com>
Hi Eli,
Thanks for sharing.

I launch gdb from DOS, using:
1) set PATH=c:\msys64\mingw64\bin;%PATH%
2) c:\gdb\build\gdb\gdb --tui

When launching from DOS, how does it find ~/.inputrc?
Will the following work:
1. Set HOME=c:/temp/
2. populate c:/temp/.inputrc with your contents (for example)
3. Launch gdb

?

Will readline successfully locate the DOS path to ~/.inputrc ?

Thanks,
Ofir Cohen

On 1 January 2015 at 17:46, Eli Zaretskii <[email protected]> wrote:
>> 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.