# File lib/interact/rewindable.rb, line 39 def ask(question, options = {}) rewind = HAS_CALLCC if rewind prompt, answer = callcc { |cc| [cc, nil] } else prompt, answer = nil, nil end if answer options[:default] = answer end prompts = (@__prompts ||= []) options[:prompts] = prompts ans = super if rewind prompts << [prompt, options[:forget] ? nil : ans] end ans end