[#23657] [Bug #1550] String#lstrip! raises RuntimeError on Frozen String Despite Making No Changes — Run Paint Run Run <redmine@...>
Bug #1550: String#lstrip! raises RuntimeError on Frozen String Despite Making No Changes
Hi,
On Jun 1, 2009, at 5:07 PM, Yukihiro Matsumoto wrote:
Hi,
Issue #1550 has been updated by Yukihiro Matsumoto.
This change seems to break the build on my machine:
[#23683] [Bug #1560] multi core operations are slower on trunk (possible regression) — David Cuadrado <redmine@...>
Bug #1560: multi core operations are slower on trunk (possible regression)
[#23700] Standard Ruby bytecode — Ioannis Nousias <s0238762@...>
I came across this post:
[#23717] [Bug #1573] $0 behaves unexpectedly — Morris Brodersen <redmine@...>
Bug #1573: $0 behaves unexpectedly
[#23727] [Bug #1580] TestIOScanF failure in windows — Roger Pack <redmine@...>
Bug #1580: TestIOScanF failure in windows
[#23729] [Bug #1583] Time + String no Longer Raises TypeError? — Run Paint Run Run <redmine@...>
Bug #1583: Time + String no Longer Raises TypeError?
Issue #1583 has been updated by Akira Tanaka.
Hi,
Excerpts from Yukihiro Matsumoto's message of Sun Jun 07 17:07:06 +0300 2009:
[#23738] Ducktyping interface — Yehuda Katz <wycats@...>
Matz,
[#23753] [Bug #1587] Problem with string sharing — Quet Zal <redmine@...>
Bug #1587: Problem with string sharing
[#23770] [Bug #1595] rake unusable on windows install — Robert Gonzalez <redmine@...>
Bug #1595: rake unusable on windows install
[#23815] inheriting socket in child process on native Windows — "Knutaf" <knutaf@...>
Hello,
> This works on Linux by persisting socket.fileno from the parent process a=
Well, I'm already not exactly using pure Ruby, since I'm wrapping
> Besides that, I think using WSADuplicateSocket will suffer from the
I tried that with both the HANDLE value and with an fd value that I
> I tried that with both the HANDLE value and with an fd value that I
[#23842] request for updated ri/rdoc on 1.8.7 branch — Roger Pack <rogerdpack@...>
would it be possible to get a newer version of ri/rdoc installed on
[#23845] [Bug #1627] Kernel.require Should Canonicalise Paths — Run Paint Run Run <redmine@...>
Bug #1627: Kernel.require Should Canonicalise Paths
[#23849] [Bug #1629] [Segfault] z = Zlib::GzipReader.new segfaults — Markus Fischer <redmine@...>
Bug #1629: [Segfault] z = Zlib::GzipReader.new segfaults
[#23850] instance_eval no longer yielding self in ruby 1.9 — apeiros <apeiros@...>
Hi folks
Hi,
Am 16.06.2009 um 22:12 schrieb Yusuke ENDOH:
Am 17.06.2009 um 00:01 schrieb Florian Gilcher:
[#23869] [Bug #1640] [PATCH] Documentation for the Rational Class — Run Paint Run Run <redmine@...>
Bug #1640: [PATCH] Documentation for the Rational Class
[#23878] trouble registering and logging in to the issue tracking system — Knutaf H <knutaf@...>
Hi,
[#23883] Merging recent Ruby threading improvements — Joe Damato <ice799@...>
Hi ruby-core and CC'ed friends -
[#23934] [Bug #1661] RegExp mismatch — Adam Carheden <redmine@...>
Bug #1661: RegExp mismatch
[#23950] [Bug #1668] Error installing ruby gems for 1.9.1 on windows vista — Kristian Mandrup <redmine@...>
Bug #1668: Error installing ruby gems for 1.9.1 on windows vista
[#23977] [ANN] meeting log of RubyDeveloperKaigi20090622 — "Yugui (Yuki Sonoda)" <yugui@...>
Hi,
Thanks for the update. :-)
On Jun 23, 2009, at 4:23 AM, Run Paint Run Run wrote:
Sorry for late response,
On Tue, Jul 7, 2009 at 12:12 AM, NARUSE, Yui<[email protected]> wrote:
On Mon, Jul 6, 2009 at 10:18 PM, Luis Lavena<[email protected]> wrote:
Charles Oliver Nutter wrote:
I agree pretty much across the board. I was actually hoping that
Charles Oliver Nutter wrote:
2009/6/23 Yugui (Yuki Sonoda) <[email protected]>
2009/6/23 Yugui (Yuki Sonoda) <[email protected]>:
On Wed, Jul 1, 2009 at 3:20 PM, Charles Oliver
[#23986] possible bug with windows `` they don't set $? — Roger Pack <rogerdpack@...>
Looks like a bug? [1.8 or 1.9]
[#23988] [Bug #1680] URI.encode does not encode '+' (by default) — Xuân Baldauf <redmine@...>
Bug #1680: URI.encode does not encode '+' (by default)
[#23997] [Bug #1681] Integer#chr Should Infer Encoding of Given Codepoint — Run Paint Run Run <redmine@...>
Bug #1681: Integer#chr Should Infer Encoding of Given Codepoint
Hi,
>> This seems needlessly verbose given that Ruby already knows
[#24007] [Bug #1684] ruby/rubyw.rc still say 1.9.1 — Roger Pack <redmine@...>
Bug #1684: ruby/rubyw.rc still say 1.9.1
[#24010] [Bug #1685] Some windows unicode path issues remain — B Kelly <redmine@...>
Bug #1685: Some windows unicode path issues remain
Issue #1685 has been updated by B Kelly.
Issue #1685 has been updated by Yuki Sonoda.
Yuki Sonoda wrote:
Hi,
Hello,
U.Nakamura wrote:
Hello,
U.Nakamura wrote:
Hello,
Hi,
Hello,
Hi,
Hello,
[#24025] [Bug #1688] Zlib raises a buffer error when inflating some kinds of data — Luis Lavena <redmine@...>
Bug #1688: Zlib raises a buffer error when inflating some kinds of data
Issue #1688 has been updated by Roger Pack.
On Thu, Jun 25, 2009 at 10:28 AM, Roger Pack<[email protected]> wrote:
[#24032] [Bug #1690] backticks don't set $? in windows — Roger Pack <redmine@...>
Bug #1690: backticks don't set $? in windows
[#24033] [Bug #1691] ruby --help doesn't display the "skip rubygems" option — Roger Pack <redmine@...>
Bug #1691: ruby --help doesn't display the "skip rubygems" option
[#24050] 1.9.2 Should Pass RubySpec Before Release — Run Paint Run Run <runrun@...>
I humbly suggest that a prerequisite of 1.9.2 being released is that
[#24058] [Bug #1696] http downloads are unuseably slow — Steven Hartland <redmine@...>
Bug #1696: http downloads are unuseably slow
Issue #1696 has been updated by Steven Hartland.
Net/HTTP in 1.9.2dev is already working as you described with two
In article <[email protected]>,
Excerpts from Tanaka Akira's message of Mon Jun 29 21:17:58 +0300 2009:
On Jun 29, 2009, at 1:38 PM, Eero Saynatkari wrote:
[#24063] [Feature #1697] Object#<=> — Marc-Andre Lafortune <redmine@...>
Feature #1697: Object#<=>
Issue #1697 has been updated by Rick DeNatale.
Excerpts from Luiz Angelo Daros de Luca's message of Sun Jun 28 16:22:45 +0300 2009:
[#24069] [ANN] RubyInstaller: Building installers story and news — Luis Lavena <luislavena@...>
Hey guys,
[#24099] [Bug #1708] require 'complex' Causes Unexpected Behaviour — Run Paint Run Run <redmine@...>
Bug #1708: require 'complex' Causes Unexpected Behaviour
[ruby-core:24063] [Feature #1697] Object#<=>
Feature #1697: Object#<=>
http://redmine.ruby-lang.org/issues/show/1697
Author: Marc-Andre Lafortune
Status: Open, Priority: Normal
Assigned to: Yukihiro Matsumoto, Category: core, Target version: 1.9.2
The definition of the <=> operator states:
"... And if the two operands are not comparable, it returns nil" (The Ruby Programming Language, O'Reilly)
Attempting to compare objects, when one or both do not define the <=> operator, causes a NoMethodError to be raised. For example, "false <=> 0" raises in this way. This behavior is unexpected and runs counter to the principle defined above.
Further, "0 <=> false" returns nil. This is fundamentally inconsistent. The two comparisons are the other's converse, yet the raising of an exception in the first case implies that the programmer was in error; that the mere act of making this comparison was erroneous.
The solution is for Object to define a <=> operator. This will solve the case described above, along with the general case of comparing an object to another when one or both do not define <=>. Similarly to Time#<=>, it would return the converse of arg <=> self (i.e. nil => nil, num => -num). It needs to detect recursion, in which case it should return nil or 0 depending on the result of self == arg.
This change would make it always safe to call <=> without having to check first if it respond_to? :<=> (or rescuing NoMethodError).
The existence of Object#<=> would make it much easier for all programmers to define a good <=> operator for their classes. They can simply call super if they don't know how to handle some argument type. For example:
class MyClass
include Comparable
def <=> (arg)
return super unless arg.is_a? MyClass
# go on with comparison
end
end
With this simple line, the developper has enabled other classes to be comparable with MyClass. No need to monkeypatch MyClass to ensure that comparing its objects with objects of class ComparableToMyClass will work. Without a 'super', implementing this becomes quite difficult and requires the use of recursion guards (which are not defined in the standard library).
Note that neither String#<=> nor Time#<=> currently use recursion guards, which is not robust and can lead to problems. For instance:
class MyClass
include Comparable
def <=> (arg)
return -1 if arg.is_a? MyClass
cmp = arg <=> self
cmp ? -cmp : nil
end
end
MyClass.new <=> Time.now
# ==> raises a SystemStackError
class Time
alias_method :to_str, :to_s
end
"now" <=> Time.now
# ==> endless loop that can't be interrupted with ctrl-C.
In summary, defining Object#<=> would:
1) bring consistency between a <=> b and b <=> a
2) provide a sensible default (nil) for objects that can't be compared
3) make it easier for generic methods to call <=> (no rescue or :respond_to? needed)
4) make it much easier for developpers to write extensible <=> methods for their classes.
Side notes:
The proposition stands only for Object. BasicObject would still be available for developers preferring a class with a strict minimum of methods.
The only code that could break would have to be both checking respond_to? :<=> (or rescuing a NoMethodError) _and_ behaving differently than if the <=> method had returned nil. Such code would be quite nonsensical, given the definition of <=>
Other comparison operators like <, <=, >=, > would also gain in consistency if they were defined in terms of <=>. This way, 0 < nil and nil > 0 would raise the same errors instead of errors of different types. This is secondary to the main question: is it better to define Object#<=> or not?
My vote is on 'yes'.
(Thanks to the readers of my first draft)
----------------------------------------
http://redmine.ruby-lang.org