Re: [PATCH 1/2] docs: cdomain.py: add support for two new Sphinx 3.1+ tags

From: Mauro Carvalho Chehab
Date: Fri Sep 25 2020 - 00:14:22 EST


Em Thu, 24 Sep 2020 10:22:25 -0600
Jonathan Corbet <corbet@xxxxxxx> escreveu:

> On Thu, 24 Sep 2020 18:13:54 +0200
> Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx> wrote:
>
> > > How can this possibly work without a "global namespace" declaration in
> > > markup_namespace()?
> >
> > ... While I'm not a python expert, the namespace variable is global
> > because it was defined outside the "markup_namespace" function.
>
> Assignments within functions are *always* local unless declared global.
>
> Try this:
>
> $ python3
> >>> x = 0
> >>> def y(v):
> >>> x = v
> >>>
> >>> y(1)
> >>> x
> 0
> >>>
>
> So your assignment to "namespace" in markup_namespace() cannot change the
> global, since it's not declared global.

Ok! Thanks for helping with this. I'll declare namespace as global for
the next version.

Thanks,
Mauro