Index: /trunk/ab5.0/ablib/src/Classes/System/Text/StringBuilder.ab
===================================================================
--- /trunk/ab5.0/ablib/src/Classes/System/Text/StringBuilder.ab	(revision 688)
+++ /trunk/ab5.0/ablib/src/Classes/System/Text/StringBuilder.ab	(revision 689)
@@ -123,8 +123,8 @@
 				Return This
 			Else
-				Throw New ArgumentNullException("StringBuilder.Append: An argument is null", "s")
+				Throw New ArgumentNullException("s")
 			End If
 		ElseIf startIndex < 0 Or count < 0 Then
-			Throw New ArgumentOutOfRangeException("StringBuilder.Append: One or more arguments are out of range value.", "startIndex or count or both")
+			Throw New ArgumentOutOfRangeException("startIndex or count or both")
 		End If
 		appendCore(s, startIndex, count)
@@ -164,7 +164,7 @@
 	Const Sub CopyTo(sourceIndex As Long, ByRef dest[] As Char, destIndex As Long, count As Long)
 		If dest = 0 Then
-			Throw New ArgumentNullException("StringBuilder.CopyTo: An argument is null", "sourceIndex")
+			Throw New ArgumentNullException("sourceIndex")
 		ElseIf size < sourceIndex + count Or sourceIndex < 0 Or destIndex < 0 Or count < 0 Then
-			Throw New ArgumentOutOfRangeException("StringBuilder.CopyTo: One or more arguments are out of range value.", "startIndex or count or both")
+			Throw New ArgumentOutOfRangeException("startIndex or count or both")
 		End If
 
@@ -174,5 +174,5 @@
 	Function EnsureCapacity(c As Long) As Long
 		If c < 0 Or c > MaxCapacity Then
-			Throw New ArgumentOutOfRangeException("StringBuilder.Append: An argument is out of range value.", "c")
+			Throw New ArgumentOutOfRangeException("c")
 		ElseIf c > Capacity Then
 			Dim p = GC_malloc_atomic((c + 1) * SizeOf (Char)) As *Char
@@ -397,4 +397,5 @@
 Public
 	Override Function ToString() As String
+		separateBuffer()
 		chars[size] = 0
 		Return New String(This)
@@ -437,4 +438,5 @@
 			Throw New ArgumentOutOfRangeException("StringBuilder.Chars: An argument is out of range value.", "i")
 		End If
+		separateBuffer()
 		chars[i] = c
 	End Sub
