Hi,<br><br>Currently when an IPython log is saved, it contains the command line arguments and options that were passed to IPython.  This allow a log that is being re-played later to have be run with the same command line arguments and options.  While this idea is quite nice, I think we have a *very* leaky abstraction that needs to be plugged in some manner.  Why do I say this is leaky:<br>
<br>* This assumes that the log is created by and re-played by the &quot;ipython&quot; command line program.  As I refactor IPython, there are already becoming *many* ways of running an InteractiveShell instance other than this.  In these other contexts, the &quot;command line arguments&quot; simply don&#39;t make sense anymore.<br>
<br>* The log re-playing code is currently in ipmaker.py.  This is going away entirely.  Of course, the log replay capability doesn&#39;t have to go away.  The best place to put it is in InteractiveShell or some other helper component that manages logs.  But, putting it there further removes it from the traditional command line context.<br>
<br>* The command line information is not a complete specification of the state of IPython that was used to create the log.  Namely config file or other runtime config changes could have dramatically changed the behavior and those things might not be reflected in the log.<br>
<br>So, what should we do with IPython&#39;s log replaying capability:<br><br>* Just remove the saving of the command line args/opts when a log is saved.  This is my preference.<br>* Explore some other, command line independent way of storing IPython&#39;s state in the log file.<br>
* Get rid of log replaying all together.<br>* Something else I haven&#39;t thought of.<br><br>Cheers,<br><br>Brian<br>