If I have a file named test.py with
in it, and if I do this in ipython:
a = 1
it'll complain that it doesn't know a, because the environment is different. Any way Ipython could implement a bash-like "source" command that'll treat the script just as if it was entered in the interpreter? That kind of stuff is especially useful when using ipython as a matlab-like environment for scientific computing (do some computation, and then some plots of it or something)
It's already there: %run -i test.py.
%run -i test.py
There's a long paragraph in the docstring describing the normal behaviour before we explain the -i option, but I'm not sure if it can easily be improved.
Agreed, I think it's OK to leave it closed, the behavior is completely consistent: run?? is showing the correct sources, it's just that in this case the source is a wrapper around the original. But with run? showing the true docstring, it's working as desigined.