From: "David A. Black" Date: 2004-12-25T20:23:06+09:00 Subject: [BUG] File#reopen bug in 1.8.2 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': 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