Day 210 (r6688): Overriden operators, infinite arrays.

autrijus on 2005-09-04T15:20:44

33.6k dialup at the new place doesn't make for great IRC'ing and hackings, so this one will be brief. Fortunately, I should be able to get proper ADSL tomorrow and put my net withdrawal to an end.

Last night luqui discovered that Net::IRC is suddenly broken, right after his commit that enables user-defined lexical operators. After some analysis, he concluded that a stray &infix:<~~> exported from Set.pm is the culprit, because when constructs was coded to use whichever smartmatch operator is in scope.

So, in addition to fixing when to use &*infix:<~~> explicitly, luqui also added a warning for modules trying to export an operators: "You probably don't want to export an operator name; instead define a new variant on the new operator (eg. multi sub *infix:<+>)". He then followed this advice and converted Set.pm to define new multi variants to builtin operators, instead of exporting them.

fglock added more builting methods to the perl5 runtime, such as .isa and .does. He also hacked in proper support for the Inf value: 1..Inf, 1... and even @a = (1..Inf) xx Inf all works as expected.

Continuing his Perl Best Practices efforts, dduncan rearranged Locale::KeyedText so that all POD sections are below the code, and copyrights moved toward the end.

rafl did lots of work to get Pugs properly integrated with Debian, including smokeserv support, more installed manpages, and environment knobs to control build optimisation, test targets, and whether to report smoke results or not.

See you tomorrow!