Forum: IronRuby Code Review: miscrubyfixes

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Tomas M. (Guest)
on 2008-10-24 22:18
(Received via mailing list)
Attachment: miscrubyfixes.diff (0 Bytes)
tfpt review "/shelveset:miscrubyfixes;REDMOND\tomat"
Comment  :
  Implements range conditions:
  -     If a range whose bounds are not integer literals is used as a
control flow condition (if/unless/while-loop/until-loop/?:) it is
considered a 'range condition'. It returns true/false depending on
whether the execution state is in the range or not (the state is
maintained in a local variable).
  -     Adjusts ParseTree to return flip2, flip3 nodes for range
  -     Removes compile time checks of range bounds - they should be
evaluated at runtime.

  Implements regex conditions: A regex in a condition should perform
match against $_.
  Converts a call to =~ method to MatchExpression if the left hand side
is a regex expression (MRI doesn't call =~ method in that case).

  Stops using dynamic sites for Proc#call, we can easily use block

  Fixes bugs:
  -     def f; yield; end;   f {|a,b,*c| p [a,b,c] }
  -     proc{|x,| x}.call([1]).should == [1] ... This is actually
inconsistent with yield in MRI. We had it consistent :-/.
  -     [ ironruby-Bugs-21258 ] Can't splat to unwrap an array of
  -     Symbol#inspect should quote only symbols that are not valid
variable/method/operator names.
  -                 Fixes 'defined?' for qualified constants and

Curt H. (Guest)
on 2008-10-25 02:31
(Received via mailing list)
Looks good.
This topic is locked and can not be replied to.