This Week on perl5-porters - 1-7 September 2008
"These [tests] are new and also fail in blead. The watchdog that is
supposed to only kill a stuck process is definitely not waiting 120
seconds, and when it fires it takes out the process from which Perl
was started. Maybe that's intentional, but it did surprise me the
first time my telnet session disappeared." -- Craig A. Berry,
bringing maint goodness to VMS
Topics of Interest
Request "does_ok()" as per "isa_ok()" in "Test::More"
*et al*
Darren Duncan wanted to see a "does_ok()" appear in "Test::More" that
would perform a "does" on its argument rather than an "isa". This
would be helpful in role-based programming.
Matt Trout noted that this is already implemented in "Test::Moose" and
thought that this was the best place for it. Rafael Garcia-Suarez
thought that he would have paid more attention to the matter had it
been related to the new "UNIVERSAL::DOES" in 5.10.
chromatic wondered whether "Moose" (in 5.8) was doing something
dramatically different from "UNIVERSAL::DOES".
does it indeed
http://xrl.us/oq49u
Perl-5.8.6 or Perl-5.8.5 Install/Build process on AIX 5.3
Over the space of about 30 hours, H.Merijn Brand, assisted by Andy
Dougherty helped Mohammed Arshad get Perl 5.8.8 up and running on AIX
5.3. They nearly got DBD-Oracle running as well, but thankfully
Nicholas put an end to the thread when he suggested that the
"dbi-users" mailing list was a better venue for such matters.
the doctor is [in]
http://xrl.us/oq49w
Smartmatch with regex in list context
Moritz Lenz forwarded a link to a Perlmonks discussion where it is
shown that smartmatching against a regular expression doesn't behave
the same way a regular match when in list context. That is, the
following:
my @a = 'aaa' =~ /./g; # match
my @b = 'bbb' ~~ /./g; # smart-match
don't do the same thing. Aristotle Pagaltzis pointed out that changing
this would introduce a difference in behaviour compared to using a
string in list context. Moritz argued that changing things to his way
of thinking would be more in line with Perl 6.
smartest smart match
http://perlmonks.org/?node_id=708150
http://xrl.us/oq49y
Forcing older perl to use an older version of cpan module?
Chia-liang Kao uploaded a shiny "B::Utils" to CPAN, only to discover
that it fails to compile on 5.6.2, and wanted to know what was the
best way to signal to people trapped in 5.6-land to not attempt to
install this upgrade.
Nicholas Clark wanted to know why a "use 5.008" would not suffice.
Eric Wilhelm suggested that such a task (getting this new release to
work on 5.6 -- the exact details are rather minor) is exactly the sort
of thing one would pay a vendor to take care of. This amused Nicholas
no end.
chromatic took the opportunity to ask a number of questions to try and
understand why it's so hard to release a new version of Perl. To his
way of thinking, it should be so simple that people could upgrade
their perl (and not just a module or two), easily and without fuss.
Jesse Vincent, speaking with the hindsight of Parrot's monthly release
schedule, wanted to know how one would go about doing something
similar for Perl 5. chromatic responded with a nineteen point plan. A
number of people volunteered to fill in the slots proposed in
chromatic's Plan.
just upgrade already
http://xrl.us/oq492
TODO list for moving to git
Ricardo Signes wanted a TODO list for moving to git to see the light
of day. The move was proposed in March, and six months later we're
still in Perforce. Nicholas responded with six main points.
H.Merijn Brand requested a cheat-sheet for hardcore Perforce users to
help them get up to gitspeed. Craig A. Berry pointed out that a major
smoker issue is that smoking is carried out by keeping track a
monotonical patch sequence. When the switch to git is made, that will
be replaced by an opaque digest string, so it becomes difficult to
figure out whether one is up to date.
Perlbrowse (the web viewer of the change history) is another major
piece of work that will need to be taken care of.
Many of the popular platforms have working git implementations these
days, VMS being the major exception to the rule.
git along
http://xrl.us/oq494
Hosting Perl's git
Yuval Kogman despaired at the waffling in the first git thread, and so
he started a new JFDI git thread. While he was right in suggesting
that the git migration doesn't have to occur all at once, Nicholas
Clark reminded him that lots of commits are made to codebase each and
every day, which means that the switch-over needs to be done with
minimal down-time.
fast flux changelogs
http://xrl.us/oq496
maintperl-5.8.x's "IPC::SysV" fails tests on Mandriva
Shlomi Fish reported problems with 5.8.9-tobe building "IPC::SysV",
and this turned out to be a problem due to an "rsync" not removing
files orphaned files from the build. This can be done with the
"--delete" switch.
Nicholas Clark has always been reluctant to put that in the
instructions, because if the "rsync" command is run from the wrong
place, a lot of files can wind up being unexpectedly deleted. He
thought that an improved recipe involving "--dry-run" might be called
for.
the kitchen rsync
http://xrl.us/oq498
Perl with dtrace support built in
Edward Peschko, having read about Andy Armstrong's, Alan Burlison's
and Seven Dowideit's efforts to build a dtraced perl, wondered if it
was available yet in the standard or a vendor distribution.
Nicholas explained that it was in blead and the 5.10 track, so it will
see the light of day first as 5.10.1. Steffen Müller announced that he
updates his 5.10 installation directly from the source tree from time
to time and uses it directly in production... and is very happy with
the results.
Andy Armstrong posted a patch for people who want to dtrace 5.10.0
now, today.
dtrace probity
http://xrl.us/oq5aa
Helping with 5.8.9
After Nicholas Clark told Paul Fenwick that he would not be able to
review Paul's "autodie" work before getting 5.8.9 out the door, Paul
put that aside for the moment and promised, in between holding Perl
training sessions dressed up as a pirate, that he would avail himself
to writing the perl589delta document.
After examining the size of the Changes file, he announced that he was
going to chop it up month by month, and farm them out to willing
victim^Wvolunteers to try and get some parallel processing happening.
it's alive
http://xrl.us/oq5ac
After starting to knock some sense into the document, Paul issued a
wider call for assistance.
now for the paperwork
http://xrl.us/oq5ae
Git for perforce users
Yuval also took a crack at writing a cheat-sheet for git, which was
reviewed by Rafaël Garcia-Suarez and Aristotle Pagaltszis.
git crit(?:ic|ter)s apply within
http://xrl.us/oq5ag
[EMAIL PROTECTED] on VMS
Craig A. Berry gave an update on the current problems that maint has
on VMS. A couple of VMSperlers piped up with suggestions, and at the
end of the thread there was a solution for taking out the perl process
rather than its controlling terminal, and a solution to a "sleep"
waking up too early and causing a watchdog to bark too soon.
more songs about building and VMS
http://xrl.us/oq5ai
[EMAIL PROTECTED]
Nicholas Clark released a snapshot of what 5.8.9 is likely to look
like. Robin Barker found a problem with "IPC::SysV" and suggested a
solution. Nicholas thanked him for the feedback.
If *you* download the snapshot and find a problem, Nicholas will thank
*you*, too.
still smoking
http://xrl.us/oq5ak
PathTools CPAN vs. blead
Nicholas asked about a problem that arose last year concerning %ENV
traversal on VMS, in that the contents can change more or less
asynchronously. John E. Malmberg explained that that's how things work
on VMS: the environment table is mapped to VMS's logical names
infrastructure, which is system-wide in scope and thus may be in a
permanent state of flux.
not quite Unix
http://xrl.us/oq5an
TODO of the week
Smoke maint-5.8. Seriously. On any weird platform and/or compiler you
can lay your hands on.
Patches of Interest
AutoLoader 0.67
Steffen Müller offered a patch that synchronised the CPAN version of
"AutoLoader" with bleadperl and said that it would be safe to apply it
to the 5.8 and 5.10 tracks as well. Nicholas Clark applied it to
blead.
http://xrl.us/oq5ap
New and old bugs from RT
"Unicode::UCD::charinfo()" does not work on 21 Han codepoints (#58428)
Karl Williamson set in a patch to fix this up for UCD 4.1 and beyond
and suggested it may work for earlier versions. Un-looked-at.
http://xrl.us/oq5ar
"Unicode::UCD::casefold()" does not work as documented, nor probably as
intended (#58430)
Karl also spent more time on this related bug by plumbing the depths
of the text file that stores the case folding information. While the
file is poorly documented, he was able to draw some reasonable
conclusions by empirical observation.
From his analysis, he concluded that the "casefold()" function doesn't
follow the ideal case folding algorithm. In which case, it needs work.
raise you an lc()
http://xrl.us/oq5at
Bus error with constant + overload + stash manipulation + bless (#58530)
Father Chrysostomos showed how a particularly twisted blend of code
can make the interpreter throw up its hands in a panic.
bless my soul
http://xrl.us/oq5av
Compiling PERL 5.8.8 on AS/400 PASE environment. (#58566)
Wayne Johnson was trying to compile on an AS/400 environment, received
a weird error from "Configure" regarding the impossibility of finding
a Bourne shell on the system, and then Wayne referred to AIX.
This left H.Merijn Brand confused as to which environment Wayne was
really using.
http://xrl.us/oq5ax
"Data::Dumper" and slashes within qr (#58608)
Tina posted a short, sweet snippet showing how "Data::Dumper" gets
confused over a string that is defined as "q( \/ )" and then used as a
regular expression via "qr()". "Data::Dumper" makes a mess of escaping
things and as a result its output cannot be "eval"'ed back again to
recover the pattern.
Bram was able to produce a number of variations on the theme, but was
at a loss as to how to fix it. He saw how the code in "Data::Dumper"
blindly tried to escape "/" slashes so that it could emit the pattern
as "qr/$whatever/". "Data::Dump" goes to a lot more effort to try and
find some reasonable delimiters, but Bram suspects that even there the
code doesn't really solve the problem, just reduces the possibility of
failure down into a smaller range.
David Nicol suggested returning a "do" block that would "eval" the
pattern back into existence correctly.
no-one evals Data::Dumper output, right?
http://xrl.us/oq5az
"foreach @foo (@bar)" causes segfault with "namespace::clean" (#58614)
Yuval Kogman wanted to iterate with an array variable over an array.
When "namespace::clean" is near by, one has a choice between a
segfault or a bus error. Yuval thought the problem with the parse
error (hint: you cannot iterate with an @array) was causing "%^H" to
be cleaned up poorly and thus creating a cascade of garbage collection
problems.
Dave Mitchell was of course able to boil the problem down to a pair of
simple files that used no other modules. This allowed him to figure
out what was probably going on underneath the hood, but admitted not
having much time to investigate any further.
http://xrl.us/oq5a3
Perl5 Bug Summary
263 new + 1030 open = 1293 (+5 -2)
http://xrl.us/oq5a5
http://rt.perl.org/rt3/NoAuth/perl5/Overview.html
New Core Modules
"Test::More" 0.81_01
Michael G. Schwern announced a development snapshot of
"Test::More" replete with shiny goodness and a solution for a 4
year old bug report. Andreas König announced that it caused a
failure in "Sub::Uplevel"'s test suite.
http://xrl.us/oq5a7
In Brief
Nicholas Clark recalled that things were simpler in the old days. The
original test harness had about 6 lines of useful code. These days it
contains quite a lot more...
http://xrl.us/oq5a9
About this summary
This summary was written by David Landgren.
Weekly summaries are published on http://use.perl.org/ and posted on a
mailing list, (subscription: [EMAIL PROTECTED]). The
archive is at http://dev.perl.org/perl5/list-summaries/. Corrections
and comments are welcome.
If you found this summary useful, please consider contributing to the
Perl Foundation or attending a YAPC to help support the development of
Perl.
--
stubborn tiny lights vs. clustering darkness forever ok?