[Rd] attach() outputs messages to stdout - should it be stderr?
Henrik Bengtsson
hb at biostat.ucsf.edu
Mon Apr 7 06:33:15 CEST 2014
Contrary to other functions in 'base', attach() output messages to
stdout instead of stdout, e.g.
> a <- 1
> capture.output(attach(list(a=1)))
[1] "The following object is masked _by_ .GlobalEnv:"
[2] ""
[3] " a"
Shouldn't this message go to stderr?
Here's a patch for the local function checkConflicts() of
base::attach(), cf. ditto for base::library() that outputs to stderr:
Index: library/base/R/attach.R
===================================================================
--- library/base/R/attach.R (revision 65344)
+++ library/base/R/attach.R (working copy)
@@ -73,7 +73,7 @@
"The following objects
are masked %s %s:\n\n%s\n"),
if (i < db.pos) "_by_" else "from",
pkg, paste(objs, collapse="\n"))
- cat(msg)
+ cat(msg, file = stderr())
}
}
}
/Henrik
More information about the R-devel
mailing list