[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.
|