anchor.diff:  rm_dupl([],Acc) ->
       lists:reverse(Acc).
   
  -get_timeout(Opts) ->
  -    case lists:keysearch(timeout,1,Opts) of
  -	{value,{timeout,T}} -> T;
  -	false -> ?DEFAULT_TIMEOUT
  -    end.
  +get_timeouts(Opts) ->
  +    {case lists:keysearch(idle_timeout,1,Opts) of
  +	 {value,{_,T}} ->
  +	     T;
  +	 false ->
  +	     %% this check is for backwards compatibility (pre CT v1.8)
  +	     case lists:keysearch(timeout,1,Opts) of
  +		 {value,{_,T}} -> T;
  +		 false -> ?DEFAULT_TIMEOUT
  +	     end
  +     end,
  +     case lists:keysearch(total_timeout,1,Opts) of
  +	 {value,{_,T}} -> T;
  +	 false -> infinity
  +     end}.
  +
   get_repeat(Opts) ->
       case lists:keysearch(repeat,1,Opts) of
   	{value,{repeat,N}} when is_integer(N) ->
  
positive.code:     Seq = get_seq(Opts),
      Pattern = convert_pattern(Pattern0,Seq),
  
      Timeout = get_timeout(Opts),
  
      EO = #eo{teln_pid=Pid,
  	     prx=Prx,
  	     timeout=Timeout,
  	     seq=Seq,
  	     haltpatterns=HaltPatterns,
  	     prompt_check=PromptCheck},
  
negative.code: 			       State#state.buffer,
  			       prompt,
  			       State#state.prx,
  			       [{idle_timeout,2000}]);
  	{ip,false} -> 
  	    silent_teln_expect(State#state.name,
  			       State#state.teln_pid,
  			       State#state.buffer,
  			       prompt,
  			       State#state.prx,
  			       [{idle_timeout,200}]);
  	{ip,true} ->
  	    ok
      end,
  