From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sonic314-19.consmr.mail.ir2.yahoo.com (sonic314-19.consmr.mail.ir2.yahoo.com [77.238.177.145]) by sourceware.org (Postfix) with ESMTPS id 8728E3894418 for ; Sat, 6 Mar 2021 17:41:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 8728E3894418 X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1615052498; bh=mlbOHdBmmhUH+NbopxJSJamiSJD8nhyDAyj3+BcVXCJ=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=lyVeC5BWcaE/9gQo1ztNWc/QuRe1CLAOuGC4vdPyiFKvPueqi7LBVnpVjjZ3irgbjRL01V7ADPsmTutazDnmqJp/Z3FMG3XuSxWjQx/dVrUJ04tYt8D3J/fM99bp5t+gQ9LKdB5GqmWSZIvF0JPph7yj0X3bCf2jXQfN2olpoqVH+hZXKy+VrJ3wO6Cqubt2Ii9XykS/qUbCs6e08DNg8o7QqHIgzNp9uLMAKCdc29+Z5wJarZr/x/cP60a+JOWJ6D3Izi6HUXnwklMu3F+Hod2fq0VUApvdQT9dHtas6DmqhjSx+t/CVdnm0argH+7lZijM/gCStzirdgzu35JeIA== X-YMail-OSG: V5RzLYEVM1nx.bwh_NZ_ESAh_4Q0Bbcy.On.ZVlnChKcfC0qBEoNVE7ouG.r3vx TRMyepQYIkrHxK5KfFz9gMCZsVNmhHsamiGEMta0can6oPVJJizXSWO.4oWEbXL_SSKDMhg5ixY1 RRXFI96WrOXLbl52suss4EQxXEp.zMnurF_xQVwwMSE25WPZY.iwUdbzjXT1RdT_dq_b7mn6nA5s V7VqRN6lZFEWfHCGYEoxqXy5UKGB.fiwKRHHf75wUJGgfSTW4AJ4gGu.sIxhuFQalKxiUjVEH9Fw jXHw.GDS17WadRv.v4lhvN7p5xdWtWqRmY0sgq6DQT9cnwEZ7AfAHW34kLfbAL7kL2Q.u4vMDFD1 tHu5qzyBVJUVyB.fQHe1.N3Q5CqBdu8wV1b.8RR71q46mgGoV6dzt4ycow2UIqYlH07.W41uLt46 KsfmVOUugf38f9QnKvB7y._VUu0ZFBdxD_Ws.SwEzB1LMjpJAvTzP1JUEXkwRQ7OCV7lPsah2.B8 m5OZM.nLO6PsNEEAqkOk9XmAErPG3dxJluuFU8WSXjFJlGJ1A6H6Sgl0n5Au5S0jGFugwOnadBxb 8EZM_NivpzFSQnmarqEoBadJCeVBxjQZBeTEibh2iZDUPervKCvmLPmVsQ3sXq6JpnwHT8E36B6F 8fdqdyNuyfuqcaBm6edNZg0cn8sWN0EpXJ.joDGES3ysRCecJ1Z_xRSoAE1Rqg2epLir6a96jssT 3lJq4.OXpCPjjwkxk0V5Z0Iu38l1VqoDlO0xwEQIQQbMnbUD0WdLzbNJ4HwiV2Kx9kbeqJu2NaQI AQpUgvcMYNL9kQCH_ZQlU.iB8AH8f4ahjhJPIO0B3RwTvX0l0zAKJi6Gxpll4CaQQyeXnHjW4bIL GoN3GTGfh7kgDQkqJ.MMdNERIx56At13xKuxynndZbzZy_Ve.s5R7tyEUSNpc3apx.8oeqn2o4o1 fLMTdozcL8eUXBocNlf5HkJVXur88ZQlmnfuMi0pj3WAXtX_.w8cfd1fhDypIWTRDzdVQh4KGK_r cSQD5lawYixnsTCazJgeIQm97j47O0mXwqKArm6U1ObrqeIYNbOlhjG0uPsBVM8EPYDv5AI7z4f6 xNh_ENSCdZEKnTWHjNRqsjiP2AVdycgP3Y09e8YVevZclGfzgo4fsmXmpzlORdQh9klOoc_HqwOh 5LqnQEGssQXWR198GuY9Tya7QyyGumKiH0FdEz.xUEhvv45OLAAf9hJbaYnWO.17WXq4HYUPWsri StCTRFXh7VjPbr1n1aTBCDiRafhZQj_sW5rhK5ln8Nj5UO1RMgdAFAzaR1_iFWDKZ7nnmI6UsszN nUAg3KW3d3qTckurI2t5OT4.vpLhkcXM0NrtgeS1aEhOyAiqEPxpsw_He81Q0hIwM1eIAkK51nVS EoMygp1TJCuHXgcUIsQl4aHwnqXsg7oZmW4YQgo3V3nwQk3mX1ZPaENOJ8kTzUxIdGwsVeedVVbB xTB0h04s823zCiaxQTtgUUx8iKrAXfSFpgqldPAaScZJ7gSI8VTxJsYdpJ1L_IW05KHEKT8WBPMN ieLG4gc_DaFwaBmQG0hbEhLLMB6PKPVqcsY5n6jmngcV8iyL_1Y01fvbq28IAUD_3.pTuyjC47Ti pXctTe08VJ.LwNGSXoAzmBVdaiBkvSeZTU2opTLlHk64n_rQtNd5h9RUi5YZXTNCbO6cx_9aINpK Z60hqlyAbuZJdJ568r9Kjs97Uy.P2wDY97gug0SvaHKE1cuZO93CSx8l7nCETCjOMvhSrKluFik8 8XZOIyT0_6OfLWkCiAYE0wWAiBtS3nHFidebzmQaW6x.7jDCLSQCZxcgADv5KLbGY650NzOCejS0 FZGh7neSoQakL4btowVqjLWjnIUUF6kqZyp4Mu_jS3VuW_qAWZ3cNMoFXLHO8H4GaXzLmNgcUGUy nWivK0GVst3MhoYaLXrHMtrEM6.cdqFJfI4LZ3ZDdYx3xaesw0bJaIxZ__WbqutAMAeZJqES1xsn EOULIKZMnu_pE.mbJ1K46PCbYmesuaLw3wwdzr9MZnPxPi6kRsrSQNXCT3tBfaDy.ixSpfGDhI2s qUWEE9IF_1Pq8eK71ONYhSEQkLC5k5HZpCrjGugIL4SfgMYKzrggrJhj1_GAtDgzltyBVZg3tqpq mnckIpuNEZx_Ge3dTCGKVIl5w5IjS4OE4vvrtaD16_1jKWXlfdFcSvHN57.4geyuVVn5lRcezbU3 2xlJqHYgXRu5Tp6JaFoJVUBKromHD91OBMJLd1mfjARqow69C3ESF3E33nHqx6HO8afQK4OtogES ICI.zXOVCdCHvsELX9U3mtkGR.l6aLH8vPYsVchYzrXNaDMef9N2iS9w5c98OH9XnSXHirJdVTys ZFtnTQoKQEffGxCEbH.0pngSa_Sa4Z_LQYywUKkFu8Po.ESLE67WOvzh7F6eWS0OLFJaNHKf_0IU g1UX7QypDMze8etZW1x1brYOAIwTu7SciTd29aLctG2tA6XaEoXhai9neISg6UWW_rBskrFqtNST F_5XZ X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic314.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:36 +0000 (UTC) From: Hannes Domani To: gdb-patches@sourceware.org Subject: [PATCH 17/22] Use the raw flag of automatic display to disable pretty printers Date: Sat, 6 Mar 2021 18:40:57 +0100 Message-Id: <20210306174102.21597-8-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=-10.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, 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:41 -0000 --- gdb/python/lib/gdb/command/tui_windows.py | 51 ++++++++++++++--------- 1 file changed, 31 insertions(+), 20 deletions(-) diff --git a/gdb/python/lib/gdb/command/tui_windows.py b/gdb/python/lib/gdb/command/tui_windows.py index bd885e7e168..f6e10500db7 100644 --- a/gdb/python/lib/gdb/command/tui_windows.py +++ b/gdb/python/lib/gdb/command/tui_windows.py @@ -201,21 +201,24 @@ class VariableWindow(TextWindow): value = v.value() sym_not_init = False num = 0 + raw = False fmt = None error = None if hasattr(v, "undeclared"): sym_not_init = v.undeclared() if hasattr(v, "number"): num = v.number() + if hasattr(v, "raw"): + raw = v.raw() if hasattr(v, "format"): fmt = v.format() if hasattr(v, "error"): error = v.error() - self.add_val(name, name, value, 0, num, cur_vals, keep_prev, False, sym_not_init, fmt, True, error) + self.add_val(name, name, value, 0, num, cur_vals, keep_prev, False, sym_not_init, raw, fmt, True, error) self.prev_vals = cur_vals self.redraw() - def add_val(self, n, fn, v, inset, num, cur_vals, keep_prev, def_expand, sym_not_init, fmt, dyn_type, error): + def add_val(self, n, fn, v, inset, num, cur_vals, keep_prev, def_expand, sym_not_init, raw, fmt, dyn_type, error): n2 = fn if inset == 0: if num == 0: @@ -277,11 +280,11 @@ class VariableWindow(TextWindow): try: is_optimized_out = v.is_optimized_out except: - self.add_val(n, fn, None, inset, num, cur_vals, keep_prev, False, sym_not_init, fmt, False, str(sys.exc_info()[1])) + self.add_val(n, fn, None, inset, num, cur_vals, keep_prev, False, sym_not_init, raw, fmt, False, str(sys.exc_info()[1])) return if is_optimized_out and v.type.strip_typedefs().code not in [gdb.TYPE_CODE_STRUCT, gdb.TYPE_CODE_UNION]: - self.add_val(n, fn, None, inset, num, cur_vals, keep_prev, False, sym_not_init, fmt, False, "optimized out") + self.add_val(n, fn, None, inset, num, cur_vals, keep_prev, False, sym_not_init, raw, fmt, False, "optimized out") return v_addr = v.address @@ -296,10 +299,12 @@ class VariableWindow(TextWindow): if cv is not None and cv.address == v_addr.address and cv.type == v_addr.type: cv_str = " = \033[1;36m$" + self.convenience_name + "\033[0m" - try: - pp = gdb.default_visualizer(v) - except: - pp = None + pp = None + if not raw: + try: + pp = gdb.default_visualizer(v) + except: + pp = None if pp: valstr = None try: @@ -379,19 +384,19 @@ class VariableWindow(TextWindow): if key_prev is not None and "\n" in key_prev: key_prev = None if key_prev is None: - self.add_val("key", fnc, vc, inset + 1, 0, cur_vals, keep_prev, False, False, fmt, True, None) + self.add_val("key", fnc, vc, inset + 1, 0, cur_vals, keep_prev, False, False, raw, fmt, True, None) else: if key_prev is not None: - self.add_val("[" + str(key_prev) + "]", fnc, vc, inset + 1, 0, cur_vals, keep_prev, False, False, fmt, True, None) + self.add_val("[" + str(key_prev) + "]", fnc, vc, inset + 1, 0, cur_vals, keep_prev, False, False, raw, fmt, True, None) else: - self.add_val("value", fnc, vc, inset + 1, 0, cur_vals, keep_prev, False, False, fmt, True, None) + self.add_val("value", fnc, vc, inset + 1, 0, cur_vals, keep_prev, False, False, raw, fmt, True, None) else: for c in childs: (nc, vc) = c fnc = ":".join([n2, nc]) - self.add_val(nc, fnc, vc, inset + 1, 0, cur_vals, keep_prev, False, False, fmt, True, None) + self.add_val(nc, fnc, vc, inset + 1, 0, cur_vals, keep_prev, False, False, raw, fmt, True, None) except: - self.add_val(n, fn, None, inset, num, cur_vals, keep_prev, False, sym_not_init, fmt, False, str(sys.exc_info()[1])) + self.add_val(n, fn, None, inset, num, cur_vals, keep_prev, False, sym_not_init, raw, fmt, False, str(sys.exc_info()[1])) return t = v.type.strip_typedefs() @@ -439,7 +444,7 @@ class VariableWindow(TextWindow): self.line_names.append(n2) cur_entry[1] = valstr except: - self.add_val(n, fn, None, inset, num, cur_vals, keep_prev, False, sym_not_init, fmt, False, str(sys.exc_info()[1])) + self.add_val(n, fn, None, inset, num, cur_vals, keep_prev, False, sym_not_init, raw, fmt, False, str(sys.exc_info()[1])) return else: (var_col_s, var_col_e, val_col_s, val_col_e) = val_cmp_color(prev_val, False) @@ -458,7 +463,7 @@ class VariableWindow(TextWindow): for i in range(low, high + 1): nc = "[%d]" % i fnc = ":".join([n2, nc]) - self.add_val(nc, fnc, v[i], inset + 1, 0, cur_vals, keep_prev, False, False, fmt, True, None) + self.add_val(nc, fnc, v[i], inset + 1, 0, cur_vals, keep_prev, False, False, raw, fmt, True, None) return if is_ptr: @@ -468,7 +473,7 @@ class VariableWindow(TextWindow): v = v.dereference() except: v = None - self.add_val(nc, fnc, v, inset + 1, 0, cur_vals, keep_prev, target_type.code != gdb.TYPE_CODE_PTR, False, fmt, True, None) + self.add_val(nc, fnc, v, inset + 1, 0, cur_vals, keep_prev, target_type.code != gdb.TYPE_CODE_PTR, False, raw, fmt, True, None) return fields = None @@ -493,14 +498,15 @@ class VariableWindow(TextWindow): vf = v[f] fnc = ":".join([n2, n, "%d" % num]) num += 1 - self.add_val(n, fnc, vf, inset + 1, 0, cur_vals, keep_prev, False, False, fmt, False, None) + self.add_val(n, fnc, vf, inset + 1, 0, cur_vals, keep_prev, False, False, raw, fmt, False, None) class VarNameValue(object): - def __init__(self, sym, val, undecl, num, fmt, err): + def __init__(self, sym, val, undecl, num, r, fmt, err): self.sym = sym self.val = val self.undecl = undecl self.num = num + self.r = r self.fmt = fmt self.err = err @@ -516,6 +522,9 @@ class VarNameValue(object): def number(self): return self.num + def raw(self): + return self.r + def format(self): return self.fmt @@ -541,7 +550,7 @@ class LocalsWindow(VariableWindow): for symbol in block: if symbol.is_argument or symbol.is_variable: sym_not_init = symbol.is_variable and symbol.line > 0 and cur_line <= symbol.line - yield VarNameValue(symbol.name, symbol.value(frame), sym_not_init, 0, None, None) + yield VarNameValue(symbol.name, symbol.value(frame), sym_not_init, 0, False, None, None) if block.function: break block = block.superblock @@ -573,6 +582,7 @@ class DisplayWindow(VariableWindow): expr = expr[:-len(cant_eval_str)].strip() v = None sym_not_init = False + raw = False fmt = None error = None if m.group("enabled") != "y": @@ -580,6 +590,7 @@ class DisplayWindow(VariableWindow): elif thread_valid and not cant_eval: format_flags = m.group("fmt") if format_flags: + raw = "r" in format_flags for f in format_flags: if f in formats: fmt = f @@ -597,7 +608,7 @@ class DisplayWindow(VariableWindow): except: v = None error = str(sys.exc_info()[1]) - yield VarNameValue(expr, v, sym_not_init, num, fmt, error) + yield VarNameValue(expr, v, sym_not_init, num, raw, fmt, error) template_re = None -- 2.30.1