On 18/09/2008 12:13 PM, Henrik Bengtsson wrote:
Hi.

On Thu, Sep 18, 2008 at 8:16 AM, Duncan Murdoch <[EMAIL PROTECTED]> wrote:
On 18/09/2008 10:55 AM, Henrik Bengtsson wrote:
R-core, may I suggest that the error message returns the absolute path
(or even the relative path) and not just the filename/basename, e.g.

"Fatal error: unable to restore saved data in C:/Users/foo/.RData"
That's a good suggestion, but unfortunately not quite trivial:  the code
that prints that message has no idea what the full filename is.  On Unix, R
just tries to open ".Rdata" without ever expanding the name, and on Windows,
the full name is stored in a place that this code can't see.

So it's not impossible to fix this, but it would take some rearrangement of
things.  I'm busy on other things so I'm not going to volunteer to do it.

Curious:  I'm not sure I get it (and I'm sure the code has the
answer), but to open any file (on a file system) there must be a
filename.  I understand the case when you open a connection and then
pass the connection to another function where the a error occur, but
here it seems to know that the name is '.RData', or is that just
hardwired in the error message?

Yes, it's hardwired.

 Are you saying that only then name is
passed by the path is unknown?   If R code, then the outer function
can use tryCatch() to catch errors.

This is part of the C code running while R is being initialized.

If all this is implemented in cross platform R code, I can have a look
at it.  What functions are involved here?

setup_Rmainloop in main.c prints the message, the name is stored in workspace_name, a static global variable hidden in startup.c. The easiest approach would be to add a get_workspace_name function, but C is so poor in handling functions returning strings that I can't be bothered.

Duncan Murdoch

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to