287 Commits

Author SHA1 Message Date
Georg Brandl
eec47f3556 Backport fix of #1752175. 2007-08-23 18:08:33 +00:00
Kristján Valur Jónsson
00b0a9e5b2 Undefine the Yield macro after including Python_ast.h where it may cause conflicts with winbase.h on Windows. 2007-05-02 16:02:48 +00:00
Collin Winter
2a98ff8eed Inline PyImport_GetModulesReloading(). Backport from r54368. 2007-03-13 23:04:29 +00:00
Collin Winter
e19d7a3c0a Bug #742342: make Python stop segfaulting on infinitely-recursive reload()s. Fixed by patch #922167.
Backported from r54291.
2007-03-12 16:49:23 +00:00
Neal Norwitz
ece448efa0 Properly handle a NULL returned from PyArena_New().
Klocwork #364.  Will port to head.
2006-09-11 04:06:23 +00:00
Georg Brandl
37a9e579ec Bug #1550983: emit better error messages for erroneous relative
imports (if not in package and if beyond toplevel package).
 (backport from rev. 51765)
2006-09-06 06:09:34 +00:00
Neal Norwitz
3b3aae013b Bug #1520864 (again): unpacking singleton tuples in list comprehensions and
generator expressions (x for x, in ... ) works again.

Sigh, I only fixed for loops the first time, not list comps and genexprs too.
I couldn't find any more unpacking cases where there is a similar bug lurking.
2006-09-05 03:56:01 +00:00
Neal Norwitz
3cb31ac704 cpathname could be NULL if it was longer than MAXPATHLEN. Don't try
to write the .pyc to NULL.

Check results of PyList_GetItem() and PyModule_GetDict() are not NULL.

Klocwork 282, 283, 285
2006-08-13 18:10:47 +00:00
Neal Norwitz
9a70f95ee8 There were really two issues 2006-08-04 05:12:19 +00:00
Neal Norwitz
4ffedadb10 Bug #1191458: tracing over for loops now produces a line event
on each iteration.  I'm not positive this is the best way to handle
this.  I'm also not sure that there aren't other cases where
the lnotab is generated incorrectly.  It would be great if people
that use pdb or tracing could test heavily.

Also:
 * Remove dead/duplicated code that wasn't used/necessary
   because we already handled the docstring prior to entering the loop.
 * add some debugging code into the compiler (#if 0'd out).
2006-08-04 04:58:47 +00:00
Neal Norwitz
0d62a06206 Patch #1531113: Fix augmented assignment with yield expressions.
Also fix a SystemError when trying to assign to yield expressions.
2006-07-30 06:53:31 +00:00
Phillip J. Eby
f7575d0cb7 Bug #1529871: The speed enhancement patch #921466 broke Python's compliance
with PEP 302.  This was fixed by adding an ``imp.NullImporter`` type that is
used in ``sys.path_importer_cache`` to cache non-directory paths and avoid
excessive filesystem operations during imports.
2006-07-28 21:12:07 +00:00
Neal Norwitz
33722aec57 Speel initialise write. Tanks Anthony. 2006-07-21 07:59:02 +00:00
Neal Norwitz
e1fdb32ff2 Handle allocation failures gracefully. Found with failmalloc.
Many (all?) of these could be backported.
2006-07-21 05:32:28 +00:00
Neal Norwitz
c0cde4da2a Fix memory leak under some conditions.
Reported by Klocwork, #98.
2006-07-16 02:17:36 +00:00
Neal Norwitz
a1f1090109 Actually change the MAGIC #. Create a new section for 2.5c1 and mention the impact of changing the MAGIC #. 2006-07-12 07:28:29 +00:00
Neal Norwitz
edef2be4af Bug #1520864: unpacking singleton tuples in for loop (for x, in) work again. 2006-07-12 05:26:17 +00:00
Neal Norwitz
a4df11d9c3 Fix refleaks reported by Shane Hathaway in SF patch #1515361. This change
contains only the changes related to leaking the copy variable.
2006-07-06 04:28:59 +00:00
Georg Brandl
5f6861df93 Correct None refcount issue in Mac modules. (Are they
still used?)
2006-05-28 21:57:35 +00:00
Georg Brandl
0fd1291c38 The empty string is a valid import path.
(fixes #1496539)
2006-05-28 20:11:45 +00:00
Georg Brandl
f4ef11659c Need for speed: Patch #921466 : sys.path_importer_cache is now used to cache valid and
invalid file paths for the built-in import machinery which leads to
  fewer open calls on startup.

  Also fix issue with PEP 302 style import hooks which lead to more open()
  calls than necessary.
2006-05-26 18:03:31 +00:00
Georg Brandl
684fd0c8ec Replace PyObject_CallFunction calls with only object args
with PyObject_CallFunctionObjArgs, which is 30% faster.
2006-05-25 19:15:31 +00:00
Thomas Wouters
9df4e6f673 - Add new Warning class, ImportWarning
- Warn-raise ImportWarning when importing would have picked up a directory
   as package, if only it'd had an __init__.py. This swaps two tests (for
   case-ness and __init__-ness), but case-test is not really more expensive,
   and it's not in a speed-critical section.

 - Test for the new warning by importing a common non-package directory on
   sys.path: site-packages

 - In regrtest.py, silence warnings generated by the build-environment
   because Modules/ (which is added to sys.path for Setup-created modules)
   has 'zlib' and '_ctypes' directories without __init__.py's.
2006-04-27 23:13:20 +00:00
Anthony Baxter
ac6bd46d5c spread the extern "C" { } magic pixie dust around. Python itself builds now
using a C++ compiler. Still lots and lots of errors in the modules built by
setup.py, and a bunch of warnings from g++ in the core.
2006-04-13 02:06:09 +00:00
Thomas Wouters
4bdaa271d6 Fix refleak in __import__("") (probably the cause of the 2 refleaks in
test_builtin.)
2006-04-05 13:39:37 +00:00