Prior to this changeset, we used to clear sys.argv before entering the
IPython shell. This caused some versions of IPython to crash because
they assume argv[0] to exist. The correct way of overriding the
arguments passed to IPython is to set the argv keyword argument when
initializing the shell.
def interact(scope):
banner = "gem5 Interactive Console"
- sys.argv = []
try:
from IPython.Shell import IPShellEmbed
- ipshell = IPShellEmbed(banner=banner,user_ns=scope)
+ ipshell = IPShellEmbed(argv=[], banner=banner, user_ns=scope)
ipshell()
except ImportError:
code.InteractiveConsole(scope).interact(banner)