This Week on perl5-porters (2-8 December 2002)

rafael on 2002-12-09T22:44:42

This week, besides some bug reports involving UTF8 locales, the porters discussed a wide range of subjects, from Mathematics to English, not forgetting about some old Unix thingies, such as system calls and termcaps.

Alisiasing magic variables (in English.pm)

Kevin Moore reported bug #18874 : sometimes, with perl 5.8.0, the $& variable is not correctly aliased to $MATCH. Andreas Koenig's little gnomes quickly identified the patch that introduced this regression, and it was reverted, with a proper regression test added. The root cause of the bug is apparently that aliasing variables (via *MATCH = \$&) doesn't work as well with magic than aliasing globs (*MATCH = *&). In other words, it's a can of worms.

Mathematics

Tels was busy this week on the Math::Big* modules. He fixed several bugs, and apparently his fixes led to performance improvements. I won't summarize Tels' eloquent missive, so here it is : Tels' eloquent missive

He also worked on the square root and nth root functions. Nobody commented on his work, but I think that's because (1) these modules are scary, (2) mathematics are scary, (3) quoting Tels, the deeper you dig, the more sh*t you find.

getservbyport

Alan Burlison found that getservbyport(), unlike getservbyname(), doesn't accept an empty string as its second argument (the protocol). This is not consistent (and not consistent with the getservent(3) manpage.) Slaven Rezic provided a fix.

$ENV{TERM} and taint checks

After some discussion on the causes of bug #18717, Rafael Garcia-Suarez put in minor change in the set of characters that are considered to be safe in $ENV{TERM} regarding the tainting mechanism. Now, if you run perl with -T, and if your terminal name contains a character which is non-alphanumeric and not in [-_.+], perl will consider $ENV{TERM} tainted.

More UTF8 locale bugs

UTF8-locale-related bugs continue to flood the porters. Wilbur Goltermann reported bug #18857, about a s/// substitution that fails with a coredump, under a UTF8 locale. Vilem Marsik reported a bug in the perl debugger (#18915) that appears to be related to a capturing regexp that doesn't like UTF8. Bug #18931, reported by Bhavesh Davda, is about a \U...\E expression not behaving correctly, also under an UFT8 locale. It seems to be related as well to regular expressions. Last but not least, warnings reported by perl are not UTF8-aware (bug-#5956-revival).

ExtUtils::ParseXS

Ken Williams is working on converting xsubpp (the part of MakeMaker that preprocesses XS files to C code) into a module, for which he proposed the name ExtUtils::ParseXS. He explains : The reason I'm doing this is so that the functionality can be used in other contexts, other platforms, and other build environments like Module::Build. Brian Ingerson found the idea interesting for Inline::C.

In brief

Hugo van der Sanden integrated into the core the new version of perldoc (and the relevant Pod::Perldoc::* modules), by Sean M. Burke. (This new perldoc is also available from the CPAN.)

Nicholas Clark fixed the bug (#18651) reported last week, pertaining to restricted hashes.

Rafael fixed three obscure memory corruption bugs in the lexer, and apparently found some other ones.

About this summary

This summary brought to you by Rafael Garcia-Suarez, both on http://use.perl.org/ and via a mailing list, which subscription address is perl5-summary-subscribe@perl.org . Comments and corrections are, as always, welcome.