[Rd] capabilities() and non-catchable messages

From: Henrik Bengtsson <hb_at_maths.lth.se>
Date: Mon 20 Jun 2005 - 10:18:22 GMT

Just for the record (not a request for fix) and an ad hoc workaround if anyone needs it:

Running an R script as a plugin on a remote Suse Linux 8.2 with R v2.1.0
(2005-04-18), I have noticed that capabilities() generates (to standard

   Xlib: connection to "base:0.0" refused by server    Xlib: Client is not authorized to connect to Server

which cannot be caught by tryCatch();

   }, condition=function(c) {

     cat("Condition caught:\n");


because it is not a 'condition' (error or warning).

Since source() calls capabilities("iconv") this messages always show up. My R plugin loads custom code using source() and since the standard error from the plugin is checked for messages, the host system interprets this as if something problematic has occured.

The workaround that I use now is to redefine capabilities() temporarily
(since I do not need "iconv" support):

  orgCapabilities <- base::capabilities;   basePos <- which(search() == "package:base"));   assign("capabilities", function(...) FALSE, pos=basePos);

  source(<my file>)

  basePos <- which(search() == "package:base"));   assign("capabilities", orgCapabilities, pos=basePos);   rm(orgCapabilities)



R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Mon Jun 20 21:13:35 2005

This archive was generated by hypermail 2.1.8 : Mon 20 Feb 2006 - 03:21:09 GMT