anchor.diff:  -define(UnknownCommand,<<"Unknown command">>).
   -define(NoPendingUpdates,<<"No pending changes">>).
   -define(PassThroughOnlyRestart,<<"Only restart & passthrough are allowed in passthrough state">>).
  +-define(PtNoSort,<<"Passthrough can't be used in sorted tables">>).
   
   
   %% gen_fsm callbacks
  
positive.code:     Fsm = {?MODULE,self()},
      Fsm:rows({Rows,Completed}),
      {next_state, SN, State, infinity};
  handle_info(cmd_stack_timeout, tailing, #state{stack={button, <<"tail">>, RT}}=State) ->
      % we didn't get any new data to send, so we reply with nop.
      ?NoDbLog(debug, [], "Tail timeout, replying with nop", []),
      State1 = gui_nop(#gres{state=tailing, loop= <<"tail">>, focus=-1},State#state{stack=undefined,replyToFun=RT,tRef=undefined}),
      {next_state, tailing, State1, infinity};
  handle_info({'EXIT', _Pid, Reason} = ExitMsg, _SN, State) ->
      ?Debug("~p received exit message ~p", [self(), ExitMsg]),
      {stop, Reason, State};
  
negative.code:     % skip fetch, schedule tail
      State1 = fetch(skip,true, State0#state{tailMode=true,tailLock=false}),
      {next_state, tailing, State1#state{stack={button,<<"...">>,ReplyTo}}};
  empty({button, <<"pt">>, ReplyTo}, #state{nav=ind}=State0) ->
      % reject command because of uncommitted changes
      State1 = gui_nop(#gres{state=empty,beep=true,message= ?PtNoSort},State0#state{replyToFun=ReplyTo}),
      {next_state, empty, State1};
  empty({button, <<"pt">>, ReplyTo}, State0) ->
      % passthrough, schedule tail
      State1 = fetch(push,true, State0#state{tailMode=true,tailLock=false}),
  