develooper Front page | perl.perl5.porters | Postings from October 2005

Inline::check_config_file broken by 5.9.3 blead perl

From:
David Dyck
Date:
October 3, 2005 12:55
Subject:
Inline::check_config_file broken by 5.9.3 blead perl
Message ID:
Pine.LNX.4.62.0510031241330.27011@dd.tc.fluke.com
using Inline-0.44 and perl, v5.9.3 DEVEL24148
   Built under linux Compiled at Sep 26 2005 14:21:20

Inline's make test was croaking in
  Inline::check_config_file

My tests seem to indicate that compiling the line that checks for
    defined %main::Inline::Config::
caused the symbol to exist.    (see how the test case file q.t
causes %main::Inline::Config:: to be added to the symbol
table after the eval.
(This also shows that the "exists" check
   doesn't modify the symbol table, and
   it does catch when the symbol is in the table)

$ perl q.t
defined at (eval 1) line 1.
exists 2 at q.t line 3.
$ cat q.t
warn "exists 1" if exists $main::Inline::{'Config::'};
eval " warn 'defined' if defined %main::Inline::Config::;";
warn "exists 2" if exists $main::Inline::{'Config::'};




--- Inline.pm.orig	Sun Oct 27 23:25:19 2002
+++ Inline.pm	Mon Oct  3 12:41:02 2005
@@ -661,13 +661,13 @@
  # whether the Language code is valid or not.
  #==============================================================================
  sub check_config_file {
      my ($DIRECTORY, %config);
      my $o = shift;

-    croak M14_usage_Config() if defined %main::Inline::Config::;
+    croak M14_usage_Config() if exists $main::Inline::{'Config::'};
      croak M63_no_source($o->{API}{pkg})
        if $o->{INLINE}{md5} eq $o->{API}{code};

      # First make sure we have the DIRECTORY
      if ($o->{CONFIG}{_INSTALL_}) {
  	croak M15_usage_install_directory()






nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About