diff options
author | Gabriel Krisman Bertazi <gabriel@krisman.be> | 2014-09-07 20:12:19 -0300 |
---|---|---|
committer | Gabriel Krisman Bertazi <gabriel@krisman.be> | 2014-09-07 20:12:19 -0300 |
commit | a9f116cbf2fb9892ddbc46478b85ebfa99b0074f (patch) | |
tree | 9af6dfb3fe79fea2eef868d09d1538d48eeaa2a9 /gdb/testsuite/gdb.base/commands.exp | |
parent | c75bd3a23915c3122070a95e1974e323543ffbe4 (diff) | |
download | binutils-gdb-a9f116cbf2fb9892ddbc46478b85ebfa99b0074f.tar.gz |
Fix PR gdb/17035: "show user" doesn't list user-defined commands that
have empty bodies.
User-defined commands that have empty bodies weren't being shown because
the print function returned too soon. Now, it prints the command's name
before checking if it has any body at all. This also fixes the same
problem on "show user <myemptycommand>", which wasn't being printed due
to a similar reason.
gdb/Changelog:
* cli/cli-cmds.c (show_user): Use cli_user_command_p to
decide whether we display the command on "show user".
* cli/cli-script.c (show_user_1): Only verify cmdlines after
printing command name.
* cli/cli-decode.h (cli_user_command_p): Declare new function.
* cli/cli-decode.c (cli_user_command_p): Create helper function
to verify whether cmd_list_element is a user-defined command.
gdb/testsuite/Changelog:
* gdb.base/commands.exp: Add tests to verify user-defined
commands with empty bodies.
* gdb.python/py-cmd.exp: Test that we don't show user-defined
python commands in `show user command`.
* gdb.python/scm-cmd.exp: Test that we don't show user-defined
scheme commands in `show user command`.
Diffstat (limited to 'gdb/testsuite/gdb.base/commands.exp')
-rw-r--r-- | gdb/testsuite/gdb.base/commands.exp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/commands.exp b/gdb/testsuite/gdb.base/commands.exp index 7363420af47..74eb3063e85 100644 --- a/gdb/testsuite/gdb.base/commands.exp +++ b/gdb/testsuite/gdb.base/commands.exp @@ -243,6 +243,28 @@ proc user_defined_command_test {} { gdb_test "show user mycommand" \ " while \\\$arg0.*set.* if \\\(\\\$arg0.*p/x.* else\[^\n\].*p/x.* end\[^\n\].* end\[^\n\].*" \ "display user command in user_defined_command_test" + + # Create and test a user-defined command with an empty body. + gdb_test_multiple "define myemptycommand" \ + "define myemptycommand in user_defined_command_test" { + -re "End with" { + pass "define myemptycommand in user_defined_command_test" + } + } + gdb_test "end" \ + "" \ + "end definition of user-defined command with empty body" + + gdb_test_no_output "myemptycommand" \ + "execute user-defined empty command in user_defined_command_test" + + gdb_test "show user" \ + "User command \"myemptycommand.*" \ + "display empty command in command list in user_defined_command_test" + + gdb_test "show user myemptycommand" \ + "User command \"myemptycommand.*" \ + "display user-defined empty command in user_defined_command_test" } proc watchpoint_command_test {} { |