Ruby-dev summary 20418 - 20487

Hello all,

This is a summary of ruby-dev mailing list last week.

[ruby-dev:20441] [New Block] Who should raise warning?

Shin-ichiro HARA suggested that the warning in the example below
should raise at line 4, when function foo () is called.

 1: def foo
 2:   yield (1, 2)
 3: end
 4: foo do |x|
 5:   p x
 6: end

 #-> test.rb:2: warning: multiple values for a block parameter (2 for 1)

Nobu Nakada gave us an idea to improve the warning like following:

#-> test.rb:4: warning: multiple values for a block parameter (2 for 1)
    from test.rb:2
    [1, 2]

Matz accepted it and Nobu commited the code.

[ruby-dev:20392] [BigDecimal] proposal to change specification
[ruby-dev:20447] [BigDecimal] renaming proposal

Tadashi Saito requested some changes for BigDecimal library:

  1. Adding BigDecimal#** as an alias for BigDecimal#power
  2. Remove inconsistency between BigDecimal#infinite? and
    Float#infinite?
  3. Remove inconsistency between BigDecimal#nonzero? and
    Numeric
  4. Changing method names such as:
    • BigDecimal#sign -> BigDecimal#attribute
    • BigDecimal#to_parts -> BigDecimal#split
    • BigDecimal::E(n) -> BigDecimal::e(n)
    • BigDecimal::PI(n) => BigDecimal::pi(n)
  5. Remove BigDecimal#assign

Shigeo Kobayashi, the author of the library, accepted the request
but pointed out the migration problem for scripts using old method
names. Matz recommended us to use 1.8.0 migration as a oppotunity
for the changes.

FYI, You can see the current specification of the BigDecimal library from:
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/~checkout~/ruby/ext/bigdecimal/bigdecimal_en.html?rev=1.4&content-type=text/html