From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id IkWJCamjSWjMwgkAWB0awg (envelope-from ) for ; Wed, 11 Jun 2025 11:41:29 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=gnu.org header.i=@gnu.org header.a=rsa-sha256 header.s=fencepost-gnu-org header.b=EfSoGoaU; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 17D791E102; Wed, 11 Jun 2025 11:41:29 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-10.1 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,RCVD_IN_VALIDITY_CERTIFIED, RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE autolearn=unavailable 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 9C6131E089 for ; Wed, 11 Jun 2025 11:41:28 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 464DF3857732 for ; Wed, 11 Jun 2025 15:41:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 464DF3857732 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=gnu.org header.i=@gnu.org header.a=rsa-sha256 header.s=fencepost-gnu-org header.b=EfSoGoaU Received: from eggs.gnu.org (eggs.gnu.org [IPv6:2001:470:142:3::10]) by sourceware.org (Postfix) with ESMTPS id 02B783857711 for ; Wed, 11 Jun 2025 15:40:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 02B783857711 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gnu.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gnu.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 02B783857711 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:470:142:3::10 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1749656409; cv=none; b=KUfzn+kajnfnAOuWtHLqLFi0LUhst7Ct+QGdtSva5pDEXmf65gOifOp04ZpdxYneuzXpC6CQ9M0dbqE6Si3qeA5nPamxPPGa2hH6PV1C4xkhXFLzNJ8kLHIrp15pjtXjGZgjyYwbKuMjG49zFDAL76jB1yqavUWqhBIZCZ5/7J4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1749656409; c=relaxed/simple; bh=TuX7KrcSp4VVZr0ekoSeHkJ9d9pTWYwfQpRsud+0i4c=; h=DKIM-Signature:Date:Message-Id:From:To:Subject; b=Y47VfmWs/+0vsh//paHQxh3Q14AwvBBGN3THvTCm4Tk2CvoKafyxqeqhh23xq7QlITp1NL4CLg7Z6he38IfWBgLrIYQXB4cghpe1DzAkOvNl0aJ5dStjPmyTBHDlriPWSuX76S0J5OMurMFZ1mty3igI9d6YxNZFWwL/dfK8slM= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 02B783857711 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uPNYb-0005ii-J2; Wed, 11 Jun 2025 11:40:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=cs3ijdGCokYik4RQNkw7zv8fWYKDb98BkdbFPLr7RtM=; b=EfSoGoaUM3c0 m1mCeBBbI6EbjW3Sw+AQeNcKBHguNrgaw2J5Qs/U+hRqUhd2Uq0+wFmtZFmewFaBw8NxeexTKrQhc MN7sHARmQDoXkvbCywC/laizt3mAYE7t16wk1r+0O8efm1qNd0faptePXkp+qgYnQuH8UFVHEWyhI F+y+ZwPY7QiThoYXQrvVBrGn5wr7CQNJgmxCNUJrAnV9+FZUaHnMV0UckaoGcUHkig3Iqvi6GRp5J uKW0+9IAg6D6TvVvewhWhPLONLb3cojvC2n5isHLR38/+bJ4gOgZxGmyCdVzZ9piSoPDE5yqN5uYS 8T0N9WAQ8Y0D85o0HyjmSg==; Date: Wed, 11 Jun 2025 18:40:03 +0300 Message-Id: <86qzzqgucs.fsf@gnu.org> From: Eli Zaretskii To: Simon Marchi Cc: tromey@adacore.com, gdb-patches@sourceware.org In-Reply-To: (message from Simon Marchi on Wed, 11 Jun 2025 11:18:39 -0400) Subject: Re: [PATCH v2 2/2] Allow check-mark to be changed for CLI References: <20250611-emoji-check-mark-v2-0-d299ec101650@adacore.com> <20250611-emoji-check-mark-v2-2-d299ec101650@adacore.com> <5ddb04dd-7e7e-4aa8-8db8-2d3baac169d8@simark.ca> <86sek6gw49.fsf@gnu.org> 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 > X-Spam-Status: No, score=-3.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, > DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU autolearn=unavailable > autolearn_force=no version=4.0.1 > Date: Wed, 11 Jun 2025 11:18:39 -0400 > Cc: tromey@adacore.com, gdb-patches@sourceware.org > From: Simon Marchi > > On 6/11/25 11:01 AM, Eli Zaretskii wrote: > >> Date: Wed, 11 Jun 2025 10:33:56 -0400 > >> Cc: Eli Zaretskii > >> From: Simon Marchi > >> > >> I have not read all the discussions about the choice of the character, > >> but I just wanted to report that out of the box, this doesn't look very > >> good for me (the width of a checkmark isn't equal to the width of a > >> character). See attached `checkmark.png`. > > > > That's because this emoji (as many others) is a wide character and > > takes 2 columns on display, and GDB evidently doesn't take that into > > account in this table-like display. > > Yeah, even the non-emoji versions do take up 2 columns, I'm not sure why > those don't result in the rest of the line being shifter. I'm also > surprised that others didn't see this... > > GDB uses strlen here to compute the number of spaces to print, in order > to align stuff correctly: > > https://gitlab.com/gnutools/binutils-gdb/-/blob/master/gdb/cli-out.c#L147-168 > > So it necessarily won't play well with multi-byte characters. We should use wcwidth, I think. > >> Are we allowed to nitpick / bikeshed on the choice of character? My > >> preference would be for something a bit more subtle, like an arrow that > >> points to the selected thing. See `arrow.png`, which uses U+27A4. I > >> find it stylish, and at least on my setup, the width is correct. > > > > An arrow is not a check-mark, though. > > Why does it have to be a checkmark? It doesn't have to be, but its name is check-mark. We can change the name, of course.