From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.polymtl.ca (smtp.polymtl.ca [132.207.4.11]) by sourceware.org (Postfix) with ESMTPS id 77B493858D34 for ; Fri, 27 Aug 2021 17:23:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 77B493858D34 Received: from simark.ca (simark.ca [158.69.221.121]) (authenticated bits=0) by smtp.polymtl.ca (8.14.7/8.14.7) with ESMTP id 17RHNo7B017455 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 27 Aug 2021 13:23:54 -0400 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp.polymtl.ca 17RHNo7B017455 Received: from [10.0.0.11] (192-222-157-6.qc.cable.ebox.net [192.222.157.6]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id EB2721EDEE; Fri, 27 Aug 2021 13:23:49 -0400 (EDT) Subject: Re: [PATCH][gdb/testsuite] Support .debug_aranges in dwarf assembly To: Tom Tromey , Simon Marchi via Gdb-patches References: <20210826115625.GA22715@delia> <87eeafovsa.fsf@tromey.com> <40b7d95e-cc02-38c7-5406-0fc83a2a1b28@polymtl.ca> <87tujaoofr.fsf@tromey.com> <5100b9c9-0a69-d392-1d45-9affe992acff@polymtl.ca> <87eeaeolu7.fsf@tromey.com> From: Simon Marchi Message-ID: <7539e57d-05f5-17c4-d3df-d20c3a8d9d3a@polymtl.ca> Date: Fri, 27 Aug 2021 13:23:49 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <87eeaeolu7.fsf@tromey.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Poly-FromMTA: (simark.ca [158.69.221.121]) at Fri, 27 Aug 2021 17:23:50 +0000 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Aug 2021 17:24:05 -0000 On 2021-08-27 1:10 p.m., Tom Tromey wrote: > Simon> But doing it this way makes it so that you can only invoke arange when > Simon> you are in aranges' body, isn't that useful? I guess the downside to > Simon> redefining the proc everytime is performance, but that's really not a > Simon> concern here (it runs quickly enough). > >>> To do that, it also have to delete the 'arange' proc after evaluating >>> the body. I suppose that would be alright by me. > > Simon> Really? This technique is used in proc rnglists, and that doesn't seem > Simon> to cause a problem. > > AFAIK Tcl doesn't have any kind of lexical scoping for procs. > So, after "proc arange" is evaluated, the binding stays around. > > This contradicts the what you were saying: "you can only invoke arange > when you are in aranges' body". I think that's not the case, you can > invoke arange any time after any aranges call in the current invocation > of runtest. Ah, I didn't know, I said that without actually trying it. I assumed it worked like all other languages :). > I'm not concerned about the performance, I guess. It's just > un-idiomatic to define a proc in a proc, normally this would only be > used for tricky things like changing a proc body at runtime. So when I > see this sort of thing, I start looking for the trick. There's nothing > incorrect, it's just less clear than it could be. So, defining the proc inside another is not useful then. Simon