Re: Python 2.7 support and automarkup.py - Was: Re: [PATCH v2 1/5] docs: automarkup.py: Use new C roles in Sphinx 3
From: Nícolas F. R. A. Prado
Date: Fri Oct 30 2020 - 11:07:38 EST
On Fri Oct 30, 2020 at 11:39 AM -03, Matthew Wilcox wrote:
>
> On Fri, Oct 30, 2020 at 08:14:40AM -0600, Jonathan Corbet wrote:
> > On Fri, 30 Oct 2020 15:10:26 +0100
> > Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx> wrote:
> >
> > > I see a few alternatives:
> > >
> > > 1) fix automarkup.py for it to work again with python 2.7;
> > >
> > > 2) conf.py could gain some logic to disable automarkup with
> > > Python < 3;
> > >
> > > 3) scripts/sphinx-pre-install already detects Python version.
> > > It should likely be easy to ask the user to use python 3.x,
> > > if an older version is detected.
> > >
> > > Doing (1) or (2) will require an additional step when we raise
> > > the bar for Python version.
> >
> > We haven't dropped support for Python 2 yet, so this constitutes a
> > regression. My own approach would be something like this at the top of
> > automarkup.py:
> >
> > if python2:
> > ascii = 0
> > else:
> > ascii = re.ASCII
> >
> > ...then s/re.ASCII/ascii/ throughout. I can probably put together
> > something later this morning.
>
> Could we have a warning somewhere that python 2.7 is going to produce
> inferior docs?
But I don't expect the docs to have inferior quality using python 2.7.
The fix proposed by Jon should be enough to solve the issue.
>
> Alternatively, https://docs.python.org/2/library/re.html suggests
> using "The third-party regex module".
I still think Jon's solution would be better, as it doesn't add any additional
dependency.
In the end the issue is just python 2 defaults to ASCII while python 3 defaults
to unicode.
Thanks,
Nícolas