From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id CUhTKnEOsGnHlyEAWB0awg (envelope-from ) for ; Tue, 10 Mar 2026 08:28:33 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=X4l+VxLR; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=X4l+VxLR; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id A4CB71E0DD; Tue, 10 Mar 2026 08:28:33 -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 vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (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 C693F1E08D for ; Tue, 10 Mar 2026 08:28:32 -0400 (EDT) Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 438F64BA23CA for ; Tue, 10 Mar 2026 12:28:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 438F64BA23CA Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=X4l+VxLR; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=X4l+VxLR Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013010.outbound.protection.outlook.com [52.101.72.10]) by sourceware.org (Postfix) with ESMTPS id B811B4BA23C6 for ; Tue, 10 Mar 2026 12:28:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B811B4BA23C6 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B811B4BA23C6 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=52.101.72.10 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1773145683; cv=pass; b=fB/OB3XoOidcwLyZCMdKMo94bCAVm/IAphJGa9qDgkRsWSWlj0zktQUqjwcpHRr8/yLwe6hQN0m/N4SxhvBrA4fWEqhWAq5L1v0qgtF7q2LylvWcPJg2Rerj+tKf7IwU9owKEDTB7aDh+c+N4x5aBQ86MiPhprUvlcGFzo3XZro= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1773145683; c=relaxed/simple; bh=Nf0XD/WJJ9kW2hctPFktfzRqEYm3PQ6Jrd2jHEL/omw=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=JQnGcEI7S90Sy20fvV34C/1Ud8lMBGQDzFInUN3Udr3I9qb2uUO/K4ElO4abINvbXA+MpPTM83KCaZJtqHes8PWAH5vnFXF4OSyq7PC/aDFTexTwLWBxl4Fc79iL6DMxNWQOyS8RXcoksTOti/cshZMOzuAj/lfcvSxp/N36XgQ= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B811B4BA23C6 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=J29JvvUxkMS6lVjhFg2c9xMKukHF4V/R2oCl2D4vhPcQBLJfmQ/6wMXCf95unENeJB8bR6CPQ0GP/DySUhAP9dbPm7BstXDQzTtn/wtHsQMvqRT5ofeZUVgj83gs3PP/nyXIiaf2z4jo/Ljk+Ip9JnKDcv0qKCm0y5uBsZM3xm5okOFgLrIEhG7JSQ5rcq12FVZxwO5ZeqAr6jIDpOfIZeqKICgSJxiq/uFRzo3snniH8qC7nVtKn/3mCV2QpWScy9WHDWeShycRVLEc1ZOxMJfWhpooBMRBcLkp3fGdzp1TqMPywJAXToakCxx49+gxkE2E5NyV2i2wt1DfHDcwQA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=oKkM9FXHiGkGpao4W0dcP8ZXa17oYk9xFpvOCs6Z9aE=; b=rTyCQoXNyWNeM7g5CAcn0fpeJICS1GKrOGI8+5XIAqNOkoMumztGMaRlDpjwHBdV1DjAzphoYlctmJubBL8aGf4Wl0Ju4naq0UhCyhMoCclEh8CCbl6GqtLlJJh9RX3EinHhN1VQwpT+0y3vBMm/cAdZMyQTdzQl+Sko5QbfpwJaXu3mFWlJhiicylO5JAAg7qNZFR2jndk+/Gr/bZ6XexZ+3xrhddhVJyoZHkcIlvObET8mkqgrhBFLbsQB52mmkIWHbbWD50HAIlkYG+yZ9Apzjf2aDwWTaLkCtw5sKgVcvy6girGVr2XGUcXnBariTXeCDAc8Ln6kggxUqS84Pg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=tromey.com smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oKkM9FXHiGkGpao4W0dcP8ZXa17oYk9xFpvOCs6Z9aE=; b=X4l+VxLRAih9kApdBb3UppfQF7JXE73uuFCpBrqIVKYfjxqlETqp/N6Z+hdn2BmHDgWv6AUeC75N800UfAQHozwP9RZxlbPy1hr7Wx9t0yI7SPbNnPIfVYizW0CKplrE+UcDFxynSolyNxyCRQUVIZBGWX+vQST+CHUw4BDptN4= Received: from DUZPR01CA0072.eurprd01.prod.exchangelabs.com (2603:10a6:10:3c2::10) by DU5PR08MB10415.eurprd08.prod.outlook.com (2603:10a6:10:519::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.25; Tue, 10 Mar 2026 12:27:54 +0000 Received: from DU2PEPF00028D02.eurprd03.prod.outlook.com (2603:10a6:10:3c2:cafe::70) by DUZPR01CA0072.outlook.office365.com (2603:10a6:10:3c2::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9678.25 via Frontend Transport; Tue, 10 Mar 2026 12:27:47 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 4.158.2.129 as permitted sender) receiver=protection.outlook.com; client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by DU2PEPF00028D02.mail.protection.outlook.com (10.167.242.186) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9654.16 via Frontend Transport; Tue, 10 Mar 2026 12:27:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dUG/fKUzrwi+5p0FFF2IjgqWe5EU1b4dCRPN/Cl7odSZeUjq+RgL6Jeu29Qq5zwHzDE8kqMK+828l1B3ElJlZnlIjw2SFBc6NjO4uJOFWkDZi+LMgpbQk/ZZ29In6OmR0DyR5RXBncn35zCfaMJUA34Me+7O9LuBWYdNIQP+ZCJVOHYxJaG7BRPnigNqdW5kwCLoMHyCncR6FIIkriRzVupLvHLG9oX/bEfG602aky6EUDHWZOIZjvO44IsIs38Ja5aGFyC+mn4O/b11c+rAqbGw7KbUcsFLeuPDxFHEG9L9mOcqgtNsCoHs3rNHNVPGeb20kYLccGOBPCRDIVJ0qQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=oKkM9FXHiGkGpao4W0dcP8ZXa17oYk9xFpvOCs6Z9aE=; b=IWaxgqIyLaQxXjhKzDfRSqCNiF+//a6GPWWDDKV+kU8G7kQfOv2pui7E0mZK/bU60HZSr/7gXIIJ1t2ZdKsSntsClCjlVcxtYQO2zY3p1fygZ+s2OjzkwFVLzSp+GgArrvadi+aig9TXwauBIEXPqJmWTm+OLDBpxb+rJ05vFVrXhuSncZN8obh9Zjypb4D+0vJexOcsQf8fM8e1RAx5d+JUxXHFdEDdlIk+w/UcPYwrSc+rxDr/Vf/ImJx+QyZksJFoQgoftBJnNswdMGwK8Xo23vLXrtbLFlLHtvqa/iqcJ5pUsrl6I7CWhsErJQPI/bhZZo9v+yivllWlYY3t0Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oKkM9FXHiGkGpao4W0dcP8ZXa17oYk9xFpvOCs6Z9aE=; b=X4l+VxLRAih9kApdBb3UppfQF7JXE73uuFCpBrqIVKYfjxqlETqp/N6Z+hdn2BmHDgWv6AUeC75N800UfAQHozwP9RZxlbPy1hr7Wx9t0yI7SPbNnPIfVYizW0CKplrE+UcDFxynSolyNxyCRQUVIZBGWX+vQST+CHUw4BDptN4= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from DU0PR08MB8663.eurprd08.prod.outlook.com (2603:10a6:10:401::6) by AM9PR08MB6660.eurprd08.prod.outlook.com (2603:10a6:20b:305::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.25; Tue, 10 Mar 2026 12:26:50 +0000 Received: from DU0PR08MB8663.eurprd08.prod.outlook.com ([fe80::f957:cec9:ec8d:7968]) by DU0PR08MB8663.eurprd08.prod.outlook.com ([fe80::f957:cec9:ec8d:7968%6]) with mapi id 15.20.9678.023; Tue, 10 Mar 2026 12:26:50 +0000 Message-ID: <52c95325-8b4f-4bf7-9d14-e29c989d3fe3@arm.com> Date: Tue, 10 Mar 2026 12:26:49 +0000 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 6/7] gdb/python: add gdbpy_dict_wrapper:allocate_dict helper To: Tom Tromey Cc: gdb-patches@sourceware.org References: <20260309175624.236491-1-matthieu.longo@arm.com> <20260309175624.236491-7-matthieu.longo@arm.com> <87y0k0vk7t.fsf@tromey.com> Content-Language: en-US From: Matthieu Longo In-Reply-To: <87y0k0vk7t.fsf@tromey.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: PA7P264CA0064.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:2de::9) To DU0PR08MB8663.eurprd08.prod.outlook.com (2603:10a6:10:401::6) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DU0PR08MB8663:EE_|AM9PR08MB6660:EE_|DU2PEPF00028D02:EE_|DU5PR08MB10415:EE_ X-MS-Office365-Filtering-Correlation-Id: 53c8e294-03d5-45b3-8d88-08de7ea073f9 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|366016|376014|1800799024|22082099002|7053199007; X-Microsoft-Antispam-Message-Info-Original: igF6TEo0ZfWb/w4xKgiStA7YGuSyPtW6SuN0wwq/vVZz6gAapfLiajERhlBCwjYi/P8ye4mkpoWmn/UAVvW3/9dLgUXtco4/WcG45do4IXNx8EEqpUCjouE4n7echWjOmiwcmMlt6mnu3kOISBeTDz9bPTEV/JbS0OaKZRhIb8k6RaCavVFKAPTIXwDzHuyWDHoGQCtWRGtiBJlNpBPn/hVOqcwL6MSsvE8GU4NC/PZJ3UDVyfk8OmpAeugEZ5gIDrXOuJk6p2aKSSbHsDJFMXCxRgCU/wDnq2g1EQPbxOkrcjuj5MVx7faCoSJHqbOVGEQ35avBmVhcNPtz/deOeNJ7FS4ulY7JYmZtlE69S0A8rk1Qba6QU31XEIrNa18XQysehxWsvadFt+Yz8HIca9N5d9EXnRIoU2Pgiix0xQWBABQtNJ3PzhA0EJDz2J3+4asHVXjXB1T1g/Y3DV++bdshzLa57F/a9k7zU5UdRIHO0oGrbE0Yn/WWO5CfLMQOxVlSJ5lIEWuPZ/+TO92YGfoms6S4+49AnEVc2yO3GYpH65CwdJh87cEek+8cpf1OQ3gXczte0c3QaJOkt2mB9EYNogAY1mBwVCpXP+lmLem6qh7HTt4uWY5LiqwuwUyVEFAaFi8oglp1LTk01MlKAT6fVQMKfB/woeMo0UQRbzg67NNnGDIy3CJeT4FKwbTF0UyIgcxA+/bRN9JgJGkzBntB4uABW26ZtvfbctD4xzs= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU0PR08MB8663.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024)(22082099002)(7053199007); DIR:OUT; SFP:1101; X-Exchange-RoutingPolicyChecked: KH0NeS+YsOdS5GvLmHLsHCxTsOipUd+QT5NpHjiR+Zam1ZK2MM3LrzF6hny+OoH8EGWPs17uKJIKdpaJyik4TSyl9TIg38HLetf6vTi0j/FvAptb2/cuhnY5aWQe20YEJZm+e6KGdGURynXWykRHLMkKT7SQfrRpwW2Q4y4cBht2+JH3waKjRh6J5Mo5fXEBAlc/pTEKV1D3Zb8eK6AW2589+AZfbsHHyyMZKScfNoUogo2p1IuTYhRBN4/kT+kuL537AQ5JUoLPBXOWX18qcws5QSYtCYHrVWHuvbmaAw9bYgNjf7ufQy1mUI025Acx0YFcvXLNcKwI1MNGDlITvA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6660 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU2PEPF00028D02.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 95020e3e-760f-4a5d-32eb-08de7ea04e49 X-Microsoft-Antispam: BCL:0; ARA:13230040|14060799003|82310400026|35042699022|36860700016|1800799024|376014|7053199007|22082099002; X-Microsoft-Antispam-Message-Info: 0Y4KRzrXczrrlC/ONNdRUfGzoqP+qBMz4n++xU5rGMN6Vxf59RdneWy2H58Jo3i7jCxkcwQ7lYJMy/+KXyXxn6cuPXUIpnpAYkZeiwzaKx8wnQGrfSrxXt+/SeZcDs+XB6+rL3iEJUys76ke+w2cw4QVIG/RSzWRA6q/Lx/qOHl3TcTDLwNVd9wZ+h7F3ea/kmuqLJ8tH9QgJsPPqYnOZYNhSDY0a848YuD3HhPz3LMjvUcuvc1Sd1EtFTYcxcSvFascenLYFNtX3X/RT5utg5QPJrk9A7EJZ41to3ezDIR7FM6rluydGOhxznnHEfVlMVP4gS3sxZRne6O7W8+Ois0UFZ2K+EJwVJyxm41g91PNbI39imrNRgZIFuMKix/Krq9CJzKZIAhzK31gERgs3wJgm9gWAQaw6R8wp/27amSAH217EjnlGZE+DJEi+6EzWDJB6uA0n562gTBmY/0qUTV5CliC8mUbGzaxHUP/0/ykIQeBx3w1ZslwIu6CYRGabeRVRVgHSJMYpHEgrx0e2MoPn6yUB2Uvd9ZCRO1W2FFKmFq0yqR6ukdK+qZ+SS8Pg1Q+90jvA/iJOj4gwF6OFAcsIDO+5fdrQxhkNNBTGoe43rROnXU7XXydbOgbowEzxMNbgLikH6DSW0mYT46163TcEcl40toDImqf4ERuxkUQN5cpCd007aoW28VfTmReU98UOqeULzJRaan+Evi7zSq7BbaDG8MNYfkNqzn8iXyQ1QiPGiJw/ONMYCLSe/ZiryeXrdKkHx01rYG/HFKdOA== X-Forefront-Antispam-Report: CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(14060799003)(82310400026)(35042699022)(36860700016)(1800799024)(376014)(7053199007)(22082099002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BH5qacQ14GyEpFbpukPeZaAbfozONLqUQs2YqekAf18bHzhVa9DlZ+69Jjj3qeFf808vL8MQN9PUTqSIK4BzC9mLrozpLSWUnyu36AYcM8v0kd+ClsoWlzA5AAtdDExam4adezO5As91s/DYzxnwZKh13A2PDwEh5HwA2vw2qr4PFc7iQDWPFXqWIlE3EfzpzskpCCWSR2fI8+UuxjmGAX47uLfu/0KYM4Zs8n+RTzUQvfwfesM0zh32lWvuyXJt/tIH6Wybh1YTXHhOxdWnVwJrYs2n5GtPwKdztSGHo6H1ELOFiPqTbl/cry6jicXjPOp3vUbSphE8GNkYK+cYSRAzzm55QpvBwLiiBR7MXzVpmzKzziS896uz0EnewZeHlWnzVUVOUX6n6sNzxhVc5PsuW0aozgaTXE+VylayP7VhD8f8OzghVgGMjGIz+8P6 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2026 12:27:53.8326 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 53c8e294-03d5-45b3-8d88-08de7ea073f9 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129]; Helo=[outbound-uk1.az.dlp.m.darktrace.com] X-MS-Exchange-CrossTenant-AuthSource: DU2PEPF00028D02.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10415 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 On 09/03/2026 20:09, Tom Tromey wrote: >>>>>> Matthieu Longo writes: > >> Python extension objects that support __dict__ must inherit from >> gdbpy_dict_wrapper, a wrapper class that stores the PyObject >> corresponding to the __dict__ attribute. > >> Currently, management of this dictionary is not centralized, and >> each Python extension object implements its own logic to create, >> access, and destroy it. > >> This patch focuses on the allocation of the dictionary, introduces >> a new method, gdbpy_dict_wrapper::allocate_dict(), and >> adapts the existing code to use this method. > > A nit. > >> + >> + bool >> + allocate_dict () >> + { > > This should have an intro comment. > And, the type and name should appear on the same line, that's the style > for methods. > > Ok with that change. > Approved-By: Tom Tromey > > Tom Fixed. Matthieu