Allow defining a user command inside a user command
authorTom Tromey <tom@tromey.com>
Wed, 18 Apr 2018 22:10:59 +0000 (16:10 -0600)
committerTom Tromey <tom@tromey.com>
Fri, 4 May 2018 21:58:07 +0000 (15:58 -0600)
commit7a2c85f25977ff9b11728ba85b1417538e22c246
tree941f548ed63c2bd4099110d92ff7d4089d88a9d1
parent295dc222a712b700d9afa7e2462a68b866b120e1
Allow defining a user command inside a user command

PR gdb/11750 concerns defining a command inside a user commnad, like:

    define outer
      define inner
echo hi\n
      end
    end

This patch adds this capability to gdb.

ChangeLog
2018-05-04  Tom Tromey  <tom@tromey.com>

PR gdb/11750:
* cli/cli-script.h (enum command_control_type) <define_control>:
New constant.
* cli/cli-script.c (multi_line_command_p): Handle define_control.
(build_command_line, execute_control_command_1)
(process_next_line): Likewise.
(do_define_command): New function, extracted from define_command.
(define_command): Use it.

testsuite/ChangeLog
2018-05-04  Tom Tromey  <tom@tromey.com>

PR gdb/11750:
* gdb.base/define.exp: Test defining a user command inside a user
command.
* gdb.base/commands.exp (define_if_without_arg_test): Test "define".
gdb/ChangeLog
gdb/cli/cli-script.c
gdb/cli/cli-script.h
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/commands.exp
gdb/testsuite/gdb.base/define.exp