@@ -22,7 +22,7 @@ class ReferenceManager(object):
2222
2323 __slots__ = ["dataFile" , "specs" , "defaultSpecs" , "ignoredSpecs" , "replacedSpecs" , "biblios" , "loadedBiblioGroups" ,
2424 "biblioKeys" , "biblioNumericSuffixes" , "preferredBiblioNames" , "headings" , "defaultStatus" , "localRefs" , "anchorBlockRefs" , "foreignRefs" ,
25- "shortname" , "specLevel" , "spec" , "testing" ]
25+ "shortname" , "specLevel" , "spec" , "testing" , "isDelta" ]
2626
2727 def __init__ (self , defaultStatus = None , fileRequester = None , testing = False ):
2828 if fileRequester is None :
@@ -176,6 +176,7 @@ def setSpecData(self, md):
176176 self .shortname = md .shortname
177177 self .specLevel = md .level
178178 self .spec = md .vshortname
179+ self .isDelta = md .deltaSpec
179180
180181 for term , defaults in md .linkDefaults .items ():
181182 for default in defaults :
@@ -364,6 +365,9 @@ def getRef(self, linkType, text, spec=None, status=None, statusHint=None, linkFo
364365 export = None
365366 refs , failure = self .foreignRefs .queryRefs (text = text , linkType = linkType , spec = spec , status = status , statusHint = statusHint , linkFor = linkFor , linkForHint = linkForHint , explicitFor = explicitFor , export = export , ignoreObsoletes = True )
366367
368+ if failure and self .isDelta :
369+ refs , failure = self .foreignRefs .queryRefs (text = text , linkType = linkType , spec = self .shortname , status = status , statusHint = statusHint , linkFor = linkFor , linkForHint = linkForHint , explicitFor = explicitFor , export = False , ignoreObsoletes = True , latestOnly = False )
370+
367371 if failure and linkType in ("argument" , "idl" ) and linkFor is not None and any (x .endswith ("()" ) for x in linkFor ):
368372 # foo()/bar failed, because foo() is technically the wrong signature
369373 # let's see if we can find the right signature, and it's unambiguous
0 commit comments