[Mono-bugs] [Bug 56985][Wis] Changed - Error in String.Replace()
bugzilla-daemon@bugzilla.ximian.com
bugzilla-daemon@bugzilla.ximian.com
Thu, 15 Apr 2004 12:17:04 -0400 (EDT)
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by dick@ximian.com.
http://bugzilla.ximian.com/show_bug.cgi?id=56985
--- shadow/56985 2004-04-14 08:46:25.000000000 -0400
+++ shadow/56985.tmp.27576 2004-04-15 12:17:04.000000000 -0400
@@ -1,13 +1,13 @@
Bug#: 56985
Product: Mono: Class Libraries
Version: unspecified
OS: unknown
OS Details:
-Status: NEW
-Resolution:
+Status: RESOLVED
+Resolution: NOTABUG
Severity: Unknown
Priority: Wishlist
Component: CORLIB
AssignedTo: dick@ximian.com
ReportedBy: mono-bug@jerryweb.info
QAContact: mono-bugs@ximian.com
@@ -63,6 +63,22 @@
Grrrrrrrr. Third attempt :-/
...
Actual Results in Mono (CVS, 2004-04-12), Gentoo Linux
etc...
+
+------- Additional Comments From dick@ximian.com 2004-04-15 12:17 -------
+In unicode locales, chars 32 (0x20) and 160 (0xA0) are SPACE and
+NO-BREAK SPACE. Mono correctly treats those characters as identical
+in culture-sensitive comparisons (which doesn't include String.Equals()).
+
+If you run the test app in a non-unicode locale (eg set LANG=C) you
+will see:
+
+:; LANG=C mono 56985.exe
+(int) s1[0] = 32
+(int) s2[0] = 160
+s1.Replace(s2, "abc"): ;
+s2.Replace(s1, "def"): Â ;
+s1.Equals(s2): False
+