method eval = begin match history with None -> () | Some h -> let s = self#get_user_text in h#add s end; on_eval ()