* NEWS: Mention new python command class gdb.COMMAND_USER.
* cli/cli-cmds.c (show_user): Print error when used on a python command. (init_cli_cmds): Update documentation strings for "show user" and "set/show max-user-call-depth" to clarify that it does not apply to python commands. * python/py-cmd.c (cmdpy_init): Treat class_user as a valid class in error check. (gdbpy_initialize_commands): Add COMMAND_USER as a constant in gdb python api. * top.c (execute_command): Only execute a user-defined command as a legacy macro if c->user_commands is set. doc/ * gdb.texinfo (Commands In Python): Put example python macro in COMMAND_USER category rather than COMMAND_OBSCURE. Document gdb.COMMAND_USER. (User-defined Commands): Update documentation to clarify "set/show max-user-call-depth" and "show user" don't apply to python commands. Update documentation to clarify "help user-defined" may also include python commands defined as COMMAND_USER. testsuite/ * gdb.python/py-cmd.exp: Add test to verify that python commands can be put in the user-defined category and that the commands appear in "help user-defined".
This commit is contained in:
parent
e88acd9618
commit
7d74f2446c
9 changed files with 77 additions and 11 deletions
|
@ -138,3 +138,20 @@ gdb_test "python print gdb.string_to_argv ('\"1 2\" 3')" \
|
|||
gdb_test "python print gdb.string_to_argv ('1\\ 2 3')" \
|
||||
{\['1 2', '3'\]} \
|
||||
"string_to_argv ('1\\ 2 3')"
|
||||
|
||||
# Test user-defined python commands.
|
||||
gdb_py_test_multiple "input simple user-defined command" \
|
||||
"python" "" \
|
||||
"class test_help (gdb.Command):" "" \
|
||||
" \"\"\"Docstring\"\"\"" "" \
|
||||
" def __init__ (self):" "" \
|
||||
" super (test_help, self).__init__ (\"test_help\", gdb.COMMAND_USER)" "" \
|
||||
" def invoke (self, arg, from_tty):" "" \
|
||||
" print \"test_cmd output, arg = %s\" % arg" "" \
|
||||
"test_help ()" "" \
|
||||
"end" ""
|
||||
|
||||
gdb_test "test_help ugh" "test_cmd output, arg = ugh" "call simple user-defined command"
|
||||
|
||||
# Make sure the command shows up in `help user-defined`.
|
||||
gdb_test "help user-defined" "User-defined commands.\[\r\n\]+The commands in this class are those defined by the user.\[\r\n\]+Use the \"define\" command to define a command.\[\r\n\]+\[\r\n\]+List of commands:\[\r\n\]+\[\r\n\]+test_help -- Docstring\[\r\n\]+\[\r\n\]+Type \"help\" followed by command name for full documentation.\[\r\n\]+Type \"apropos word\" to search for commands related to \"word\".\[\r\n\]+Command name abbreviations are allowed if unambiguous.\[\r\n\]+" "see user-defined command in `help user-defined`"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue