From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id ER25GXvL7mjXtzIAWB0awg (envelope-from ) for ; Tue, 14 Oct 2025 18:15:23 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=jeremybryant.net header.i=@jeremybryant.net header.a=rsa-sha256 header.s=key1 header.b=Bdrtu9FG; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 64A651E0BA; Tue, 14 Oct 2025 18:15:23 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham autolearn_force=no version=4.0.1 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id CDE8C1E047 for ; Tue, 14 Oct 2025 18:15:22 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6DF4B3858431 for ; Tue, 14 Oct 2025 22:15:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6DF4B3858431 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=jeremybryant.net header.i=@jeremybryant.net header.a=rsa-sha256 header.s=key1 header.b=Bdrtu9FG Received: from out-174.mta1.migadu.com (out-174.mta1.migadu.com [95.215.58.174]) by sourceware.org (Postfix) with ESMTPS id A0DD83858D35 for ; Tue, 14 Oct 2025 22:14:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A0DD83858D35 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=jeremybryant.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=jeremybryant.net ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A0DD83858D35 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=95.215.58.174 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1760480085; cv=none; b=t2XJb09YBXjYyQ2bufPE9sOdOhrrfyFmL8G4FRGRxe1RzybTbb+yfbxBAbznCK+DG69WrVzTd0ukvZImq+Lqc0oXDdSwnGVX7sdeSrdjdj4j+MdvPrboNy753y2ZhfeTA//eXLSpxzM9fqJWoSK7qES6d+RPjRKTD3tVw/XpV6M= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1760480085; c=relaxed/simple; bh=APjTPiIeuTwf9sNhitEY9+NU9Ngh/T1vGyneSA+lqME=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=Hx/OSJQneEuIQVuNpViN/f/D75M/e7RXrH9BFNET1pmygII7AmV3ULRiaOyPcOm+Beo6WcSiBdCe6/8eGd9DGketNCc1FuWxSfaVNwCsXKJDqUgoUavvXIk3dEri3pS1RaIoK/DCIj4jMV/Faq1gWXtse1ZrMuwt8E6spdg95UI= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A0DD83858D35 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jeremybryant.net; s=key1; t=1760480084; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type; bh=1V3loKTC9XIbspol9gTAjbAHqmp1sHZtJDKefCWyQ10=; b=Bdrtu9FGOEsyzdlOV/aa2N94BvbmizB50DGHEO0uLZWYEXkXGgMNd6pMgoyVg2uvxC30Jq F5/aPDL6CdWvWMWWDdn8mXGFFbgPe4FSqOPdQxx0+f4QIKYzDg8f1vaSxc85J1cMU+Uy8v eFY0K2MJWI+9Kqc98BfAW6/+iNu7Db71s59c5AjRABzH2JIzVVoeZqwM6Y32vPYkWQnEf9 xWcrs8kmAednjaApyXgAhwgBx8/RNHZfpcsV16mYvlOu6x9VAHZeLcnnFkmBgoOwA6z/Hp kSmuiaK2RUtWY9NOscJ8zigi/E38EWwWrdXVYsA53Q/+ydqIjbbxlsHHu559YQ== From: Jeremy Bryant To: GDB Patches Cc: Simon Marchi , Simon Marchi , Eli Zaretskii Subject: [PATCH] - Adapt to Python-3 print syntax Date: Tue, 14 Oct 2025 23:14:27 +0100 Message-ID: <87frbl8724.fsf@jeremybryant.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Migadu-Flow: FLOW_OUT X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org --=-=-= Content-Type: text/plain This change adapts doc examples to Python 3 so they work on current installations. python.texi uses a mixture of Python 3 and Python 2 print syntax, the latter having been sunsetted several years ago. Adding Eli as "Responsible Maintainer" for documentation. Also adding Simon Marchi who from recent commits may have an interest in this part of GDB and may have comments or suggestions. Perhaps this patch falls under "The Obvious Fix Rule". The patch is provided inline for critique and also as attachment. If I have missed any conventions please state so. --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-doc-python.texi-Adapt-to-Python-3-print-syntax.patch >From b9c89565ee4bf3dafe383dda3d2ff752ffa7b01f Mon Sep 17 00:00:00 2001 From: Jeremy Bryant Date: Tue, 14 Oct 2025 22:55:39 +0100 Subject: [PATCH] * doc/python.texi : Adapt to Python 3 print syntax This change adapts the print syntax to Python 3. The documentation examples will then work on current installations. Python 2 was sunsetted in January 2020. --- gdb/doc/python.texi | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi index ed113173667..4238b04d155 100644 --- a/gdb/doc/python.texi +++ b/gdb/doc/python.texi @@ -76,7 +76,7 @@ If given an argument, the @code{python} command will evaluate the argument as a Python command. For example: @smallexample -(@value{GDBP}) python print 23 +(@value{GDBP}) python print(23) 23 @end smallexample @@ -88,7 +88,7 @@ containing @code{end}. For example: @smallexample (@value{GDBP}) python ->print 23 +>print(23) >end 23 @end smallexample @@ -756,7 +756,7 @@ depends on @code{set python print-stack} (@pxref{Python Commands}). Example: @smallexample -(@value{GDBP}) python print foo +(@value{GDBP}) python print(foo) Traceback (most recent call last): File "", line 1, in NameError: name 'foo' is not defined @@ -4652,7 +4652,7 @@ Arguments are separated by spaces and may be quoted. Example: @smallexample -print gdb.string_to_argv ("1 2\ \\\"3 '4 \"5' \"6 '7\"") +print (gdb.string_to_argv ("1 2\ \\\"3 '4 \"5' \"6 '7\"")) ['1', '2 "3', '4 "5', "6 '7"] @end smallexample @@ -5981,7 +5981,7 @@ Two @code{gdb.Frame} objects can be compared for equality with the @code{==} operator, like: @smallexample -(@value{GDBP}) python print gdb.newest_frame() == gdb.selected_frame () +(@value{GDBP}) python print (gdb.newest_frame() == gdb.selected_frame ()) True @end smallexample @@ -9129,7 +9129,7 @@ Then in gdb: (gdb) start (gdb) python import gdb.types (gdb) python foo_ref = gdb.parse_and_eval("foo_ref") -(gdb) python print gdb.types.get_basic_type(foo_ref.type) +(gdb) python print (gdb.types.get_basic_type(foo_ref.type)) int @end smallexample @@ -9162,9 +9162,9 @@ Then in @value{GDBN}: @smallexample (@value{GDBP}) python import gdb.types (@value{GDBP}) python struct_a = gdb.lookup_type("struct A") -(@value{GDBP}) python print struct_a.keys () +(@value{GDBP}) python print (struct_a.keys ()) @{['a', '']@} -(@value{GDBP}) python print [k for k,v in gdb.types.deep_items(struct_a)] +(@value{GDBP}) python print ([k for k,v in gdb.types.deep_items(struct_a)]) @{['a', 'b0', 'b1']@} @end smallexample -- 2.47.2 --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-doc-python.texi-Adapt-to-Python-3-print-syntax.patch Content-Description: Adapt to Python 3 print syntax >From b9c89565ee4bf3dafe383dda3d2ff752ffa7b01f Mon Sep 17 00:00:00 2001 From: Jeremy Bryant Date: Tue, 14 Oct 2025 22:55:39 +0100 Subject: [PATCH] * doc/python.texi : Adapt to Python 3 print syntax This change adapts the print syntax to Python 3. The documentation examples will then work on current installations. Python 2 was sunsetted in January 2020. --- gdb/doc/python.texi | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi index ed113173667..4238b04d155 100644 --- a/gdb/doc/python.texi +++ b/gdb/doc/python.texi @@ -76,7 +76,7 @@ If given an argument, the @code{python} command will evaluate the argument as a Python command. For example: @smallexample -(@value{GDBP}) python print 23 +(@value{GDBP}) python print(23) 23 @end smallexample @@ -88,7 +88,7 @@ containing @code{end}. For example: @smallexample (@value{GDBP}) python ->print 23 +>print(23) >end 23 @end smallexample @@ -756,7 +756,7 @@ depends on @code{set python print-stack} (@pxref{Python Commands}). Example: @smallexample -(@value{GDBP}) python print foo +(@value{GDBP}) python print(foo) Traceback (most recent call last): File "", line 1, in NameError: name 'foo' is not defined @@ -4652,7 +4652,7 @@ Arguments are separated by spaces and may be quoted. Example: @smallexample -print gdb.string_to_argv ("1 2\ \\\"3 '4 \"5' \"6 '7\"") +print (gdb.string_to_argv ("1 2\ \\\"3 '4 \"5' \"6 '7\"")) ['1', '2 "3', '4 "5', "6 '7"] @end smallexample @@ -5981,7 +5981,7 @@ Two @code{gdb.Frame} objects can be compared for equality with the @code{==} operator, like: @smallexample -(@value{GDBP}) python print gdb.newest_frame() == gdb.selected_frame () +(@value{GDBP}) python print (gdb.newest_frame() == gdb.selected_frame ()) True @end smallexample @@ -9129,7 +9129,7 @@ Then in gdb: (gdb) start (gdb) python import gdb.types (gdb) python foo_ref = gdb.parse_and_eval("foo_ref") -(gdb) python print gdb.types.get_basic_type(foo_ref.type) +(gdb) python print (gdb.types.get_basic_type(foo_ref.type)) int @end smallexample @@ -9162,9 +9162,9 @@ Then in @value{GDBN}: @smallexample (@value{GDBP}) python import gdb.types (@value{GDBP}) python struct_a = gdb.lookup_type("struct A") -(@value{GDBP}) python print struct_a.keys () +(@value{GDBP}) python print (struct_a.keys ()) @{['a', '']@} -(@value{GDBP}) python print [k for k,v in gdb.types.deep_items(struct_a)] +(@value{GDBP}) python print ([k for k,v in gdb.types.deep_items(struct_a)]) @{['a', 'b0', 'b1']@} @end smallexample -- 2.47.2 --=-=-=--