Recognize formals with single-chracter names correctly.

Addresses bug #11064.
This commit is contained in:
Eric S. Raymond 2008-02-16 09:36:59 +00:00
parent e140ac971f
commit e41511a6a2

View file

@ -193,7 +193,7 @@ class Reference:
__repr__ = __str__
class CrossRef:
macro_reference = re.compile(r"\{([A-Z_][A-Z0-9_:]*[A-Za-z0-9_])(?!\.)\b")
macro_reference = re.compile(r"\{([A-Z_][A-Za-z0-9_:]*)(?!\.)\b")
file_reference = re.compile(r"[A-Za-z0-9{}.][A-Za-z0-9_/+{}.-]*\.(" + "|".join(resource_extensions) + ")(?=(~.*)?)")
def mark_matching_resources(self, pattern, fn, n):
"Mark all definitions matching a specified pattern with a reference."
@ -344,6 +344,9 @@ class CrossRef:
for match in re.finditer(CrossRef.macro_reference, line):
name = match.group(1)
candidates = 0
if warnlevel >=2:
print '"%s", line %d: seeking definition of %s' \
% (fn, n+1, name)
if name in formals:
continue
elif name in self.xref: