According to the docs, I should be able to define a macro and store it. Then, the macro will be available the next time I start the IPython shell. But, it doesn't work:

In [4]: print "Foobarbatbizbuzzbonk"
Foobarbatbizbuzzbonk

In [5]: %macro foo 4
Macro `foo` created. To execute, type its name (without quotes).
=== Macro contents: ===
print "Foobarbatbizbuzzbonk"

In [6]: %store foo
Stored 'foo' (Macro)

In [7]: quit()

When I start the IPython shell again, no macros:

In [1]: foo
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-1-d3b07384d113> in <module>()
----> 1 foo

NameError: name 'foo' is not defined

In [2]: %macro
Out[2]: []

Does anyone know why this doesn't work?

Edit
Report