So I'm just getting into this and trying to understand what's really going on, but one thing jumped at me: On Thu, 24 Sep 2020 13:22:04 +0200 Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx> wrote: > +# Namespace to be prepended to the full name > +namespace = None > + > +# > +# Handle trivial newer c domain tags that are part of Sphinx 3.1 c domain tags > +# - Convert :c:expr:`foo` into ``foo`` > +# - Store the namespace if ".. c:namespace::" tag is found > + > +RE_namespace = re.compile(r'^\s*..\s*c:namespace::\s*(\S+)\s*$') > +RE_expr = re.compile(r':c:expr:`([^\`]+)`') > + > +def markup_namespace(match): > + namespace = match.group(1) > + > + return "" > + How can this possibly work without a "global namespace" declaration in markup_namespace()? jon