From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sonic304-22.consmr.mail.ir2.yahoo.com (sonic304-22.consmr.mail.ir2.yahoo.com [77.238.179.147]) by sourceware.org (Postfix) with ESMTPS id 6064A381DC6B for ; Sat, 6 Mar 2021 17:41:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 6064A381DC6B X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1615052498; bh=YWKqr30w/1r2csg/kuLk9DCq6FjT/X3qzDi+hwE55lL=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=Ui+0Kglb7uXuKN17WFOiMfFdxxjvS0ZxLDd2yaEWk991CXDXR3fpd7HanVmlQ3j8IN//mCnsNfI3P5n6W8cvZ3I0oGXigwvUzj5kGlU7Qz9buWIpIbKDNIzD0dz2zWwM3H0lngCZjevsVWpjeJbOLAoKOLONhz3H+KWrwMIf9L4JH+PmDVoVKMTIMdE8Q22EgI6N1dyHm042DG7idpkWEQWqHCyDbiOHFASUAtwFM3r1DmEXL5Wsa3T9JsJ56CLB337FodnUMij/s732tXwSD916JGBPlQlmiAj+KJ63Gi0TKhnnoBO6tevjsR8JIuGYlpUTeyo29fk3pm+jeRD9PA== X-YMail-OSG: N1QzXL4VM1lA_wosyNGZRWIjnBRpAgA9G4C6R3NGdADsIun9qKnbx8po6nf9ECQ U3cBhi3y39VPq479xCXpa4PbpZhtnsaDNUzkmXGA_NSh.MGZOyGlNtLXSwR1ItCeUKySvVqMZK8E gn_IvZqfZ4qbAxRp30Zli8drhf74rN6pWDbFy8QatF8rLbCRjfd4NhgKXnfPD_LZiYtG7lSRphG7 E4poKTUFBDLFf4IgSiSu04XHiKTvEJmGmSn8lG1jobLuK2UmOYzNGlorLywENwpTh_TypRywgql4 O2aX1ZLC1b1rNy2_aATFAvuE5PJDfXC2.141tYtBgaoCf6LJ7dkL9EwBm__BHV6O3xdhf1zDKkjC jcUJeYEVU60JL2GyUXXxHQO36EZaloeojDZ9Xr4KGnwtL.Pj7ttS.e4z936T.ACwlhgR.FBcOs34 VQjm.LuS73zh5UsgdgrvRVT883tF55I02jYITcZ32PEGHRtQqTetfMLN_dJY2M56DO4ZqtyxEnA. bOG5WOraBVdpyuRYXFdtZwjgRtgkdzt.j9SkNdHci1uLWgc7uIbQx7r.95XeeXF1KCIIuu7AXRZm _8QQClzLvQiTCzzldoTXk2luTzRInqbG8jwXSAfPDSQVvwvT8HtYgIWqN7peLbc8ZVFQ5nj1GwHi .hxl4wmuf1g3M6PkdmWqpG.UtOGD03VPkdb5xh1WW_UtPndBu_Bv.hlYKq78n8Rwjpvpxt8X5_Yq k2OyLiRpCjs4QblRSaDxQGzUhRMrhPUEKFssPi4bU_mZzYC06uvH.OFA6nLrUtNnrTO_9oSrex7p 11.9T.nkd69xjJzMopDm1nOYsTByyZcFbA.YxAz3S8C_F2SqleV8ALwN3DEOW0StKchYbwKVhzoJ eUINP6Kk4II4ddgQOQ81_8blZ2hE_sNW04BPPf28m8LNuX5gMOE.PKzSFLXMXvEbr2xz3jrUy33n maOfDbEf0o4AA3lL4JCiosqEnwfLCnIqfczaZoExIPl5OByKYWFPtTkq3_QOR0zsq38kRtKHXbnA P2EWiBZ7s.cDShAjFUaSYPn4NRGyGf2E2L7SjZv99nlOuPBv_1gkxK7tfgSrbhTBFbBH0WNW_OaZ B3yjZO7sdRZ.avyrBUnSPIGyVqG1mrneHZxUKy_N4Qb.dvDrmSXQTeUCmhNuruzoo8SPMl.6AKZD zS.B9HZYFteUA0IyKAhegFI73YiRQw_5OJdDtErmPGmGbCx7O_T25sLLnP9jMCYLZ46kjlMxQwyB DA9CFZF21ru.vQ3c9RTUXsxPiMYp1MXVO8k8YR.druH.qdBMrk5uzMP9kTkV9Y1SG76S2hcOe5.Y STs3dBP2duJmrDxKXXiDp61efcEOLz_0zh6II.eVdBOp0rgM._58uNzyqeyF6TmtvX.hJq9qkcqe eTDRK21aLUxPjHzG1Y8knnpY3hmeDevfuGd7tOz.v5mdC9jYS1NozkEe3V0cYHF_AWiiJ6bvIhNY Wke3DLeROOOA5A2jkirKwR.QuWkGz9GopgyLfFx67SC_tEI9DIYhv7ZBaoi3uic9fX.ldoC6LzTn uDb5MHrwyDLHVWBi0il9j1iB7osyS2ywfJ7k9061GXatUjQsNm6MFkiheyzK1R6_.gNyWz.14ZUQ 0L4pUJ0EnTNeFKvAelzxU2YIRQdsbX69_9xP.fYf1aRTTUHuecKhEPCUpMEZzYo5GtGk7LQvYfcl 8WPHZB3gNMX7hNGdDtIcp66W7X4JzDJTNV5mvYuN0I0861bAKX9kXJcu15QWqVEYSNbhB0xqy.S3 bNUvsCL1JkcKCBb44Qa9osARWGPC7qDDS6RO5d4EvKsyzjEs0VRw34_MXhq4RmSdxhMimz4VUBFO j9bBR45cv0SawdhUm7q63Q6z4AoN2owMP5OgAfaOYZV5TlNBrCRE0WG1psS0yb.qTC8Ea1XPN7ro UdgrPKMdbxLYTW7ARnesDpylJwbL0fkiG6.U5Gacv1hHirpoKIsPrvI63z5aJbfI782awTn.U4TT j3z3tZkmsI2Uc2JrnPy.rf0g9J0NTedRZ0gQHHBZaY5tNhOZZL91DBeauP3laMuFVw.4tlnflRkT STW_LX74ymMQj3Iw.2MrIBZ4EXVC5xzJR6rEEncckHTWK0Wt9p9SrvdloZWpv38lX.X3GTOamsKo MXFs8x8rfQlRX8qM9qZ2ZxCx56f4ITsNsimqeO_m64RwJRYxqTUNeeMSi4FXfKx0ZV.c00b8PHlh MEuhftoor5axeDE7GwOPQuEjLj_RxiIPPq1xSQnOoISjAfs03nKr3f4TnIpyByg6INnPomEFEI.L iTxs2ROiQGh.7jMtEkuyp96aNsPB.72MFt3iXaFb.1HnHRTPTgD.IiwdzRSbAJJAQJIuEfQC3Puf c0Tt4XutRZGqs7WFJe.l5yqi_lSQIG51xjQ7BL0tHie1t8.aecDduGte_kBp.dxOdg9srm5h_9Ja 5iXj7lUthA_7uHw_6KXHLcA7OFnZVBfGhqSHaSvU5OXpOlb4- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic304.consmr.mail.ir2.yahoo.com with HTTP; Sat, 6 Mar 2021 17:41:38 +0000 Received: by smtp405.mail.ir2.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID a5c7f4eda18399a55bb44d180f23ad87; Sat, 06 Mar 2021 17:41:34 +0000 (UTC) From: Hannes Domani To: gdb-patches@sourceware.org Subject: [PATCH 14/22] Add set_tui_auto_display python function Date: Sat, 6 Mar 2021 18:40:54 +0100 Message-Id: <20210306174102.21597-5-ssbssa@yahoo.de> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210306174102.21597-1-ssbssa@yahoo.de> References: <20210306174102.21597-1-ssbssa@yahoo.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Antivirus: Avast (VPS 210306-0, 03/06/2021), Outbound message X-Antivirus-Status: Clean X-Spam-Status: No, score=-9.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_INVALID, DKIM_SIGNED, FREEMAIL_FROM, GIT_PATCH_0, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 06 Mar 2021 17:41:40 -0000 --- gdb/printcmd.c | 10 ++++++++++ gdb/python/python.c | 26 ++++++++++++++++++++++++++ gdb/tui/tui-interp.c | 4 +++- 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/gdb/printcmd.c b/gdb/printcmd.c index 58e39c7365f..92ca53cb1c6 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -1823,6 +1823,11 @@ display_and_x_command_completer (struct cmd_list_element *ignore, +#ifdef TUI +extern bool tui_active; +extern bool tui_auto_display; +#endif + /* Add an expression to the auto-display chain. Specify the expression. */ @@ -1863,6 +1868,11 @@ display_command (const char *arg, int from_tty) current_program_space, tracker.block ()); all_displays.emplace_back (newobj); +#ifdef TUI + if (tui_active && !tui_auto_display) + from_tty = 0; +#endif + if (from_tty) do_one_display (newobj); diff --git a/gdb/python/python.c b/gdb/python/python.c index e4e00e4627c..d0b4581437a 100644 --- a/gdb/python/python.c +++ b/gdb/python/python.c @@ -961,6 +961,28 @@ gdbpy_invalidate_cached_frames (PyObject *self, PyObject *args) Py_RETURN_NONE; } +#ifdef TUI +extern bool tui_auto_display; + +/* Submit an event to the gdb thread. */ +static PyObject * +gdbpy_set_tui_auto_display (PyObject *self, PyObject *args) +{ + PyObject *auto_display_obj = NULL; + + if (!PyArg_ParseTuple (args, "O!", &PyBool_Type, &auto_display_obj)) + return NULL; + + int auto_display = PyObject_IsTrue (auto_display_obj); + if (auto_display < 0) + return NULL; + + tui_auto_display = auto_display; + + Py_RETURN_NONE; +} +#endif + /* Read a file as Python code. This is the extension_language_script_ops.script_sourcer "method". FILE is the file to load. FILENAME is name of the file FILE. @@ -2131,6 +2153,10 @@ Set the value of the convenience variable $NAME." }, METH_VARARGS | METH_KEYWORDS, "register_window_type (NAME, CONSTRUCSTOR) -> None\n\ Register a TUI window constructor." }, + + { "set_tui_auto_display", gdbpy_set_tui_auto_display, METH_VARARGS, + "set_tui_auto_display (value) -> None\n\ +Set automatic display in TUI." }, #endif /* TUI */ {NULL, NULL, 0, NULL} diff --git a/gdb/tui/tui-interp.c b/gdb/tui/tui-interp.c index f70e1a7b4c2..0e03a494c20 100644 --- a/gdb/tui/tui-interp.c +++ b/gdb/tui/tui-interp.c @@ -38,6 +38,7 @@ /* Set to true when the TUI mode must be activated when we first start gdb. */ static bool tui_start_enabled = false; +bool tui_auto_display = true; class tui_interp final : public cli_interp_base { @@ -95,7 +96,8 @@ tui_on_normal_stop (struct bpstats *bs, int print_frame) thread = inferior_thread (); if (should_print_stop_to_console (interp, thread)) - print_stop_event (tui->interp_ui_out ()); + print_stop_event (tui->interp_ui_out (), + !tui_active || tui_auto_display); } } -- 2.30.1