[Python-Dev] [Python-checkins] cpython: Close #19379: Lazily import linecache in the warnings module, to make startup

Brett Cannon brett at python.org
Thu Oct 24 22:40:46 CEST 2013


The diff doesn't show an addition to BENCH_GROUPS. Maybe apps?


On Thu, Oct 24, 2013 at 4:24 PM, antoine.pitrou
<python-checkins at python.org>wrote:

> http://hg.python.org/cpython/rev/8939c0196990
> changeset:   86603:8939c0196990
> user:        Antoine Pitrou <solipsis at pitrou.net>
> date:        Thu Oct 24 22:23:42 2013 +0200
> summary:
>   Close #19379: Lazily import linecache in the warnings module, to make
> startup with warnings faster until a warning gets printed.
>
> files:
>   Lib/warnings.py |  6 ++----
>   Misc/NEWS       |  3 +++
>   2 files changed, 5 insertions(+), 4 deletions(-)
>
>
> diff --git a/Lib/warnings.py b/Lib/warnings.py
> --- a/Lib/warnings.py
> +++ b/Lib/warnings.py
> @@ -1,9 +1,5 @@
>  """Python part of the warnings subsystem."""
>
> -# Note: function level imports should *not* be used
> -# in this module as it may cause import lock deadlock.
> -# See bug 683658.
> -import linecache
>  import sys
>
>  __all__ = ["warn", "showwarning", "formatwarning", "filterwarnings",
> @@ -21,6 +17,7 @@
>
>  def formatwarning(message, category, filename, lineno, line=None):
>      """Function to format a warning the standard way."""
> +    import linecache
>      s =  "%s:%s: %s: %s\n" % (filename, lineno, category.__name__,
> message)
>      line = linecache.getline(filename, lineno) if line is None else line
>      if line:
> @@ -233,6 +230,7 @@
>
>      # Prime the linecache for formatting, in case the
>      # "file" is actually in a zipfile or something.
> +    import linecache
>      linecache.getlines(filename, module_globals)
>
>      if action == "error":
> diff --git a/Misc/NEWS b/Misc/NEWS
> --- a/Misc/NEWS
> +++ b/Misc/NEWS
> @@ -21,6 +21,9 @@
>  Library
>  -------
>
> +- Issue #19379: Lazily import linecache in the warnings module, to make
> +  startup with warnings faster until a warning gets printed.
> +
>  - Issue #19327: Fixed the working of regular expressions with too big
> charset.
>
>  - Issue #17400: New 'is_global' attribute for ipaddress to tell if an
> address
>
> --
> Repository URL: http://hg.python.org/cpython
>
> _______________________________________________
> Python-checkins mailing list
> Python-checkins at python.org
> https://mail.python.org/mailman/listinfo/python-checkins
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20131024/9315acfc/attachment.html>


More information about the Python-Dev mailing list