Commit Graph

21966 Commits

Author SHA1 Message Date
Tim Peters 84c1b97467 _PyMalloc_{Malloc, Realloc}: Strive to meet the doc's promises about
what these do given a 0 size argument.  This is so that when pymalloc
is enabled, we don't need to wrap pymalloc calls in goofy little
routines special-casing 0.  Note that it's virtually impossible to meet
the doc's promise that malloc(0) will never return NULL; this makes a
best effort, but not an insane effort.  The code does promise that
realloc(not-NULL, 0) will never return NULL (malloc(0) is much harder).

_PyMalloc_Realloc:  Changed to take over all requests for 0 bytes, and
rearranged to be a little quicker in expected cases.

All over the place:  when resorting to the platform allocator, call
free/malloc/realloc directly, without indirecting thru macros.  This
should avoid needing a nightmarish pile of #ifdef-ery if PYMALLOC_DEBUG
is changed so that pymalloc takes over all Py(Mem, Object} memory
operations (which would add useful debugging info to PyMem_xyz
allocations too).
2002-04-04 04:44:32 +00:00
Fred Drake 243ea71669 Correct the descriptions of the PyObject_As*Buffer() return values.
This closes SF bug #539081.
2002-04-04 04:10:36 +00:00
Guido van Rossum 645a22e007 As Neal pointed out, bool_print was an order of magnitude too complex. 2002-04-04 01:00:42 +00:00
Tim Peters b5080abbbe Repair the Windows build (needs to compile in the new boolobject code). 2002-04-04 00:02:02 +00:00
Guido van Rossum 5f8203679d Oops. Here are the new files. My apologies. 2002-04-03 23:01:45 +00:00
Andrew M. Kuchling 3a52ff6df4 Add empty section for bool 2002-04-03 22:44:47 +00:00
Guido van Rossum 77f6a65eb0 Add the 'bool' type and its values 'False' and 'True', as described in
PEP 285.  Everything described in the PEP is here, and there is even
some documentation.  I had to fix 12 unit tests; all but one of these
were printing Boolean outcomes that changed from 0/1 to False/True.
(The exception is test_unicode.py, which did a type(x) == type(y)
style comparison.  I could've fixed that with a single line using
issubtype(x, type(y)), but instead chose to be explicit about those
places where a bool is expected.

Still to do: perhaps more documentation; change standard library
modules to return False/True from predicates.
2002-04-03 22:41:51 +00:00
Jack Jansen e9c0358bf4 e macresource.need() to open the W resource file in the application init
code (if it isn't open already).

PythonIDE still opens the resource file "manually" because it also uses
presence of the CURS resource to determine whether it needs to adjust
sys.path.
2002-04-03 21:52:10 +00:00
Fred Drake 71cc46e7e1 Slight modernization. 2002-04-03 21:47:47 +00:00
Fred Drake cd874edaaa Fix the names of the classmethod and staticmethod constructors as passed to
PyArg_ParseTuple() as part of the format string.
2002-04-03 21:42:45 +00:00
Fred Drake a2bd8d3816 Remove direct manipulation of the module dict. 2002-04-03 21:39:26 +00:00
Jack Jansen 8f3078b3f0 Got the example program to work in MachoPython. 2002-04-03 21:28:02 +00:00
Fred Drake b81fbad9c0 Updated PEP link to point to the now-canonical site. 2002-04-03 02:52:50 +00:00
Fred Drake dbfe768f66 Update the PEP URL format to point to python.org. 2002-04-03 02:47:14 +00:00
Guido van Rossum d464107ecf Fold some long lines. Delete blank initial line. 2002-04-03 02:13:37 +00:00
Mark Hammond e7fefbf68d Fix bugs:
457466: popenx() argument mangling hangs python
 226766: popen('python -c"...."') tends to hang

Fixes argument quoting in w9xpopen.exe for Windows 9x.  w9xpopen.exe
also never attempts to display a MessageBox when not executed
interactively.

Added test_popen() test.  This test currently just executes
"python -c ..." as a child process, and checks that the expected
arguments were all recieved correctly by the child process.  This
test succeeds for me on Win9x, win2k and Linux, and I hope it does
for other popen supported platforms too :)
2002-04-03 01:47:00 +00:00
Neal Norwitz b0aaec5706 Convert more METH_OLDARGS & PyArg_Parse()
Please review.
2002-04-02 18:26:33 +00:00
Neal Norwitz 187ae56166 Get rid of more PyArg_Parse & METH_OLDARGS.
PyArg_Parse( "s" )  -> PyString_AsString
  PyArg_Parse( "t#" ) -> PyString_AsStringAndSize
2002-04-02 18:17:57 +00:00
Guido van Rossum 155db9aa22 SF patch 537536 by Phillip J. Eby, fix for SF bug 535444, super()
broken w/ classmethods.

Bugfix candidate.
2002-04-02 17:53:47 +00:00
Fred Drake 103b548a76 Add a note warning against semicolons following PyObject_HEAD.
Minor cleanups.
2002-04-02 15:42:46 +00:00
Guido van Rossum 64e5aa9391 Fix for a bug in the fix for SF bug 503031. This time the OP verified
that it works.

Bugfix candidate (this and the previous checkin, obviously).
2002-04-02 14:38:16 +00:00
Andrew M. Kuchling 45afd54c8f Add an item 2002-04-02 14:25:25 +00:00
Fred Drake aee113d368 Add an experimental mechanism to support extending the pprint formatting.
Partly responds to SF bug #505152.
2002-04-02 05:08:35 +00:00
Fred Drake 4993c51b94 Make test_commands work on more systems. This removes much of the dependency
on how a system is configured.
This closes SF bug #497160 (which has the patch) and #460613.

Bugfix candidate.
2002-04-01 23:56:03 +00:00
Fred Drake 4dfb7a81c1 Explain that os.spawn*() return the process handle on Windows.
Clarify that os.waitpid() on Windows takes a process handle, not a process ID.
This closes SF bug #537582.
2002-04-01 23:30:47 +00:00
Fred Drake d764b0a484 There is no PyArg_ConvertTuple(); call it by the right name.
This closes SF bug #537511.
2002-04-01 23:12:25 +00:00
Fred Drake d5a072f2eb Fix up the documentation of the type codes to give both the C and Python
types for each code, and give the actual C types.

Clarified the support for slice operations and note when some TypeError
exceptions are raised.

This closes SF bugs 518767 and 536469.
2002-04-01 23:05:10 +00:00
Jeremy Hylton 88955cbe1f Change reference to execframes to naming. 2002-04-01 21:34:28 +00:00
Jeremy Hylton e604875b81 Restore a minimal definition of execution frame, since other parts of
the manual refer to it.

XXX Not sure that it belongs in this section, or that the concept is
particularly important for writing documentation.  Perhaps references
to the frame should be removed entirely.
2002-04-01 21:33:55 +00:00
Jeremy Hylton 1824b59e89 Update programmer's note on nested functions. 2002-04-01 21:30:15 +00:00
Jeremy Hylton f3255c8540 Reword explanation of global statement since an undeclared global is a
free variable and is subject to those rules.
2002-04-01 21:25:32 +00:00
Jeremy Hylton f0c1f1badb Note the sole case in which the ban on "from ... import *" within a
function is enforced.
2002-04-01 21:19:44 +00:00
Jeremy Hylton 15b68976da Remove the following restriction:
Names bound by import statements may not occur in global
    statements in the same scope.

Why not?
2002-04-01 21:18:02 +00:00
Jeremy Hylton d09ed68aeb Note that it is illegal to delete a cell variable.
Note that deleteing an unbound local will raise a NameError.
2002-04-01 21:15:14 +00:00
Jeremy Hylton 2225add242 Given lambda its own section, instead of burying it in boolean operators. 2002-04-01 21:05:21 +00:00
Jeremy Hylton 53ed917d3a Update / simplify Identifiers section for nested scopes.
How do I create a cross reference to section 4.1?
2002-04-01 20:52:24 +00:00
Jeremy Hylton e7d5773ed0 Update docs for nested scopes.
Replace section 4.1 with section A.3.

The new section 4.1 is titled "Naming and binding."  It includes the
text of section A.3 augmented with some of the detailed text from the
old section 4.1.

The \dfn, \index stuff is probably wrong, but I tried.

Also update other parts of appendix A to mention that nested scopes
and generators are standard features.
2002-04-01 20:38:01 +00:00
Fred Drake f54519d9e4 Update to push the docs to python.org instead of python.sf.net. 2002-04-01 20:15:05 +00:00
Tim Peters 6169f09d64 Fixed errors in two comments. 2002-04-01 20:12:59 +00:00
Andrew M. Kuchling f4dd65db1d Copy section on generators from the 2.2 document with a bit of rewriting
Add an item
2002-04-01 19:28:09 +00:00
Tim Peters 338e010b45 Restructured my pool-management overview in terms of the three
possible pool states.  I think it's much clearer now.

Added a new long overdue block-management overview comment block.

I believe the comments are in good shape now.

Added two comments about possible small optimizations (one getting rid
of runtime multiplications at the cost of a new pool_header member; the
other getting rid of runtime divisions and the pool_header capacity
member, at the cost of a static const vector of 32 uints).
2002-04-01 19:23:44 +00:00
Andrew M. Kuchling 9da3efd120 Mention 2.2.1 in intro and in bug/patch counts
Fix two typos spotted by Joonas Paalasmaa
2002-04-01 19:22:34 +00:00
Neal Norwitz 05c09d08f9 Format strings (tuples,) appropriately 2002-04-01 19:01:39 +00:00
Neal Norwitz 28bb572ab4 Use attributes appropriately 2002-04-01 19:00:50 +00:00
Neal Norwitz b1295da59e There is no TestError, use TestFailed appropriately 2002-04-01 18:59:20 +00:00
Jeremy Hylton 8392f36579 Update documentation of code objects.
Split the description of co_flags into two paragraphs.  The first
describes the flags that are used for non-future purposes, where
CO_GENERATOR was added.  The second describes __future__'s use of
co_flags and mentions the only one currently meaningful,
CO_FUTURE_DIVISION.
2002-04-01 18:53:36 +00:00
Fred Drake c9319b37a5 Minor adjustments. 2002-04-01 18:49:45 +00:00
Jeremy Hylton 26c49b66bb Small fixes for description of function attributes.
func_closure is a readonly attribute.
Add \ttindex{} for func_closure.
Remove discussion of func_closure specific to 2.1.
2002-04-01 17:58:39 +00:00
Martin v. Löwis 2f6ef4c630 Reindent. Break long lines. Move comments before the statements. 2002-04-01 17:40:08 +00:00
Fred Drake 4baedc1d9b Use the PyModule_Add*() APIs instead of manipulating the module dict
directly.
2002-04-01 14:53:37 +00:00