diff -r 2ad860765a92 rpy/rinterface/array.h --- a/rpy/rinterface/array.h Sun Feb 08 01:16:21 2009 -0800 +++ b/rpy/rinterface/array.h Sun Feb 08 01:37:01 2009 -0800 @@ -5,7 +5,7 @@ #include #include -static PyObject* +PyObject* array_struct_get(SexpObject *self); #endif /* !RPY_AR_H */ diff -r 2ad860765a92 rpy/rinterface/rinterface.c --- a/rpy/rinterface/rinterface.c Sun Feb 08 01:16:21 2009 -0800 +++ b/rpy/rinterface/rinterface.c Sun Feb 08 01:37:01 2009 -0800 @@ -818,7 +818,7 @@ PROTECT(expr = allocVector(LANGSXP, 1)); SETCAR(expr, errMessage_SEXP); PROTECT(res = Rf_eval(expr, R_GlobalEnv)); - char *message = CHARACTER_VALUE(res); + const char *message = CHARACTER_VALUE(res); UNPROTECT(2); PyErr_SetString(RPyExc_RuntimeError, message); } @@ -1274,8 +1274,6 @@ * Closure-type Sexp. */ - -static int __sig__n; /* Evaluate a SEXP. It must be constructed by hand. It raises a Python exception if an error ocurred in the evaluation */ @@ -3194,13 +3192,13 @@ (PyObject *)emptyEnv) < 0) return; - + /* PyObject *na_real = PyFloat_FromDouble(NA_REAL); if (PyDict_SetItemString(d, "NA_REAL", (PyObject *)na_real) < 0) return; //FIXME: DECREF ? Py_DECREF(na_real); - + */ /* /\* Rinternals.h *\/ */ na_string = (PySexpObject *)Sexp_new(&VectorSexp_Type, diff -r 2ad860765a92 rpy/rinterface/tests/test_Sexp.py --- a/rpy/rinterface/tests/test_Sexp.py Sun Feb 08 01:16:21 2009 -0800 +++ b/rpy/rinterface/tests/test_Sexp.py Sun Feb 08 01:37:01 2009 -0800 @@ -70,13 +70,6 @@ sexp_a = rinterface.globalEnv.get("letters") self.assertRaises(ValueError, sexp_a.rsame, 'foo') - def testSexp_sexp_destroyCobj(self): - sexp = rinterface.IntSexpVector([1,2,3]) - cobj = sexp.__sexp__ - del(cobj) - # no real test, just make sure that it does - # not create a segfault - def testSexp_duplicate(self): sexp = rinterface.IntSexpVector([1,2,3]) self.assertEquals(0, sexp.named)