The following gives me weird results:
(Typed into IRB. The results are similar in ruby but because of the 
simple example you get an infinite loop)

=================================
# Allow a continuation to escape
store_cont = proc {|cont| $cont=cont; nil}

puts "[#{callcc &store_cont}]"
# prints '[]', as expected

$cont.call("hello")
# prints '[]hello]'
# expected '[hello]'

$cont.call("world")
# prints '[]hello]world]'
# expected '[world]'
==================================

I tested this with "ruby 1.8.2 (2004-07-16)".

Sam