This Week on perl5-porters (21-27 October 2002)
  This week was moderately busy for the Perl 5 porters. The highlights
  feature various crashes and considerations about Unicode string
  handling; not forgetting, as usual, about newly fixed bugs, and bugs yet
  to be fixed.

Crash perl by trashing symbol tables
  Tassilo v. Parseval reported a way to make Perl dump core (bug #18045):
  emptying the %main:: symbol table, and issuing a warning. This bug has
  been already corrected in bleadperl (it's due to the standard error file
  handle being freed when it's removed from %main::.) But Tassilo and
  Andreas J. Koenig came up with two other ways to issue a core dump:
  using require() after emptying %main::, and emptying %main:: in a BEGIN
  block.

  Rafael Garcia-Suarez explained that this kind of bugs have a common
  cause: *emptying %:: removes the subroutine or the currently executing
  code, which then tries to walk on a vanishing floor, and crashes.*
  (However he didn't provide a patch, because he didn't found a way to
  protect perl efficiently against all those cases once and for all.)

      http://archive.develooper.com/perl5-porters@;perl.org/msg88248.html

Parser crash
  A bug reported last month (bug #17589) had been reduced to a small use
  case by Dave Mitchell : sometimes, when the incorrect construct "sub;"
  (an empty forward declaration) is encountered, the Perl parser
  segfaults. This is due to the annoying fact that the parser constructs
  here an internal state that is never restored properly, and this leads
  to a core dump before it has a chance to report the syntax error. To fix
  this, one could prevent the parser to get the offending tokens by
  hard-coding the verification directly into the lexer. Apparently, Rafael
  Garcia-Suarez is working on a patch.

      http://archive.develooper.com/perl5-porters@;perl.org/msg87122.html

Unicode questions
  That's been a long time since the last long Unicode thread. H.Merijn
  Brand began to ask what was the exact behavior of perl, when printing an
  Unicode character to STDOUT. Andreas Koenig pointed out that the output
  filter should be set to ":utf8" (via binmode()), since Merijn is not
  using an UTF8 locale. Another way to achieve this result is to set the
  PERLIO environment variable to "utf8", or to use the "open" pragma, but
  this sets an input and/or output filter on all handles, which is too
  strong in many cases.

  What Merijn is actually asking for, is a *command line option to turn on
  ":utf8" for "STD(IN|OUT|ERR)"* (maybe a pragma? Hugo proposed something
  like "-Mstdlayer=utf8").

  The discussion also implied some consideration over charnames aliases.
  As Merijn says *that charnames is an exception as such, and /could/
  warrant promotion of strings with \N{...} to utf8, since \N{...} /needs/
  charnames anyway.* Andreas disagreed.

  Later in the thread, Merijn wrote that he's *not volunteering to take
  over the summaries*.

      http://archive.develooper.com/perl5-porters@;perl.org/msg88360.html

Nested FETCHes
  Dave Mitchell reported that nested FETCHes on tied arrays and hashes
  don't work, because the fetched values are temporarily stored in global
  variables. After a little discussion with Hugo, Dave announced that he's
  going to see what he can do about it.

      http://archive.develooper.com/perl5-porters@;perl.org/msg88288.html

In brief
  chromatic added a test for the (previously untested) IO module. However
  it doesn't test yet for the new deprecation warning on a parameterless
  "use IO;", introduced last week.

  Dan Kogai provided a patch, on the behalf of Inaba Hiroto, to make
  "tr///" work with Unicode ranges, when the "encoding" pragma is used.

  Dan Kogai was apparently the first to notice that one of the tests to
  the new Net::Ping 2.23 module fails on some platforms, due to
  portability problems. This test is now skipped for now in bleadperl.

  Barrie Slaymaker reported that read()ing on an unopened filehandle
  doesn't set $!. Slaven Rezic provided a patch, that corrects also a
  similar problem for binmode(), getc() and write(). (Bug #18048).

  Rafael provided a patch to ExtUtils::MakeMaker to make life easier for
  those of us who keep Perl modules (or bleadperl itself) in a Subversion
  repository. Not applied yet. (This Rafael guy also advertised his latest
  hack, "perlpatch2svn", a script that imports bleadperl patches into a
  Subversion repository.)

  David Kernen reported that the -I command-line option split paths on
  colons (on Unix), as if they were provided via the PERL5LIB environment
  variable (bug #18066). Slaven Rezic pointed a way to fix this (but,
  although being a prolific patcher, he didn't provide a patch.)

  H.Merijn Brand found that the installation of DBD-ODBC-0.45_18 reports
  an error "DBI version 1.201 required--this is only version 1.30" with
  bleadperl. This is due to the recent changes in the version handling ;
  John Peacock commented that the DBI versioning scheme doesn't follow the
  current mainstream model (which implicitly splits floating-point
  versions at three decimal place intervals.)

  Matthew O. Persico pointed out that ExtUtils::Installed only looks for
  installed modules only in the standard archlib and sitearch directories,
  and suggested that it could optionally search other directories (e.g.
  those in @INC).

  Yves Orton began to test Perl on Windows 2000, compiled with MS Visual
  Studio 6. Apparently non-threaded builds don't feel well. Moreover, the
  threaded builds on Windows started to show errors on the usual
  portability suspects: forks and socketpairs.

  Dan Kogai released Encode 1.80. Paul Marquess released DB_File 1.806
  (and also Compress::Zlib 1.17, but that's not a core module).

About this summary
  This summary brought to you, schizoidly, by Rafael Garcia-Suarez. It's
  also available via a mailing list, which subscription address is
  [EMAIL PROTECTED] Comments and corrections are, as
  always, welcome.

Reply via email to