This Week on perl5-porters (6-12 January 2003)
  The porters were busy, and this week's report features a large number of
  different subjects, from portability and compilation to the proper
  semantics of method dispatch, not forgetting the usual amount of strange
  bugs. Read below about the latest potential evolutions of Perl 5.

Warning on UTF8 locales ?
  In bug report #19743, Jarkko Hietaniemi summarized one of the main
  problems with UTF8 locales. Under an UTF8 locale, perl 5.8.0 implicitely
  turns on the UTF8-ness of input filehandles. Also, reading illegal UTF-8
  data does not trigger any warnings; but later, trying to use the
  resulting data does. This is annoying.

  The proposed solutions are a combination of the following points :

  *   Don't turn on *silently* UTF8-ness of all filehandles; issue a
      mandatory message (when the developer hasn't made clear he accepts
      UTF8);

  *   Don't turn on automagically UTF8-ness of all filehandles; require
      the script to have use()'d the locale pragma (or even a possible
      "use locale qw(utf8)") to do so; (Ton Hospel later questions whether
      the lexical scoping behavior of this pragma is well-suited to
      solving this problem);

  *   Reading illegal UTF8 data from a filehandle marked as UTF8 should
      issue a warning (but this is hard to achieve without slowing down
      all input).

      http:[EMAIL PROTECTED]/msg90565.html

Pathnames and Portability
  There was quite a long thread, crossposted to perl5-porters and to the
  Cygwin developers list, about the proper way to handle path names on
  Cygwin (how it should deal with Windows-style and Unix-style pathnames,
  and how the conversions should be done). This is related to definiting
  the proper behavior of File::Spec::Cygwin. Among the points are : what
  to do with pathologic cases (files names legal on Windows but not on
  Cygwin), what exactly is an absolute path (it turns out that UNC paths
  and paths that start with a single backslash are considered absolute on
  Windows), etc. Then, the thread becomes verbose and off-topic.

      http:[EMAIL PROTECTED]/msg90511.html

share() empties hashes
  Barrie Slaymaker noticed (last month) that marking a hash reference as
  "shared" clears the hash silently. Nick Ing-Simmons explains that it was
  implemented that way by laziness and for speed : copying the hash
  contents when sharing it means writing a internal routine to do this,
  and that should be safe regarding potential reference loops and
  already-shared internal data structures. Benjamin Goldberg suggests to
  introduce a separate rshare() function which does this recursive
  copying.

      http:[EMAIL PROTECTED]/msg90536.html

is-a basic type
  Piers Cawley asked why method dispatch doesn't work with basic types;
  more precisely, while a blessed hashref is-a "HASH" (according to
  "UNIVERSAL::isa()"), it's not possible to call methods from package
  "HASH" on this blessed hashref. The discussion following this difficult
  question spawns the territories of Perl 6.

      http:[EMAIL PROTECTED]/msg90539.html

Profiler segfaults
  Blair Zajac continued to investigate cases of segmentation fault within
  the Perl profiler Devel::DProf. Apparently, increasing a fudge factor (a
  stack size) solves his problems. (Ilya Zakharevich called this "voodoo
  programming" but Benjamin Goldberg provided a more logical explanation
  for it.)

      http:[EMAIL PROTECTED]/msg90611.html

Latest Berkeley DB
  Bug #19884, reported by Martin Mokrejs, is about building perl 5.8.0
  with Berkeley DB 4.1.25. This doesn't work, because (quoting Paul
  Marquess) "Perl 5.8.0 was released before Berkeley DB 4.1 came out.
  There was a change in the Berkeley DB API that wasn't backward
  compatible." The recommended solution is to build perl without DB_File
  (by giving the "-Ui_db" command-line option to "Configure") and to
  install later the latest DB_File from the CPAN.

      http:[EMAIL PROTECTED]/msg90696.html

Old bug reopened
  Six months ago bug #15479 was fixed (this was about the simple statement
  %::="" leading to a core dump when warnings are enabled). John Peacock
  remarks that the fix isn't good enough, because it doesn't work when
  some operators are overloaded. John also makes a good job at trimming
  down the cause of this bug.

      http:[EMAIL PROTECTED]/msg90707.html

Sun's upcoming compiler
  Alan Burlison (from Sun) told the Perl 5 porters about the upcoming
  version of the Sun C compiler. This future version is expected to break
  the hints file for Solaris in various ways (firstly, the detection of
  the compiler version, secondly, checking the presence of the libsunmath
  library). He volunteers to provide a patch.

      http:[EMAIL PROTECTED]/msg90725.html

In brief
  Rafael Garcia-Suarez proposes to ship a simple RPM spec file with perl.
  Axel Thimm notes that this hides nasty portability pitfalls. He adds
  that it might be interesting to try an LSB (Linux Standard Base)
  packaged perl (see http://www.linuxbase.org/appbat/).

  Rafael also changed the value of the internal variable "${^TAINT}", so
  it's now 0 without taint checks, 1 with -T, and -1 with -t or -TU.
  Previously it was only 0 or 1.

  Ernest Lergon found bug #19767 pertaining to use of "\p{}" escapes
  within character classes in precompiled regular expressions.

  Peter Scott reported bug #19815, about an amusing syntax error that
  confuses perl's lexer enough to make it unable to count lines properly.

  Mark-Jason Dominus notices that fsync(2) is missing from the POSIX
  module (bug #19860). However the functionality is provided by
  IO::Handle::sync().

  Brendan O'Dea sent a load of patches.

  There are some smoke escaping from the Cygwin builds. Apparently Merijn
  now installs bleading edge snapshots of Cygwin on the machine he runs
  the some tests on.

About this summary
  This summary brought to you by Rafael Garcia-Suarez. Summaries are
  available on http://use.perl.org/ and/or via a mailing list, which
  subscription address is [EMAIL PROTECTED] Comments and
  corrections are welcome.

Reply via email to