ion, draw and show?

Hi,
  I have some confusion about ion/ioff, draw() and show(). After
drawing a figure I need to make it show up on the screen without
calling show() and entering the main loop. Here's the code that works:
ion()
l = plot(arange(10),2.*arange(10))
draw()
raw_input('pause')

However, if I remove ion() or place ion() after the plot() or draw()
commands, no figure is shown on the screen. This sucks because any
operation after ion() will be significantly slowed down before a call
to ioff(). I'm not sure if it's a bug that draw() does not update the
screen in ioff() mode.

Any tips?
Zhang Le