From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by sourceware.org (Postfix) with ESMTPS id 185513858C54 for ; Thu, 11 May 2023 17:46:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 185513858C54 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 452E020004; Thu, 11 May 2023 17:46:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1683827161; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=EziYCyOH9dkfgU2UtZSMRvqZgJ9RMy21OUfyGzFc07k=; b=Sxe5oFgCwMmaInQ/z4K9P9Va9U33cDoz/+QBiWQwxtkmWqWLzPIPxVD5CPW3bZ3Wb3DfVp /yC5Ctn918oXwL5R0w6UEuAXpmgINH5CwRxB2q04LfUlG3c+bsLeglATFFnT4IA7KeFvgY devAFTs9BcoYWyNUByiuihZnG8+s0Es= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1683827161; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=EziYCyOH9dkfgU2UtZSMRvqZgJ9RMy21OUfyGzFc07k=; b=C4gc6Yyeu4fb/wBxWUHzNtAJ6tAn3DnUuMDOGE22QLsk+jveKO48DrFeo6L3Sz1dybmwGt 3VnYki6IKv0gHkCg== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C2482138FA; Thu, 11 May 2023 17:46:00 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id 6ZuNKtgpXWTkMQAAMHmgww (envelope-from ); Thu, 11 May 2023 17:46:00 +0000 Content-Type: multipart/mixed; boundary="------------sXp9KsGWa0zmvYMjZhXnxLxW" Message-ID: <99abb8c4-b4c0-337f-1319-48504bf0d14a@suse.de> Date: Thu, 11 May 2023 19:45:59 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 Subject: Re: [PATCH] [gdb/tui] Fix tui compact-source a bit more Content-Language: en-US To: Simon Marchi , gdb-patches@sourceware.org Cc: Andrew Burgess , Tom Tromey References: <20230510132118.13761-1-tdevries@suse.de> From: Tom de Vries In-Reply-To: X-Spam-Status: No, score=-13.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_ASCII_DIVIDERS,KAM_SHORT,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------sXp9KsGWa0zmvYMjZhXnxLxW Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 5/11/23 16:55, Simon Marchi wrote: > On 5/10/23 09:21, Tom de Vries via Gdb-patches wrote: >> Andrew pointed out that the behaviour as tested in gdb.tui/compact-source.exp >> is incorrect: >> ... >> 0 +-compact-source.c--------------------------------------------------------+ >> 1 |___3_{ | >> 2 |___4_ return 0; | >> 3 |___5_} | >> 4 |___6_ | >> 5 |___7_ | >> 6 |___8_ | >> 7 |___9_ | >> 8 +-------------------------------------------------------------------------+ >> ... >> >> The last line number in the source file is 5, and there are 7 lines to display >> source lines, so if we'd scroll all the way down, the first line number in the >> source window would be 5, and the last one would be 11. >> >> To represent 11 we'd need 2 digits, so we expect to see ___04_ here instead of >> ___4_, even though all line numbers currently in the src window (3-9) can be >> represented with only 1 digit. > > Just wondering: it makes sense to let the user scroll down all the way, > until the point where line 5 is the first line in the window. However, > do we need to print line numbers for lines that are after the end of the > source file? In other words, could we leave lines 6-11 blank, and > therefore we could keep using just one digit? This demonstrator patch implements that approach. Thanks, - Tom --------------sXp9KsGWa0zmvYMjZhXnxLxW Content-Type: text/x-patch; charset=UTF-8; name="0001-gdb-tui-Don-t-show-line-number-for-lines-not-in-sour.patch" Content-Disposition: attachment; filename*0="0001-gdb-tui-Don-t-show-line-number-for-lines-not-in-sour.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAzMWI3YWIxZjEwN2IzNmJmNDQwZjg5ZjczMmU0YjQ2ZDk2ZDBmYWEyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUb20gZGUgVnJpZXMgPHRkZXZyaWVzQHN1c2UuZGU+ CkRhdGU6IFRodSwgMTEgTWF5IDIwMjMgMTk6NDM6MzIgKzAyMDAKU3ViamVjdDogW1BBVENI XSBbZ2RiL3R1aV0gRG9uJ3Qgc2hvdyBsaW5lIG51bWJlciBmb3IgbGluZXMgbm90IGluIHNv dXJjZSBmaWxlCgotLS0KIGdkYi90ZXN0c3VpdGUvZ2RiLnR1aS9jb21wYWN0LXNvdXJjZS5l eHAgfCAgMiArLQogZ2RiL3R1aS90dWktc291cmNlLmMgICAgICAgICAgICAgICAgICAgICB8 IDIwICsrKysrKysrKysrKysrKy0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlv bnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu dHVpL2NvbXBhY3Qtc291cmNlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnR1aS9jb21wYWN0 LXNvdXJjZS5leHAKaW5kZXggZjk3MmQ5NjFkNzIuLjU5ZTg1OGE1MDNmIDEwMDY0NAotLS0g YS9nZGIvdGVzdHN1aXRlL2dkYi50dWkvY29tcGFjdC1zb3VyY2UuZXhwCisrKyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLnR1aS9jb21wYWN0LXNvdXJjZS5leHAKQEAgLTY0LDcgKzY0LDcgQEAg Zm9yZWFjaF93aXRoX3ByZWZpeCBzcmNfd2luZG93X3NpemUgezcgOH0gewogICAgIGlmIHsg JG1heF9saW5lX25yX2luX3NvdXJjZV93aW5kb3cgPT0gOSB9IHsKIAlzZXQgcmVfbGVmdF9t YXJnaW4gIl9fXzRfIgogICAgIH0gZWxzZWlmIHsgJG1heF9saW5lX25yX2luX3NvdXJjZV93 aW5kb3cgPT0gMTAgfSAgewotCXNldCByZV9sZWZ0X21hcmdpbiAiX19fMDRfIgorCXNldCBy ZV9sZWZ0X21hcmdpbiAiX19fNF8iCiAgICAgfSBlbHNlIHsKIAllcnJvciAidW5oYW5kbGVk IG1heF9saW5lX25yX2luX3NvdXJjZV93aW5kb3ciCiAgICAgfQpkaWZmIC0tZ2l0IGEvZ2Ri L3R1aS90dWktc291cmNlLmMgYi9nZGIvdHVpL3R1aS1zb3VyY2UuYwppbmRleCA5ZDAzNzYw MDBkZS4uNTdmOWE2MmM2NTkgMTAwNjQ0Ci0tLSBhL2dkYi90dWkvdHVpLXNvdXJjZS5jCisr KyBiL2dkYi90dWkvdHVpLXNvdXJjZS5jCkBAIC04MCw3ICs4MCw3IEBAIHR1aV9zb3VyY2Vf d2luZG93OjpzZXRfY29udGVudHMgKHN0cnVjdCBnZGJhcmNoICphcmNoLAogICAgICAgLyog U29sYXJpcyAxMStnY2MgNS41IGhhcyBhbWJpZ3VvdXMgb3ZlcmxvYWRzIG9mIGxvZzEwLCBz byB3ZQogCSBjYXN0IHRvIGRvdWJsZSB0byBnZXQgdGhlIHJpZ2h0IG9uZS4gICovCiAgICAg ICBpbnQgbGluZXNfaW5fZmlsZSA9IG9mZnNldHMtPnNpemUgKCk7Ci0gICAgICBpbnQgbWF4 X2xpbmVfbnIgPSBsaW5lc19pbl9maWxlICsgbmxpbmVzIC0gMTsKKyAgICAgIGludCBtYXhf bGluZV9uciA9IGxpbmVzX2luX2ZpbGU7CiAgICAgICBpbnQgZGlnaXRzX25lZWRlZCA9IDEg KyAoaW50KWxvZzEwICgoZG91YmxlKSBtYXhfbGluZV9ucik7CiAgICAgICBpbnQgdHJhaWxp bmdfc3BhY2UgPSAxOwogICAgICAgbV9kaWdpdHMgPSBkaWdpdHNfbmVlZGVkICsgdHJhaWxp bmdfc3BhY2U7CkBAIC0xMDAsNiArMTAwLDggQEAgdHVpX3NvdXJjZV93aW5kb3c6OnNldF9j b250ZW50cyAoc3RydWN0IGdkYmFyY2ggKmFyY2gsCiAJICB0ZXh0ID0gdHVpX2NvcHlfc291 cmNlX2xpbmUgKCZpdGVyLCAmbGluZV9sZW4pOwogCSAgbV9tYXhfbGVuZ3RoID0gc3RkOjpt YXggKG1fbWF4X2xlbmd0aCwgbGluZV9sZW4pOwogCX0KKyAgICAgIGVsc2UKKwljdXJfbGlu ZV9ubyA9IC0xOwogCiAgICAgICAvKiBTZXQgd2hldGhlciBlbGVtZW50IGlzIHRoZSBleGVj dXRpb24gcG9pbnQKIAkgYW5kIHdoZXRoZXIgdGhlcmUgaXMgYSBicmVhayBwb2ludCBvbiBp dC4gICovCkBAIC0yMzMsMTEgKzIzNSwxOSBAQCB0dWlfc291cmNlX3dpbmRvdzo6ZGlzcGxh eV9zdGFydF9hZGRyIChzdHJ1Y3QgZ2RiYXJjaCAqKmdkYmFyY2hfcCwKIHZvaWQKIHR1aV9z b3VyY2Vfd2luZG93OjpzaG93X2xpbmVfbnVtYmVyIChpbnQgb2Zmc2V0KSBjb25zdAogewot ICBpbnQgbGluZW5vID0gbV9jb250ZW50WzBdLmxpbmVfb3JfYWRkci51LmxpbmVfbm8gKyBv ZmZzZXQ7CisgIGludCBsaW5lbm8gPSBtX2NvbnRlbnRbb2Zmc2V0XS5saW5lX29yX2FkZHIu dS5saW5lX25vOwogICBjaGFyIHRleHRbMjBdOwogICBjaGFyIHNwYWNlID0gdHVpX2xlZnRf bWFyZ2luX3ZlcmJvc2UgPyAnXycgOiAnICc7Ci0gIHhzbnByaW50ZiAodGV4dCwgc2l6ZW9m ICh0ZXh0KSwKLQkgICAgIHR1aV9sZWZ0X21hcmdpbl92ZXJib3NlID8gIiUwKmQlYyIgOiAi JSpkJWMiLCBtX2RpZ2l0cyAtIDEsCi0JICAgICBsaW5lbm8sIHNwYWNlKTsKKyAgaWYgKGxp bmVubyA9PSAtMSkKKyAgICB7CisgICAgICBmb3IgKGludCBpID0gMDsgaSA8PSBtX2RpZ2l0 czsgKytpKQorCXRleHRbaV0gPSAoaSA9PSBtX2RpZ2l0cykgPyAnXDAnIDogc3BhY2U7Cisg ICAgfQorICBlbHNlCisgICAgeworICAgICAgeHNucHJpbnRmICh0ZXh0LCBzaXplb2YgKHRl eHQpLAorCQkgdHVpX2xlZnRfbWFyZ2luX3ZlcmJvc2UgPyAiJTAqZCVjIiA6ICIlKmQlYyIs IG1fZGlnaXRzIC0gMSwKKwkJIGxpbmVubywgc3BhY2UpOworICAgIH0KICAgd2FkZHN0ciAo aGFuZGxlLmdldCAoKSwgdGV4dCk7CiB9CgpiYXNlLWNvbW1pdDogMzhiOTVhNTI5Mzg1ZTMy YWRjMzk0MjgyMzFjNmZjOGIwZThkNmYyMQotLSAKMi4zNS4zCgo= --------------sXp9KsGWa0zmvYMjZhXnxLxW--