Index: /issm/trunk-jpl/src/c/include/macros.h
===================================================================
--- /issm/trunk-jpl/src/c/include/macros.h	(revision 11942)
+++ /issm/trunk-jpl/src/c/include/macros.h	(revision 11943)
@@ -41,9 +41,11 @@
 /*}}}*/
 /* MODULEBOOT/MODULEEND {{{1*/
+
 /*The following macros hide the error exception handling in a matlab module. Just put 
  * MODULEBOOT(); and MODULEEND(); at the beginning and end of a module, and c++ exceptions 
  * will be trapped. Really nifty!*/
+
 #ifdef _SERIAL_
-
+#ifdef _HAVE_MATLAB_ //{{{2
 #define MODULEBOOT(); ModuleBoot(); \
 	try{
@@ -58,7 +60,21 @@
 		mexErrMsgTxt(" ");\
 	}
+#endif //}}}
+#ifdef _HAVE_PYTHON_ //{{{2
+#define MODULEBOOT(); ModuleBoot(); \
+	try{
 
+#define MODULEEND();  ModuleEnd(); }\
+	catch(ErrorException &exception){\
+		exception.Report(); \
+		return; \
+	}\
+	catch (exception& e) {\
+		_printf_(true,"Standard exception: %s\n",e.what());\
+		return;\
+	}
+#endif //}}}
 #else 
-
+//{{{2
 #define MODULEBOOT(); \
 	try{
@@ -73,4 +89,21 @@
 		return 1;\
 	}
+//}}}
+#endif
+/*}}}*/
+/* WRAPPER {{{1*/
+#ifdef _HAVE_MATLAB_
+#define WRAPPER(modulename,...) void mexFunction(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]) 
+#endif
+#ifdef _HAVE_PYTHON_
+#define WRAPPER(modulename,...) void modulename(__VA_ARGS__)
+#endif
+/*}}}*/
+/* CHECKARGUMENTS {{{1*/
+#ifdef _HAVE_MATLAB_
+#define CHECKARGUMENTS(NLHS,NRHS,functionpointer) CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,functionpointer)
+#endif
+#ifdef _HAVE_PYTHON_
+#define CHECKARGUMENTS(NLHS,NRHS,functionpointer) 
 #endif
 /*}}}*/
