Fix PR gdb/17035: "show user" doesn't list user-defined commands that
authorGabriel Krisman Bertazi <gabriel@krisman.be>
Sun, 7 Sep 2014 23:12:19 +0000 (20:12 -0300)
committerGabriel Krisman Bertazi <gabriel@krisman.be>
Sun, 7 Sep 2014 23:12:19 +0000 (20:12 -0300)
commita9f116cbf2fb9892ddbc46478b85ebfa99b0074f
tree9af6dfb3fe79fea2eef868d09d1538d48eeaa2a9
parentc75bd3a23915c3122070a95e1974e323543ffbe4
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`.
gdb/ChangeLog
gdb/cli/cli-cmds.c
gdb/cli/cli-decode.c
gdb/cli/cli-decode.h
gdb/cli/cli-script.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/commands.exp
gdb/testsuite/gdb.guile/scm-cmd.exp
gdb/testsuite/gdb.python/py-cmd.exp