Staging
v0.5.1
https://github.com/python/cpython
Revision 8fc4a916658aa4a24f29a6e1b438f910465cc22b authored by Tim Peters on 31 July 2004, 21:53:19 UTC, committed by Tim Peters on 31 July 2004, 21:53:19 UTC
of no more than 8 elements cannot fail.

listpop():  Take advantage of that its calls to list_resize() and
list_ass_slice() can't fail.  This is assert'ed in a debug build now, but
in an icky way.  That is, you can't say:

	assert(some_call() >= 0);

because then some_call() won't occur at all in a release build.  So it
has to be a big pile of #ifdefs on Py_DEBUG (yuck), or the pleasant:

        status = some_call();
        assert(status >= 0);

But in that case, compilers may whine in a release build, because status
appears unused then.  I'm not certain the ugly trick I used here will
convince all compilers to shut up about status (status is always "used" now,
as the first (ignored) clause in a comma expression).
1 parent c0cbc86
History
Tip revision: 8fc4a916658aa4a24f29a6e1b438f910465cc22b authored by Tim Peters on 31 July 2004, 21:53:19 UTC
list_ass_slice(): Document the obscure new intent that deleting a slice
Tip revision: 8fc4a91
File Mode Size
Demo
Doc
Grammar
Include
Lib
Mac
Misc
Modules
Objects
PC
PCbuild
Parser
Python
RISCOS
Tools
.cvsignore -rw-r--r-- 109 bytes
.hgtags -rw-r--r-- 2.2 KB
LICENSE -rw-r--r-- 12.9 KB
Makefile.pre.in -rw-r--r-- 31.6 KB
README -rw-r--r-- 48.3 KB
aclocal.m4 -rw-r--r-- 2.1 KB
configure -rwxr-xr-x 509.4 KB
configure.in -rw-r--r-- 84.1 KB
install-sh -rwxr-xr-x 7.0 KB
pyconfig.h.in -rw-r--r-- 23.5 KB
setup.py -rw-r--r-- 51.9 KB

README

back to top