We have a new python-dev member. Welcome, Jean-Claude! (It seems you
are mostly interested in lurking, since you turned on digest mode :-)
Remember, the list's archives and member list are public; noth are
accessible via
http://www.python.org/mailman/listinfo/python-dev
I would welcome more members -- please suggest names and addresses to
me!
--Guido van Rossum (home page: http://www.python.org/~guido/)
Recently, Skip Montanaro <skip(a)mojam.com> said:
>
> Andrew> My personal leaning is that we can get more bang for the buck by
> Andrew> working on the Distutils effort, so that installing a package
> Andrew> like PyExpat becomes much easier, rather than piling more things
> Andrew> into the core distribution.
>
> Amen to that. See Guido's note and my response regarding soundex in the
> Doc-SIG. Perhaps you could get away with a very …
[View More]small core distribution
> that only contained the stuff necessary to pull everything else from the net
> via http or ftp...
I don't know whether this subject belongs on the python-dev list (is
there a separate distutils list?), but let's please be very careful
with this. The Perl people apparently think that their auto-install
stuff is so easy to use that if you find a tool on the net that needs
Perl they'll just give you a few incantations you need to build the
"correct" perl to run the tool, but I've never managed to do so. My
last try was when I spent 2 days to try and get the perl-based Palm
software for unix up and running. With various incompatilble versions
of perl installed in /usr/local by the systems staff and knowing
nothing about perl I had to give up at some point, because it was
costing far more time (and diskspace:-) than the whole thing was
worth.
Something like mailman is (afaik) easy to install for non-pythoneers
because it only depends on a single, well-defined Python distribution.
--
Jack Jansen | ++++ stop the execution of Mumia Abu-Jamal ++++
Jack.Jansen(a)oratrix.com | ++++ if you agree copy these lines to your sig ++++
www.oratrix.nl/~jack | see http://www.xs4all.nl/~tank/spg-l/sigaction.htm
[View Less]
How about introducing internal macros for explicit ob_refcnt accesses
in the core? Actually, there are a number of places where one can see
"op->ob_refcnt" logic, which could be replaced with _Py_GETREF(op),
_Py_SETREF(op, n) thus decoupling completely the low level refcount
management defined in object.h:
#define _Py_GETREF(op) (((PyObject *)op)->ob_refcnt)
#define _Py_SETREF(op, n) (((PyObject *)op)->ob_refcnt = (n))
Comments?
I've contributed myself to the mess in intobject.c &…
[View More]amp; floatobject.c, so
I thought that such macros would make the code cleaner.
Here's the current state of affairs:
python/dist/src>find . -name "*.[c]" -exec grep ob_refcnt {} \; -print
(void *) v, ((PyObject *) v)->ob_refcnt))
./Modules/_tkinter.c
if (self->arg->ob_refcnt > 1) { \
if (ob->ob_refcnt < 2 || self->fast)
if (args->ob_refcnt > 1) {
./Modules/cPickle.c
if (--inst->ob_refcnt > 0) {
./Objects/classobject.c
if (result->ob_refcnt == 1)
./Objects/fileobject.c
if (PyFloat_Check(p) && p->ob_refcnt != 0)
if (!PyFloat_Check(p) || p->ob_refcnt == 0) {
if (PyFloat_Check(p) && p->ob_refcnt != 0) {
p, p->ob_refcnt, buf);
./Objects/floatobject.c
if (PyInt_Check(p) && p->ob_refcnt != 0)
if (!PyInt_Check(p) || p->ob_refcnt == 0) {
if (PyInt_Check(p) && p->ob_refcnt != 0)
p, p->ob_refcnt, p->ob_ival);
./Objects/intobject.c
assert(v->ob_refcnt == 1); /* Since v will be used as accumulator! */
./Objects/longobject.c
if (op->ob_refcnt <= 0)
op->ob_refcnt, (long)op);
op->ob_refcnt = 1;
if (op->ob_refcnt < 0)
fprintf(fp, "[%d] ", op->ob_refcnt);
./Objects/object.c
if (!PyString_Check(v) || v->ob_refcnt != 1) {
if (key->ob_refcnt == 2 && key == value) {
./Objects/stringobject.c
if (!PyTuple_Check(op) || op->ob_refcnt != 1) {
if (v == NULL || !PyTuple_Check(v) || v->ob_refcnt != 1) {
./Objects/tupleobject.c
if (PyList_Check(seq) && seq->ob_refcnt == 1) {
if (args->ob_refcnt > 1) {
./Python/bltinmodule.c
if (value->ob_refcnt != 1)
./Python/import.c
return PyInt_FromLong((long) arg->ob_refcnt);
./Python/sysmodule.c
--
Vladimir MARANGOZOV | Vladimir.Marangozov(a)inrialpes.fr
http://sirac.inrialpes.fr/~marangoz | tel:(+33-4)76615277 fax:76615252
[View Less]