[Python-ideas] Proporsal: Show an alert in traceback when the source file is newer than compiled code (issue8087)

Michael Foord fuzzyman at gmail.com
Sat Oct 8 00:59:42 CEST 2011


On 7 October 2011 20:53, Diego Mascialino <dmascialino at gmail.com> wrote:

> Hello,  I opened this issue a long time ago, and Éric Araujo said that
> it should be discussed on this list.
>
> This is my feature request message:
>
>
> Example:
>
> ---------------- mod.py ----------------
> def f():
>    a,b,c = 1,2
>    print b
> ----------------------------------------
>
> If i do:
>
> >>> import mod
> >>> mod.f()
>
> I get:
>
> Traceback (most recent call last):
>  File "<stdin>", line 1, in <module>
>  File "mod.py", line 2, in f
>    a,b,c = 1,2
> ValueError: need more than 2 values to unpack
>
>
> If i fix the source:
>
> ---------------- mod.py ----------------
> def f():
>    a,b,c = 1,2,3
>    print b
> ----------------------------------------
>
> And do:
>
> >>> mod.f()
>
> I get:
>
> Traceback (most recent call last):
>  File "<stdin>", line 1, in <module>
>  File "mod.py", line 2, in f
>    a,b,c = 1,2,3
> ValueError: need more than 2 values to unpack
>
>
> The problem is that the source shown is updated, but the executed code
> is old, because it wasn't reloaded.
>
> Feature request:
>
> If the source code shown was modified after import time and it wasn't
> reloaded, a warning message should be shown.
>
> Example:
>
> Traceback (most recent call last):
>  File "<stdin>", line 1, in <module>
>  File "mod.py", line 2, in f      WARNING: Modified after import!
>    a,b,c = 1,2,3
> ValueError: need more than 2 values to unpack
>
> or something like that.
>

That would mean every function call would need to check the age of the
source file and bytecode file on disk and compare!

Michael


>
>
> Thanks,
> Diego Mascialino
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> http://mail.python.org/mailman/listinfo/python-ideas
>



-- 

http://www.voidspace.org.uk/

May you do good and not evil
May you find forgiveness for yourself and forgive others
May you share freely, never taking more than you give.
-- the sqlite blessing http://www.sqlite.org/different.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20111007/cd1ef1d4/attachment.html>


More information about the Python-ideas mailing list