Mailing List Archive

Re: [Python-checkins] CVS: python/dist/src/Python sysmodule.c,2.60,2.61
It's great that you made this change! I hadn't got through my mail, but
was going to recommend it... :-)

One comment:

On Thu, 13 Apr 2000, Fred Drake wrote:
>...
> --- 409,433 ----
> v = PyInt_FromLong(PY_VERSION_HEX));
> Py_XDECREF(v);
> + /*
> + * These release level checks are mutually exclusive and cover
> + * the field, so don't get too fancy with the pre-processor!
> + */
> + #if PY_RELEASE_LEVEL == PY_RELEASE_LEVEL_ALPHA
> + v = PyString_FromString("alpha");
> + #endif
> + #if PY_RELEASE_LEVEL == PY_RELEASE_LEVEL_BETA
> + v = PyString_FromString("beta");
> + #endif
> + #if PY_RELEASE_LEVEL == PY_RELEASE_LEVEL_GAMMA
> + v = PyString_FromString("candidate");
> + #endif
> #if PY_RELEASE_LEVEL == PY_RELEASE_LEVEL_FINAL
> ! v = PyString_FromString("final");
> ! #endif
> PyDict_SetItemString(sysdict, "version_info",
> ! v = Py_BuildValue("iiiNi", PY_MAJOR_VERSION,
> PY_MINOR_VERSION,
> ! PY_MICRO_VERSION, v,
> ! PY_RELEASE_SERIAL));
> Py_XDECREF(v);
> PyDict_SetItemString(sysdict, "copyright",

I would recommend using the "s" format code in Py_BuildValue. It
simplifies the code, and it is quite a bit easier for a human to process.
When I first saw the code, I thought "the level string leaks!" Then I saw
the "N" code, went and looked it up, and realized what is going on.

So... to avoid that, the "s" code would be great.

Cheers,
-g

--
Greg Stein, http://www.lyra.org/
Re: Re: [Python-checkins] CVS: python/dist/src/Python sysmodule.c,2.60,2.61 [ In reply to ]
Greg Stein writes:
> I would recommend using the "s" format code in Py_BuildValue. It
> simplifies the code, and it is quite a bit easier for a human to process.
> When I first saw the code, I thought "the level string leaks!" Then I saw
> the "N" code, went and looked it up, and realized what is going on.

Good point; 'N' is relatively obscure in my experience as well.
I've made the change (and there's probably less code in the binary as
well!).


-Fred

--
Fred L. Drake, Jr. <fdrake at acm.org>
Corporation for National Research Initiatives