Commit Graph

2298 Commits

Author SHA1 Message Date
Martin v. Löwis 725507b52e Change int to Py_ssize_t in several places.
Add (int) casts to silence compiler warnings.
Raise Python exceptions for overflows.
2006-03-07 12:08:51 +00:00
Neal Norwitz f2e0c45492 Fix warnings on x86 (32-bit). 2006-03-06 23:31:27 +00:00
Neal Norwitz 3e90fa5940 Try to cleanup the error handling a bit so there aren't false positives
from static analysis.  v was already checked for NULL above, so we don't
need a second check.
2006-03-06 23:07:34 +00:00
Martin v. Löwis 99b93c2824 Use %Id for size_t-ish things on Win64. 2006-03-05 05:33:54 +00:00
Neal Norwitz 4281cef205 Use Py_ssize_t for _Py_RefTotal.
I tried to handle Win64 properly, but please review.
2006-03-04 19:58:13 +00:00
Neal Norwitz 9589ee276a Tabify 2006-03-04 19:01:22 +00:00
Neal Norwitz e92fba0a12 Get rid of run_err_mod(). It was only used in two places.
One place it wasn't necessary since mod was already checked.
Inline the check that mod != NULL for the other use.
2006-03-04 18:52:26 +00:00
Neal Norwitz 10be2ea85d SF bug 1442442: LIST_APPEND optimization got lost in the AST merge.
Add it back.
2006-03-03 20:29:11 +00:00
Neal Norwitz 9742f27a9a Remove commented code 2006-03-03 19:13:57 +00:00
Brett Cannon 3909ff69e2 Text moved to PEP 339. 2006-03-02 22:08:16 +00:00
Brett Cannon 5118517c16 Fix minor docstring typo. 2006-03-02 22:07:40 +00:00
Tim Peters f6386306fb Document the purpose of the struct _block members. 2006-03-02 21:41:18 +00:00
Tim Peters 6fd92dc44f Added words about what PyArena_Malloc() does. 2006-03-02 21:14:45 +00:00
Tim Peters 8cfaa0e729 Trimmed trailing whitespace. 2006-03-02 20:37:32 +00:00
Brett Cannon 2e63b73a2c Fix refleak in PyErr_Display(). 2006-03-02 18:34:57 +00:00
Neal Norwitz d9cf85f421 Fix refleak if from __future__ import was not first 2006-03-02 08:08:42 +00:00
Neal Norwitz 814e938d08 Use Py_ssize_t since we are working with list size below 2006-03-02 07:54:28 +00:00
Brett Cannon 46872b1613 Add a missing Py_DECREF to BaseException__unicode__ . 2006-03-02 04:31:55 +00:00
Neal Norwitz 3a5468efb0 Update known issues to reflect reality 2006-03-02 04:06:10 +00:00
Martin v. Löwis 03e5bc02c9 Fix memory leak on attributes. 2006-03-02 00:31:27 +00:00
Thomas Wouters 695934a0ef Make Py_ssize_t clean. 2006-03-01 23:49:13 +00:00
Martin v. Löwis 49c5da1d88 Patch #1440601: Add col_offset attribute to AST nodes. 2006-03-01 22:49:05 +00:00
Thomas Wouters 7464b43e41 Fix incompatible assignment warning from previous checkin. 2006-03-01 22:34:09 +00:00
Thomas Wouters 7f401ef73d Fix gcc (4.0.x) warning about use of uninitialized variables.
(PyMarshal_ReadShortFromFile() is only used in zipimport.c, I don't believe
the extra initializations will matter one way or another.)
2006-03-01 22:30:47 +00:00
Brett Cannon 54ac29497e Document PEP 352 changes. Also added GeneratorExit. 2006-03-01 22:10:49 +00:00
Thomas Wouters 65b3dab50e Fix uninitialized value. (Why are we using bools instead of ints, like we do
everywhere else?)
2006-03-01 22:06:23 +00:00
Martin v. Löwis 0b300be895 Fix more memory leaks. Will backport to 2.4. 2006-03-01 21:33:54 +00:00
Thomas Wouters c3547a311e Fix C99-ism, and add XXX to comment 2006-03-01 21:31:21 +00:00
Martin v. Löwis 056a69cba6 Reconst parameters that lost their const in the AST merge. 2006-03-01 16:55:42 +00:00
Jeremy Hylton e9357b21c0 Tabify and reflow some long lines.
Much of the peephole optimizer is now indented badly, but it's about
to be revised anyway.
2006-03-01 15:47:05 +00:00
Jeremy Hylton 224003baef Add missing DECREF. 2006-03-01 15:02:24 +00:00
Thomas Wouters 572a9f32dc Use %zd format characters for Py_ssize_t types. 2006-03-01 05:38:39 +00:00
Thomas Wouters 7f59732716 Put back the essence of Jeremy's original XXX comment. 2006-03-01 05:32:33 +00:00
Brett Cannon bf36409e2a PEP 352 implementation. Creates a new base class, BaseException, which has an
added message attribute compared to the previous version of Exception.  It is
also a new-style class, making all exceptions now new-style.  KeyboardInterrupt
and SystemExit inherit from BaseException directly.  String exceptions now
raise DeprecationWarning.

Applies patch 1104669, and closes bugs 1012952 and 518846.
2006-03-01 04:25:17 +00:00
Martin v. Löwis 762467475d Use Py_ssize_t for PyArg_UnpackTuple arguments. 2006-03-01 04:06:10 +00:00
Neal Norwitz 53d960c010 Don't pollute namespace as bad as before. All the types are static now. 2006-02-28 22:47:29 +00:00
Thomas Wouters 8ae1295c5b Make 'as' an actual keyword when with's future statement is used. Not
actually necessary for functionality, but good for transition.
2006-02-28 22:42:15 +00:00
Neal Norwitz 090b3dde06 No need to export PySTEntry_New, it is only used in symtable.c 2006-02-28 22:36:46 +00:00
Guido van Rossum 1a5e21e033 Updates to the with-statement:
- New semantics for __exit__() -- it must re-raise the exception
  if type is not None; the with-statement itself doesn't do this.
  (See the updated PEP for motivation.)

- Added context managers to:
  - file
  - thread.LockType
  - threading.{Lock,RLock,Condition,Semaphore,BoundedSemaphore}
  - decimal.Context

- Added contextlib.py, which defines @contextmanager, nested(), closing().

- Unit tests all around; bot no docs yet.
2006-02-28 21:57:43 +00:00
Thomas Wouters 5e9f1fa706 Generally inehrit codeflags that are in PyCF_MASK, instead of writing it out
in multiple places. This makes compile()/eval()/etc also inherit the
absolute-import codeflag, like division and with-statement already were.
2006-02-28 20:02:27 +00:00
Jeremy Hylton 56820c2bab Add some stats collection in debugging mode.
No good way to extract output yet.
2006-02-28 19:57:06 +00:00
Thomas Wouters 34aa7ba114 from __future__ import with_statement addon for 'with', mostly written by
Neal.
2006-02-28 19:02:24 +00:00
Jeremy Hylton 99b4ee6373 Use simple PyList to implement list of PyObject pointers 2006-02-28 18:52:28 +00:00
Jeremy Hylton 08533fdad6 Tabify 2006-02-28 18:29:00 +00:00
Jeremy Hylton a829313d7b Remove asdl_seq_APPEND() and simplify asdl seq implementation.
Clarify intended use of set_context() and check errors at all call sites.
2006-02-28 17:58:27 +00:00
Jeremy Hylton 77f1bb2778 Real arena implementation
Replace the toy arena implementation with a real one,
based on allocating 8K chunks of memory by default.
2006-02-28 17:53:04 +00:00
Thomas Wouters f7f438ba3b SF patch #1438387, PEP 328: relative and absolute imports.
- IMPORT_NAME takes an extra argument from the stack: the relativeness of
   the import. Only passed to __import__ when it's not -1.

 - __import__() takes an optional 5th argument for the same thing; it
   __defaults to -1 (old semantics: try relative, then absolute)

 - 'from . import name' imports name (be it module or regular attribute)
   from the current module's *package*. Likewise, 'from .module import name'
   will import name from a sibling to the current module.

 - Importing from outside a package is not allowed; 'from . import sys' in a
   toplevel module will not work, nor will 'from .. import sys' in a
   (single-level) package.

 - 'from __future__ import absolute_import' will turn on the new semantics
   for import and from-import: imports will be absolute, except for
   from-import with dots.

Includes tests for regular imports and importhooks, parser changes and a
NEWS item, but no compiler-package changes or documentation changes.
2006-02-28 16:09:29 +00:00
Martin v. Löwis ace990cf5a Regenerate. 2006-02-28 00:32:31 +00:00
Brett Cannon a7446e3438 Check the return code for PyErr_Warn() when warning about raising string
exceptions.  This was triggered when 'warnings' had a filter set to "error"
that caught the string exception deprecation warning.
2006-02-27 23:39:10 +00:00
Tim Peters a7444f47b2 PyErr_ProgramText(): Grrrrrr.
In a Windows debug build, trying to open a file using
an empty string as the name causes assertion death
inside MS's C runtime code.  We probably need to worm
around that in many places.  I'm worming around it here
to stop the new test_with.py from assert-dying in the
Windows debug build (it calls compile() with an empty
string for "the file name", which indirectly leads to
C-level code in Python trying to fopen("", "r")).
2006-02-27 23:29:46 +00:00