diff options
| author | Phillip J. Eby <pje@telecommunity.com> | 2006-04-11 01:07:43 (GMT) | 
|---|---|---|
| committer | Phillip J. Eby <pje@telecommunity.com> | 2006-04-11 01:07:43 (GMT) | 
| commit | 470321108019367e3bdd96309e89d79f04784d45 (patch) | |
| tree | 67bb4c26a4a2e14eef1999eed390091620a850fa /Lib/warnings.py | |
| parent | 7731dfdaad96c519d80823782ca4c81d09466e8d (diff) | |
| download | cpython-470321108019367e3bdd96309e89d79f04784d45.zip cpython-470321108019367e3bdd96309e89d79f04784d45.tar.gz cpython-470321108019367e3bdd96309e89d79f04784d45.tar.bz2  | |
Updated the warnings, linecache, inspect, traceback, site, and doctest modules
to work correctly with modules imported from zipfiles or via other PEP 302
__loader__ objects.  Tests and doc updates are included.
Diffstat (limited to 'Lib/warnings.py')
| -rw-r--r-- | Lib/warnings.py | 10 | 
1 files changed, 8 insertions, 2 deletions
diff --git a/Lib/warnings.py b/Lib/warnings.py index e622b9a..bc0b818 100644 --- a/Lib/warnings.py +++ b/Lib/warnings.py @@ -58,10 +58,11 @@ def warn(message, category=None, stacklevel=1):          if not filename:              filename = module      registry = globals.setdefault("__warningregistry__", {}) -    warn_explicit(message, category, filename, lineno, module, registry) +    warn_explicit(message, category, filename, lineno, module, registry, +                  globals)  def warn_explicit(message, category, filename, lineno, -                  module=None, registry=None): +                  module=None, registry=None, module_globals=None):      if module is None:          module = filename or "<unknown>"          if module[-3:].lower() == ".py": @@ -92,6 +93,11 @@ def warn_explicit(message, category, filename, lineno,      if action == "ignore":          registry[key] = 1          return + +    # Prime the linecache for formatting, in case the +    # "file" is actually in a zipfile or something. +    linecache.getlines(filename, module_globals) +      if action == "error":          raise message      # Other actions  | 
