Bugs item #1232768, was opened at 2005-07-05 16:11 Message generated for change (Comment added) made by birkenfeld You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1232768&group_id=5470
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Documentation Group: Python 2.4 >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Matt Smart (mcsmart) >Assigned to: Reinhold Birkenfeld (birkenfeld) Summary: Mistakes in online docs under "5.3 Pure Embedding" Initial Comment: I'm looking at the "5.3 Pure Embedding" page: http://python.org/doc/2.4.1/ext/pure-embedding.html 1. pFunc = PyDict_GetItemString(pDict, argv[2]); - /* pFun: Borrowed reference */ + /* pFunc: Borrowed reference */ 2. The code snippet in the section starting with "After initializing the interpreter," does not follow the code in the example. It uses PyObject_GetAttrString() instead of PyObject_GetItemString(), which creates a new reference instead of borrowing one, and therefore needs a Py_XDEREF(pFunc) call that is also not in the initial example. ---------------------------------------------------------------------- >Comment By: Reinhold Birkenfeld (birkenfeld) Date: 2005-07-12 15:18 Message: Logged In: YES user_id=1188172 Okay. Fixed as Doc/ext/run-func.c r1.4.20.1, r1.5. ---------------------------------------------------------------------- Comment By: Reinhold Birkenfeld (birkenfeld) Date: 2005-07-12 15:12 Message: Logged In: YES user_id=1188172 I thought the same when I first read this report. On this HTML page, there's the large code sample at the top, and below are explanations. In the large sample the code with GetItemString and without Py_XDECREF. Both are OK, but different, and that's what the reporter's problem was. But thanks to your digging in the CVS history, I can tell that the intended code is the second version with GetAttrString. ---------------------------------------------------------------------- Comment By: Peter van Kampen (pterk) Date: 2005-07-12 14:57 Message: Logged In: YES user_id=174455 Reinhold, I must confess I am confused. I'm trying to unravel what goes in in CVS with all the branches. It seems this was corrected in rev. 1.5 of embedding.tex (from 2002!?). Looking at cvs (HEAD) I also see: python/dist/src/Doc/ext/embedding.tex (line ~180): \begin{verbatim} pFunc = PyObject_GetAttrString(pModule, argv[2]); /* pFunc is a new reference */ if (pFunc && PyCallable_Check(pFunc)) { ... } Py_XDECREF(pFunc); \end{verbatim} This seems to fix the problem? Also looking at http://python.org/doc/2.4.1/ext/pure-embedding.html *today* I don't see 'Borrowed reference' and but 'a new reference' and including a PyXDEREF. Am I totally missing the point of the bug-report or is the time-machine flying again? ---------------------------------------------------------------------- Comment By: Reinhold Birkenfeld (birkenfeld) Date: 2005-07-12 13:35 Message: Logged In: YES user_id=1188172 Only the first part has been fixed. The second is beyond my decision and must be considered by someone other. ---------------------------------------------------------------------- Comment By: Peter van Kampen (pterk) Date: 2005-07-12 12:59 Message: Logged In: YES user_id=174455 These seem to have been fixed already in CVS (although I can't find a duplicate report). Suggest closing. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1232768&group_id=5470 _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com