anchor.diff:  -include("ee_pubsub.hrl").
   
   -record(main_window, {window, status_bar}).
  --record(state, {win = #main_window{}, doc_set = #ee_doc_set{}}).
  +-record(blink_caret, {state = on, timer}).
  +-record(state, {win = #main_window{}, doc_set = #ee_doc_set{}, blink_caret = #blink_caret{}}).
  +
  +-define(BLINK_INTERVAL, 300).
   
   %% ===================================================================
   %% API
  
positive.code: 	{SpaceWidth, LineHeight} = wxDC:getTextExtent(DC, " "),
  	ok = wxDC:clear(DC),
  	ok = draw_buffer_lines(DC, Buffer, LineHeight, SpaceWidth),
  	ok = draw_caret(DC, Buffer, Caret, LineHeight, SpaceWidth),
  	wxFont:destroy(Font),
  	wxPaintDC:destroy(DC),
  	ok.
  
negative.code: handle_info(#wx{event = #wxClose{}}, #state{win = #main_window{window = Window}} = State) ->
  	wxWindow:destroy(Window),
  	{stop, normal, State};
  handle_info(#wx{event = #wxKey{} = KeyEvent}, #state{blink_caret = BlinkCaret0} = State) ->
  	BlinkCaret1 = blink_caret_reset(BlinkCaret0),
  	{noreply, handle_key(KeyEvent, State#state{blink_caret = BlinkCaret1})};
  handle_info(#ee_pubsub_message{message = {document_inserted, DocPid}}, #state{win = #main_window{window = Window}, doc_set = DocSet0} = State) ->
  	{ok, DocSet1} = ee_doc_set:add_focus_document_view(DocSet0, DocPid),
  	ee_buffer_server:add_subscriber(DocPid, self()),
  