>>>>> "A" == Aristarkh A Zagorodnikov <xm / w3d.ru> writes: A> def expand_path(path, _path_info = '') [...] A> end a smaller example : pigeon% cat b.rb #!./ruby -v def tt(aa) aa.insert 0, "abc" aa.scan /.*/ end p tt("12345678901234567") pigeon% pigeon% b.rb ruby 1.7.1 (2001-07-15) [i686-linux] ./b.rb:4: warning: ambiguous first argument; make sure ["\001\000\000\000\001\000\000\000\210\307\020\0100\213\020\010\030\000\000\000", ""] pigeon% This is rb_str_insert() which has a problem, *wait* for confirmation from matz because *I'm not really sure* that this is the right modification to do pigeon% diff -u string.c.old string.c --- string.c.old Sat Jul 14 17:29:34 2001 +++ string.c Sat Jul 14 17:38:28 2001 @@ -1208,6 +1208,7 @@ { long pos = NUM2LONG(idx); + rb_str_modify(str); if (pos == -1) { pos = RSTRING(str)->len; } pigeon% pigeon% b.rb ruby 1.7.1 (2001-07-15) [i686-linux] ./b.rb:4: warning: ambiguous first argument; make sure ["abc12345678901234567", ""] pigeon% Guy Decoux