anchor.diff:  -define(TEXT_MARGIN_START, (?NUMBER_MARGIN_START + ?NUMBER_MARGIN_WIDTH)).
   -define(TEXT_MARGIN_WIDTH, 15).
   -define(TEXT_AREA_START, (?TEXT_MARGIN_START + ?TEXT_MARGIN_WIDTH)).
  --define(WXK_CTRL_N, 14).
  --define(WXK_CTRL_O, 15).
  --define(WXK_CTRL_Q, 17).
  --define(WXK_CTRL_S, 19).
  --define(WXK_CTRL_W, 23).
  -
   
   %% ===================================================================
   %% API
  
positive.code: 	%% TODO: Simplify this caret movement.
  	Caret1 = ee_caret:move_to(Caret0#ee_caret{col_no = ColNo + 1}, Buffer),
  	DocSet1 = DocSet0#ee_doc_set{focus_doc = FocusDoc#ee_doc_view{caret = Caret1}},
  	State#state{doc_set = DocSet1};
  handle_key(#wxKey{} = KeyEvent, State) ->
  	io:format("Ignored key event: ~p~n", [KeyEvent]),
  	State.
  
  create_window() ->
  	%% Create the window.
  
negative.code: 	wxFrame:show(Window),
  	wxFrame:maximize(Window),
  	#main_window{window = Window, status_bar = StatusBar}.
  
  handle_wx_event(WxMessage, WxEvent) ->
  	case gen_server:call(?MODULE, WxMessage) of
  		skip -> 
  			wxEvent:skip(WxEvent),
  			ok;
  		ok ->
  			ok
  	end.
  
  handle_paint(#wx{obj = Window}, _WxObject) ->
  	{Buffer, Caret, BlinkCaretState} = gen_server:call(?MODULE, {get_buffer}),
  