[Rd] Patch for setwd() to show path in error message
Henrik Bengtsson
hb at biostat.ucsf.edu
Fri Jan 11 21:22:21 CET 2013
Below is a patch for setwd() to show path in error message. Current
it just gives error messages such as:
Error in setwd(libdir) : cannot change working directory
with the patch it should (read untested) give:
Error in setwd(libdir) : cannot change working directory to 'path/that/fails/'
PATCH:
% diff -u util.c "util,patch.c"
--- util.c 2012-12-16 13:13:05.002249900 -0800
+++ util,patch.c 2013-01-11 11:52:16.843236400 -0800
@@ -696,14 +696,14 @@
{
const wchar_t *path = filenameToWchar(STRING_ELT(s, 0), TRUE);
if(_wchdir(path) < 0)
- error(_("cannot change working directory"));
+ error(_("cannot change working directory to '%s'"), path);
}
#else
{
const char *path
= R_ExpandFileName(translateChar(STRING_ELT(s, 0)));
if(chdir(path) < 0)
- error(_("cannot change working directory"));
+ error(_("cannot change working directory to '%s'"), path);
}
#endif
return(wd);
TRANSLATIONS:
I have zero experience with GNU gettext/*.po files, but I understand
that the above change requires updates to src/library/base/*.po files,
which now looks like (e.g. de.po):
#: src/main/util.c:699 src/main/util.c:706
msgid "cannot change working directory"
msgstr "kann Arbeitsverzeichnis nicht wechseln"
A generic/automatic update would be to use the format:
#: src/main/util.c:699 src/main/util.c:706
msgid "cannot change working directory: '%s'"
msgstr "kann Arbeitsverzeichnis nicht wechseln: '%s'"
but I don't think that is in line with the current R style.
/Henrik
PS. Background for this patch:
https://r-forge.r-project.org/tracker/index.php?func=detail&aid=2395&group_id=34&atid=194
More information about the R-devel
mailing list