The AUTOLOAD function in Newt.pm looks at strerror(errno) to see
whether the constant() function (in Newt.xs) has returned EINVAL.
strerror(errno) is returned in the locale's language, so won't
always match /Invalid/. constant() should never fail with
EINVAL anyway, so just ignore this case.
--- Newt-1.08/Newt.pm.lang 2003-07-31 12:01:52.000000000 +0100
+++ Newt-1.08/Newt.pm 2003-07-31 12:02:26.000000000 +0100
@@ -220,13 +220,8 @@
croak "& not defined" if $constname eq 'constant';
my $val = constant($constname, @_ ? $_[0] : 0);
if ($! != 0) {
- if ($! =~ /Invalid/) {
$AutoLoader::AUTOLOAD = $AUTOLOAD;
goto &AutoLoader::AUTOLOAD;
- }
- else {
- croak "Your vendor has not defined Newt macro $constname";
- }
}
*$AUTOLOAD = sub { $val };
goto &$AUTOLOAD;