IspString(MirrorString("abc"),ReplString(".",3)) Line 6 in a7/vstring1.rb: s.size = '21' s[0] = '"a"' s[1] = '"."' s[2] = '"."' s[3] = '"."' Line 7 in a7/vstring1.rb: s.size = '21' s[-1] = '"a"' s[-2] = '"."' s[-3] = '"."' s[-4] = '"."' Line 9 in a7/vstring1.rb: Forwards in dump_string(IspString(MirrorString("abc"),ReplString(".",3)),21) 'a' 'a.' 'a..' 'a...' 'a...b' 'a...b.' 'a...b..' 'a...b...' 'a...b...c' 'a...b...c.' 'a...b...c..' 'a...b...c...' 'a...b...c...c' 'a...b...c...c.' 'a...b...c...c..' 'a...b...c...c...' 'a...b...c...c...b' 'a...b...c...c...b.' 'a...b...c...c...b..' 'a...b...c...c...b...' 'a...b...c...c...b...a' Backwards in dump_string(IspString(MirrorString("abc"),ReplString(".",3)),21) 'a' '.a' '..a' '...a' 'b...a' '.b...a' '..b...a' '...b...a' 'c...b...a' '.c...b...a' '..c...b...a' '...c...b...a' 'c...c...b...a' '.c...c...b...a' '..c...c...b...a' '...c...c...b...a' 'b...c...c...b...a' '.b...c...c...b...a' '..b...c...c...b...a' '...b...c...c...b...a' 'a...b...c...c...b...a' Middle on IspString(MirrorString("abc"),ReplString(".",3)) s[5] = "." s[6] = "." s[7] = "." s[8] = "c" s[9] = "." s[10] = "." s[11] = "." s[12] = "c" s[13] = "." s[14] = "." s[15] = "." Underrun on IspString(MirrorString("abc"),ReplString(".",3)) s[-5] = "b" s[-4] = "." s[-3] = "." s[-2] = "." s[-1] = "a" s[0] = "a" s[1] = "." s[2] = "." s[3] = "." s[4] = "b" s[5] = "." Overrun on IspString(MirrorString("abc"),ReplString(".",3)) s[16] = "b" s[17] = "." s[18] = "." s[19] = "." s[20] = "a" s[21] = nil s[22] = nil s[23] = nil s[24] = nil s[25] = nil s[26] = nil