ipython/ipython — Issue #906: qtconsoleapp 'parse_command_line' doen't like --existing anymore
Author: Carreau
Created: 2011-10-20 13:57:59+00:00
State: open

on master (87e2f91dfe24f759db1a234054cd6a8700a5a2b3) Debian squeeze, with some wheezy and sid packages, X forwarding

launching a qtconsole,
python ipython.py qtconsole
and in another
python ipython.py qtconsole --existing kernel-9886.json

rise the following:

```
Traceback (most recent call last):
File "ipython.py", line 21, in
this_dir, 'IPython', 'scripts', 'ipython'
File "IPython/scripts/ipython", line 7, in
launch_new_instance()
File "IPython/frontend/terminal/ipapp.py", line 390, in launch_new_instance
app.initialize()
File "IPython/frontend/terminal/ipapp.py", line 291, in initialize
super(TerminalIPythonApp, self).initialize(argv)
File "IPython/core/application.py", line 310, in initialize
self.parse_command_line(argv)
File "IPython/frontend/terminal/ipapp.py", line 287, in parse_command_line
return super(TerminalIPythonApp, self).parse_command_line(argv)
File "IPython/config/application.py", line 388, in parse_command_line
return self.initialize_subcommand(subc, subargv)
File "IPython/config/application.py", line 332, in initialize_subcommand
self.subapp.initialize(argv)
File "IPython/frontend/qt/console/qtconsoleapp.py", line 558, in initialize
super(IPythonQtConsoleApp, self).initialize(argv)
File "IPython/core/application.py", line 310, in initialize
self.parse_command_line(argv)
File "IPython/frontend/qt/console/qtconsoleapp.py", line 351, in parse_command_line
self.kernel_argv.remove(a)
ValueError: list.remove(x): x not in list
```
my guess is that at line 331 and 339 the two `for a in argv:` both match on a flag in `argv` (which is a copy of `self.kernel_argv`, line 331) and try to remove `a` from it twice... hence the crash.

I can fix it, but I'm not sure it will be the only place where this might append...