Messages in this thread | | | Date | Thu, 24 Sep 2020 10:22:25 -0600 | From | Jonathan Corbet <> | Subject | Re: [PATCH 1/2] docs: cdomain.py: add support for two new Sphinx 3.1+ tags |
| |
On Thu, 24 Sep 2020 18:13:54 +0200 Mauro Carvalho Chehab <mchehab+huawei@kernel.org> 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.
jon
| |