[Epydoc-commits] SF.net SVN: epydoc: [1594] trunk/epydoc/src/epydoc/docbuilder.py
Brought to you by:
edloper
From: <dva...@us...> - 2007-07-10 23:35:54
|
Revision: 1594 http://svn.sourceforge.net/epydoc/?rev=1594&view=rev Author: dvarrazzo Date: 2007-07-10 16:35:46 -0700 (Tue, 10 Jul 2007) Log Message: ----------- - Suspended `GenericValueDoc` merge: if the parser can't detect the proper value (because it is dynamically replaced at import time) but its pyval is not UNKNOWN, the introspected value replaces the parsed values not only in the specific case, but anywhere else, because all the merged values share the same dictionary (the Borg!) The bug is described in SF bug #1678046. Modified Paths: -------------- trunk/epydoc/src/epydoc/docbuilder.py Modified: trunk/epydoc/src/epydoc/docbuilder.py =================================================================== --- trunk/epydoc/src/epydoc/docbuilder.py 2007-07-10 23:24:01 UTC (rev 1593) +++ trunk/epydoc/src/epydoc/docbuilder.py 2007-07-10 23:35:46 UTC (rev 1594) @@ -800,13 +800,19 @@ # If both values are GenericValueDoc, then we don't want to merge # them. E.g., we don't want to merge 2+2 with 4. So just copy # the inspect_doc's pyval to the parse_doc, and return the parse_doc. - if type(introspect_doc) == type(parse_doc) == GenericValueDoc: - if introspect_doc.pyval is not UNKNOWN: - parse_doc.pyval = introspect_doc.pyval - if introspect_doc.parse_repr is not UNKNOWN: - parse_doc.parse_repr = introspect_doc.parse_repr - parse_doc.docs_extracted_by = 'both' - return parse_doc.merge_and_overwrite(introspect_doc) + # + # This operation has been suspended for the reason explained in + # SF bug 1678046: the values can be totally uncorrelated if the + # introspected value has been changed as collateral effect by a function + # executed at runtime. + # + #if type(introspect_doc) == type(parse_doc) == GenericValueDoc: + #if introspect_doc.pyval is not UNKNOWN: + #parse_doc.pyval = introspect_doc.pyval + #if introspect_doc.parse_repr is not UNKNOWN: + #parse_doc.parse_repr = introspect_doc.parse_repr + #parse_doc.docs_extracted_by = 'both' + #return parse_doc.merge_and_overwrite(introspect_doc) # Perform several sanity checks here -- if we accidentally # merge values that shouldn't get merged, then bad things can This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |