Re: pgsql: Work around for perl 5.10 bug - fix due to perl hacker Simon - Mailing list pgsql-committers

From Andrew Dunstan
Subject Re: pgsql: Work around for perl 5.10 bug - fix due to perl hacker Simon
Date
Msg-id 479F8151.40401@dunslane.net
Whole thread Raw
In response to Re: pgsql: Work around for perl 5.10 bug - fix due to perl hacker Simon  (Bruce Momjian <bruce@momjian.us>)
List pgsql-committers

Bruce Momjian wrote:
> Andrew Dunstan wrote:
>
>> I don't actually have a lot of information. Simon told me that, due to a
>> change in behaviour which he described as a bug, we need to enable the
>> caller opcode during the load of the strict module, and that we could
>> turn it off again once the module was imported. That's what I did (after
>> testing). It's a tiny and quite safe change. If you like I will add a
>> note to the code saying why it's there.
>>
>
> If 'require' is the typical way of doing this, and 'requier caller' is a
> rare method, then the big problem is not the commit message but the lack
> of description in the code as to why we are doing this.  It is unlikely
> anyone will remember why we made this change, and what version of Perl
> it is supposed to fix so we can revert it later perhaps.
>
>
>

We are not doing "require caller". "require" and "caller" are the names
of two separate sets of opcodes. We always needed "require" here, as
that is what we need enabled to execute the "use strict" instruction (or
indeed any "use" instruction). We added the "caller" opcode to the list
of allowed directives, because the Safe module now apparently uses it
when loading a module (e.g. when doing "use Foo;").

Anyway, as you saw later, I have added a comment to the code.

Don't be surprised if this never gets fixed in Perl - it's more likely
that they will document the behaviour, I think.

cheers

andrew

pgsql-committers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: pgsql: Document the fix for perl 5.10 with this comment: * The
Next
From: aglio@pgfoundry.org (User Aglio)
Date:
Subject: press - pr: final update to dates