John Pinner-3 wrote: > > I assume that you have read the documentation at > http://docs.python.org/c-api/veryhigh.html, > and I agree that it's sparse, but the entry for the next entry, > PyEval_EvalCodeEx, tells you a little more, as does that for > PyEval_EvalFrameEx. >
It does help, but only a bit. John Pinner-3 wrote: > > Obviously, it's returning a pointer to a PyObject, and Looking at the > source code, that may be NULL, to throw an exception, or an execution > frame, or a generator,etc, etc, depending on the code it's been given. > I guess that you should be able to inspect the PyObject to see what it is. > Yes, that's one possibility. I tried to investigate others. John Pinner-3 wrote: > > What I'm wondering is, why are you eval-ing code ? A favourite device > of C programmers coming to Python (and mea culpa in the past), it's > fraught with potential problems and even security risks, and is > difficult to debug, and maybe you should be using introspection instead. > My application accepts Python scripts from user and executes using embedded Python interpreter. So, I use this particular API. Could you elaborate on the "using introspection"? John Pinner-3 wrote: > > And maybe you should be working in Python, and not C++ at this point, > do the dynamic stuff in the language best suited, and then return to C++ > when needed. > My application in C++ interacts with Python programs provided by users. Depending on what these programs request, various PyObject objects are created and returned back, etc. I understand it's difficult to discuss it without long essays or without providing the code, etc. So, I can only discuss and investigate building blocks I use. Anyway, thanks for your comments. Best regards, ----- -- Mateusz Loskot http://mateusz.loskot.net -- View this message in context: http://old.nabble.com/PyEval_EvalCodeEx-return-value-tp32501833p32503908.html Sent from the Python - python-list mailing list archive at Nabble.com. -- http://mail.python.org/mailman/listinfo/python-list