anchor.diff:  %%%      Prompt = string()
   %%%      Tag = term()
   %%%      Opts = [Opt]
  -%%%      Opt = {timeout,Timeout} | repeat | {repeat,N} | sequence |
  -%%%            {halt,HaltPatterns} | ignore_prompt | no_prompt_check
  -%%%      Timeout = integer()
  +%%%      Opt = {idle_timeout,IdleTimeout} | {total_timeout,TotalTimeout} |
  +%%%            repeat | {repeat,N} | sequence | {halt,HaltPatterns} |
  +%%%            ignore_prompt | no_prompt_check
  +%%%      IdleTimeout = infinity | integer()
  +%%%      TotalTimeout = infinity | integer()
   %%%      N = integer()
   %%%      HaltPatterns = Patterns
   %%%      MatchList = [Match]
  
positive.code: %% Expect options record
  -record(eo,{teln_pid,
  	    prx,
  	    timeout,
  	    haltpatterns=[],
  	    seq=false,
  	    repeat=false,
  
negative.code: rm_dupl([],Acc) ->
      lists:reverse(Acc).
  
  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) ->
  