Hi --

Sorry to be Scrooge... :-)

Out of the box I'm getting the following error:

laptop:~/ruby-1.8.2$ ri Array#join
/usr/local/lib/ruby/1.8/rdoc/ri/ri_display.rb:213:in
`reopen': <STDOUT> cannot change access mode from "w" to "w+"
(ArgumentError)


I have tracked it down only superficially -- it comes from io.c,
specifically:

#if !defined __CYGWIN__
     if (IS_PREP_STDIO(fptr)) {
         if ((fptr->mode & FMODE_READWRITE) != (orig->mode & FMODE_READWRITE)) {
             rb_raise(rb_eArgError,
                      "%s cannot change access mode from \"%s\" to \"%s\"",
                      PREP_STDIO_NAME(fptr), rb_io_flags_mode(fptr->mode),
                      rb_io_flags_mode(orig->mode));
         }
     }
#endif

Is it possible this is supposed to be "#if defined" rather than "if
!defined"?   This is just a guess on my part, though if I take out the
"!" it seems to run fine on my machine (Gentoo Linux).


David

-- 
David A. Black
dblack / wobblini.net