Hi all,

This is a summary of ruby-dev ML in these days, translated
by Minero Aoki and me.


---- ruby-dev #16501-16750 (2002-3-20 ... 2002-04-04) ----

[ruby-dev:16532] redefinition of constants

  Wakou Aoyama suggested to suppress warnings of redefinition
  of constants without option -w, or raise an error regardless
  of the options. But Matz thinks current behavior is correct,
  because it is a must for some application (ex. irb), with all
  its risky behavior.


[ruby-dev:16593] Oniguruma and multibyte character literal

  TAKAHASHI Masayoshi asked how to use multibyte character code in
  regexp of Oniguruma. Matz proposed a notation /\x{1234}/u as u+1234,
  and Kosaka have tried to implement it.
  Nobu Nakada made a patch for current regex engine([ruby-dev:16649]).


[ruby-dev:16545] BigFloat

  BigFloat was imported into Ruby's CVS, and there
  was a discussion about Numeric's subclasses.

   * Numeric's subclass should be immutable.
   * A 'immutable' class has no public method to change states
     of its instances. Some methods such as instance_eval
     can change the state.
   * Object which is not a instance of subclass of Numeric
     may have coerce.

  Shigeo Kobayashi, the author of BigFloat, has a plan to change
  library's name to BigDecimal.


[ruby-dev:16555] File.fnmatch

  There was a discussion about the name and behavior of
  File.fnmatch, but no conclusion.


[ruby-dev:16283] Standard Library Enrichment Project (contd.)

  * Ruby/DL is imported in 1.7 branch.

  * The lack of mkmf.rb/extmk.rb functionality has been revealed
    in the process of the library enrichment. All developers wish
    to rewrite them from scratch, but it may cause backward
    incompatibility.


[ruby-dev:16652] [OniGuruma] nested repeat operator

  /a*?+/ is a valid regexp or not?
  Nested repeat operator validation rule is argued.

  K.Kosako, maintainer of Oni Guruma, has decided
  to allow this type of expression with warning.


[ruby-dev:16732] sharing sub-regexp

  TANAKA Akira has requested three functions for "Oni Guruma".

  * shared sub pattern. For example:

      /ab*c+dab*c+d/  ==  /(ab*c+d)(?*1)/

  * regexp register reference by name.

      m = /def (?<methodname>\w+)\(?/.match('def setitimer(...)')
      p m[:method]   #=> "setitimer"

    This sort of function has been implemented in Python and .NET.

  * In-place DFA description.

----------------------------------------------------------


Regards,

TAKAHASHI 'Maki' Masayoshi     E-mail: maki / rubycolor.org