Dirk Eddelbuettel Thinking inside the box
 
Fri, 12 Dec 2003

Small patch for Rpy and recent R versions
After I asked on R-devel about the failure of Rpy to built with more recent versions of GNU R, I every now and then get a request for the patch mentioned in my follow-up on on R-devel.

To make life easier for everybody, and as the patch is so simple, here it comes:

--- rpy-0.3.1.orig/src/RPy.h
+++ rpy-0.3.1/src/RPy.h
@@ -90,7 +90,8 @@
 PyOS_sighandler_t python_sigint;
 
 /* R function for jumping to toplevel context */
-extern void jump_now(void);
+/* extern void jump_now(void); */
+extern void Rf_onintr(void); 
 
 /* Global interpreter */
 PyInterpreterState *my_interp;
--- rpy-0.3.1.orig/src/R_eval.c
+++ rpy-0.3.1/src/R_eval.c
@@ -65,7 +65,8 @@
 void interrupt_R(int signum)
 {
   interrupted = 1;
-  jump_now();
+  /* jump_now(); */
+  Rf_onintr();
 }
 

Thanks to Luke Tierney for the hint regarding Rf_onintr(). If you're into Debian, I also have a local package I could sent you. I'd upload it, but I don't really want to be stuck maintaining it when Rpy looks as if it has been orphaned by its original author.

/computers/R | permanent link