From: TAKAHASHI Masayoshi Date: 2002-04-08T21:53:44+09:00 Subject: ruby-dev summary 16501-16750 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 (?\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