From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id WfVEO01VX2pJyh8AWB0awg (envelope-from ) for ; Tue, 21 Jul 2026 07:17:33 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=KsZxpqrU; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id EF14E1E09E; Tue, 21 Jul 2026 07:17: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=-6.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED 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 30F481E09B for ; Tue, 21 Jul 2026 07:17:33 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 39D964BA7985 for ; Tue, 21 Jul 2026 11:17:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 39D964BA7985 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=KsZxpqrU Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTP id 231664BA79A6 for ; Tue, 21 Jul 2026 11:09:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 231664BA79A6 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 231664BA79A6 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1784632181; cv=none; b=Bmn9OHNyZBL3LeWob/4jrcqTbjbaBg0EYJoR1kNMX6/fnP0VRUZXWZ0Pl1oD8Y5FduZYIRL15BD3gWOD7+YTe1YozCN2vk3elvQAEmRK5ANO9diq3Qh0zFtfnS0hrtGw8ety5tAzvSUCuSvI4ySk5ewJH8ef8qGQLjBA2C3AqhQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1784632181; c=relaxed/simple; bh=3FjJkAIjp0T1grl1MWXjQ2iV21QuTbWL8eFToqwUq4w=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=XyodZeDa4Edf9xTYzqb4prNfcEXmYhxUeO6VGVZYh7KqFMaQoDgCkQgFiV23czGUpK2gD7zIQkx4lp+s469fpxzUUEncfOavra8j+t6BE6GSHLkkkeabT7tZg5+h7lA3s4b7WLb5xJc0hVUUd8qFNJf0iQaW8MR6oQrF1hmKoF0= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=KsZxpqrU DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 231664BA79A6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1784632180; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9gsM6Vbr/Lkj/k21oR/s+1w36T17C6bUEMiM1Ck0MiY=; b=KsZxpqrUbtdabHnVspKXNpUc8dYx0bXqDGDg5L3Onujvi5JcvgD3iLjeGMIhp+Y2ywr7dw 92O/gbzPh1oDGzC+BcZ8eZ94ls6eO/iXvmPENWF4Y7f81pns1a2rGDnkq/ApLe2VsPSfkm 8UbL1JMXj+hcQ1DnnlqZyW9nyG3mg4A= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-107-wJGsFosXNO2njEVM4jjKIg-1; Tue, 21 Jul 2026 07:09:38 -0400 X-MC-Unique: wJGsFosXNO2njEVM4jjKIg-1 X-Mimecast-MFC-AGG-ID: wJGsFosXNO2njEVM4jjKIg_1784632178 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-495689bfcc8so3144985e9.1 for ; Tue, 21 Jul 2026 04:09:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784632177; x=1785236977; h=content-transfer-encoding:content-type:mime-version:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=9gsM6Vbr/Lkj/k21oR/s+1w36T17C6bUEMiM1Ck0MiY=; b=cAmAQlmW1bTBDZwthxkX1EgYmss7nsV51Ny+6A/IloMtLNLALhTHy4imdMoZqrwYp8 pmPG358bJgvv4xRZc7cm4o6xP1caD7vSQnGZ40mIPMdUT2BxIpqvTz//mu3PSVY1lU6+ AvkFMIkxBsPVzWz+EUye+//U0sQiDg02u6087WcyPYe5XH9z5DgOa9200jq5WmZhIb+b +N52BlMcpdAzEo3TM2p4EVwOiJB4CpBVFNOlyGtOdQgGWqaCYUj0aMTe+Exg8RoIvFxv kgNYA2yZTQe08CjZjJKBJX7E4YKIhqjTBopw3Le+IDcBthknv5/7v69TU+KnbajrXmIN sA3w== X-Forwarded-Encrypted: i=1; AHgh+RrenHUJrFQuhmNlLZy4wHtdnGgVb3Zpiy7HrMIVHn4Juvgh8Dd7T4faHAekTkja5tHCxXpMCO1TtbBUeA==@sourceware.org X-Gm-Message-State: AOJu0YyGNowTeYCGt7amnAWy2chYGdaE660epsv4UNbiEWAOyc6KctsX KX7xiK3v2TONCKNyYVaJQjWg8yky1BNif/yc4H22q/+qaxV9psXIeE/e9bGmMGgvPKUQWEWZxIv mXQd9tmk+Lg4WQOWeWaOi0f7nIQY0M67zHc2jDk+ILCkiihbsQAcX6upOjmZKJrk= X-Gm-Gg: AfdE7ckG1MoYoDjGz/0jM4TOckfT1VawDm+p2x7rckgDWWNDYErQhk7qGyohVwTfuB+ +EUTpaZmFRb9FdAJA9xFvmsV31B97j5my2LenONnfa3nTPch1yh9BYhVtwNVSdJ9b2HTpyd58u3 Uqb35tOcgxLcsGDrwkc8ZBlSM/In+D3180sIsLDeuTVTjRqIs0dkfuIAYRK3wpxaG3u86AVTVGu 46Dv5S0zYryzNLPUjw1QKgUD/VCNDZ2zcFhjuUBX1Yt4ZfWn/dfPTzjezQIVdiAlqna+zwhikBI z9MspFBVIX17S6VLDpECiaKhEbwUck4Dcqiwze/PdO0Sja+6M6OcG+3iNg6HmQ/gf2T1QwA1 X-Received: by 2002:a05:600c:524e:b0:495:40aa:d982 with SMTP id 5b1f17b1804b1-4954a3d08e1mr213024555e9.6.1784632177618; Tue, 21 Jul 2026 04:09:37 -0700 (PDT) X-Received: by 2002:a05:600c:524e:b0:495:40aa:d982 with SMTP id 5b1f17b1804b1-4954a3d08e1mr213024205e9.6.1784632177136; Tue, 21 Jul 2026 04:09:37 -0700 (PDT) Received: from localhost ([31.111.209.233]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f63ed2314sm2170255f8f.23.2026.07.21.04.09.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 04:09:36 -0700 (PDT) From: Andrew Burgess To: jakob.schaeffeler@tum.de, gdb-patches@sourceware.org Cc: Jakob =?utf-8?Q?Sch=C3=A4ffeler?= Subject: Re: [PATCH v2] gdb/tui: Fix unexpected reuse of color pairs In-Reply-To: <20260509212744.2071791-1-jakob.schaeffeler@tum.de> References: <20260507080327.1690909-1-jakob.schaeffeler@tum.de> <20260509212744.2071791-1-jakob.schaeffeler@tum.de> Date: Tue, 21 Jul 2026 12:09:35 +0100 Message-ID: <87ldb4ppjk.fsf@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 23KExjdLbVwKnXYMDYYQX44Ce_tFXydvzXIkwL3S-Mc_1784632178 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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 jakob.schaeffeler@tum.de writes: > From: Jakob Sch=C3=A4ffeler > > TUI translates ANSI styling sequences to curses color pairs. > Currently, this process uses COLOR_PAIR, which only returns values > from 0 to 255 which results in unexpected reuse of color pairs. > This patch avoids calling COLOR_PAIR(pair) to be able to > render more than 256 color pairs. > For this, the wattron call is replaced with wcolor_set. > This also results in last_color_pair no longer being needed since we > set the color directly with wcolor_set and do not need > wattron/off pairs any longer. > This results in SHRT_MAX different color pairs to be available. > To get all 65535 color pairs, init_pair is replaced with > init_extended_pair, which takes an int instead of a short. > Since this is not available with ncurses versions older than 6.1, > a configure check was added. > This patch was tested with make check-gdb TESTS=3D"gdb.tui/*.exp" > Additionally, I tested this with the python extension from the > bug report. Thank you for the revisions. I fixed a trailing white space issue in the code, and reworded the commit message a bit to (I think) make some things clearer. I then pushed this patch. I did look at possibly using the Python code from the bug to create a test case, but that will require extending GDB's terminal emulation to support the extended set of colours, which feels like a big task, so I left that for now. Thanks, Andrew