This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v3 0/5] Create MI commands using python.


Polite ping. 

Thanks! Jan

On Thu, 2019-05-30 at 14:48 +0100, Jan Vrany wrote:
> This version mainly addresses comments raised by Simon. Tested with both
> Python 2.7 and Python 3(.7).
> 
> Changes v2 -> v3
> 
> * addressed Simon's comments:
>   - https://sourceware.org/ml/gdb-patches/2019-05/msg00406.html
>   - https://sourceware.org/ml/gdb-patches/2019-05/msg00407.html
> * checked that it compiles with both Python 2.7 and Python 3(.7)
> * add tests for MI command returning dictionary with non-string
>   keys
> * add tests for creating MI commands with invalid names
> 
> Changes v1 -> v2
> 
> * squashed following commits into one:
>   - 8e65585bdab0 Create MI commands using python.
>   - 9e2afadd2d4d03 mi/python: C++ify python MI command handling code
>   - 0491a0634f7de4 mi/python: Polish MI output of python commands
> * moved class mi_command_py to python code
> * use gdbpy_ref<> instead of void* to hold on Python object
>   in mi_command_py
> * release python objects held on by mi_command_py objects
>   when finalizing Python
> * merged py_mi_invoke() into mi_command_py::invoke()
> * added missing copyright headers
> * dropped micmdpy_parse_command_name()
> * prefixed error messages by MI command name except for
>   "Problem parsing arguments:" since old C-implemented MI
>   commands do not prefix command name.
> * make do_suppress_notification() to return gdb::optional
> * split invoke to invoke and do_invoke, making invoke to perform
>   common initialization
> * add test redefining Python MI command while the very same command
>   is running
> * documented the fact that in mi_command_py::do_invoke() `this` pointer cannot
>   be used after invoking python code since it may got stale.
> 
> 
> Didier Nadeau (3):
>   Use std::map for MI commands in mi-cmds.c
>   Use classes to represent MI Command instead of structures
>   Create MI commands using python.
> 
> Jan Vrany (2):
>   mi/python: Allow redefinition of python MI commands
>   mi/python: Add tests for python-defined MI commands
> 
>  gdb/ChangeLog                          |  88 +++++
>  gdb/Makefile.in                        |   1 +
>  gdb/mi/mi-cmd-info.c                   |   4 +-
>  gdb/mi/mi-cmds.c                       | 510 +++++++++++++------------
>  gdb/mi/mi-cmds.h                       |  87 ++++-
>  gdb/mi/mi-main.c                       |  22 +-
>  gdb/mi/mi-main.h                       |   1 +
>  gdb/mi/mi-parse.c                      |  20 +-
>  gdb/mi/mi-parse.h                      |   6 +-
>  gdb/python/py-micmd.c                  | 307 +++++++++++++++
>  gdb/python/py-micmd.h                  |  60 +++
>  gdb/python/python-internal.h           |   2 +
>  gdb/python/python.c                    |  13 +-
>  gdb/testsuite/ChangeLog                |   5 +
>  gdb/testsuite/gdb.python/py-mi-cmd.exp | 132 +++++++
>  gdb/testsuite/gdb.python/py-mi-cmd.py  |  54 +++
>  16 files changed, 1007 insertions(+), 305 deletions(-)
>  create mode 100644 gdb/python/py-micmd.c
>  create mode 100644 gdb/python/py-micmd.h
>  create mode 100644 gdb/testsuite/gdb.python/py-mi-cmd.exp
>  create mode 100644 gdb/testsuite/gdb.python/py-mi-cmd.py
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]