From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,63ed09fc54092c73,start X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit X-Received: by 10.66.84.136 with SMTP id z8mr20757pay.2.1359422696024; Mon, 28 Jan 2013 17:24:56 -0800 (PST) X-Received: by 10.50.152.243 with SMTP id vb19mr99514igb.15.1359422695959; Mon, 28 Jan 2013 17:24:55 -0800 (PST) Path: 6ni22070pbd.1!nntp.google.com!ld4no14471686pbb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 28 Jan 2013 17:24:55 -0800 (PST) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=66.126.103.122; posting-account=duW0ogkAAABjRdnxgLGXDfna0Gc6XqmQ NNTP-Posting-Host: 66.126.103.122 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <6d66d1c4-ed22-446b-a9d7-dc806ae1ef8f@googlegroups.com> Subject: When is a rename not a rename? From: Adam Beneschan Injection-Date: Tue, 29 Jan 2013 01:24:56 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Date: 2013-01-28T17:24:55-08:00 List-Id: I've always assumed that if you declare a name to be a rename of some other= entity (*), there wouldn't be any impact on the program, other than that y= ou can use the new name to mean the same thing as the thing that it renames= . In particular, for library unit packages, if P2 is a library unit package t= hat renames P1, then a unit that says "with P2;" should work the same as on= e that says "with P1;" after you've done whatever is necessary to make sure= all names in the unit refer to the same entities. Right? I've just discovered that this isn't the case... with P1; with P3; package P2 renames P1; Now, a program that says "with P2;" may operate differently from one that w= ith's P1--because saying "with P2" will cause P3's elaboration code to be e= xecuted at the beginning of the program, while saying "with P1" will not [u= nless P3 is included in the program via some other path]. I wonder if this was the intent, or if it's a "bug" in the language definit= ion? -- Adam (*) Not counting a renaming-as-body, which is different because the first d= eclaration of the name is *not* a renaming declaration.