anchor.diff:  
   draw_buffer_lines(DC, Buffer, LineHeight, SpaceWidth) ->
   	ee_buffer:foreach_line(Buffer,
  -		fun(Line) -> ok = draw_buffer_line(DC, ee_buffer:get_line_contents(Line), [], 0, (ee_buffer:get_line_number(Line) - 1) * LineHeight, SpaceWidth) end
  +		fun(Line) -> ok = draw_buffer_line(DC, ee_buffer:get_line_contents(Line), [], ?TEXT_AREA_START, (ee_buffer:get_line_number(Line) - 1) * LineHeight, SpaceWidth) end
   		).
   
   draw_buffer_line(DC, [], LiteralCharsRev, XStart, Y, _) ->
  
positive.code: 	LiteralChars = lists:reverse(LiteralCharsRev),
  	{W, _} = wxDC:getTextExtent(DC, LiteralChars),
  	ok = wxDC:drawText(DC, LiteralChars, {XStart, Y}),
  	draw_buffer_line(DC, T, [], (((XStart + W) div (4 * SpaceWidth)) + 1) * (4 * SpaceWidth), Y, SpaceWidth);
  draw_buffer_line(DC, [Char|T], LiteralCharsRev, XStart, Y, SpaceWidth) ->
  	draw_buffer_line(DC, T, [Char|LiteralCharsRev], XStart, Y, SpaceWidth).
  
  draw_caret(DC, Buffer, Caret, LineHeight, SpaceWidth) ->
  	#ee_buffer_coords{line_no = LineNo, line_offset = LineOffset} = ee_caret:caret_to_buffer_coords(Caret, Buffer),
  	Line = ee_buffer:get_line(Buffer, LineNo),
  	draw_caret_on_line(DC, lists:sublist(ee_buffer:get_line_contents(Line), LineOffset - 1), [], 0, (LineNo - 1) * LineHeight, LineHeight, SpaceWidth).
  
  draw_caret_on_line(DC, [], LiteralCharsRev, XStart, Y, H, _) ->
  	LiteralChars = lists:reverse(LiteralCharsRev),
  	{W, _} = wxDC:getTextExtent(DC, LiteralChars),
  	ok = wxDC:drawLine(DC, {XStart + W, Y}, {XStart + W, Y + H});
  draw_caret_on_line(DC, [?ASCII_TAB|T], LiteralCharsRev, XStart, Y, H, SpaceWidth) ->
  	LiteralChars = lists:reverse(LiteralCharsRev),
  	{W, _} = wxDC:getTextExtent(DC, LiteralChars),
  	draw_caret_on_line(DC, T, [], (((XStart + W) div (4 * SpaceWidth)) + 1) * (4 * SpaceWidth), Y, H, SpaceWidth);
  draw_caret_on_line(DC, [Char|T], LiteralCharsRev, XStart, Y, H, SpaceWidth) ->
  	draw_caret_on_line(DC, T, [Char|LiteralCharsRev], XStart, Y, H, SpaceWidth).
  
  
negative.code: -record(state, {win = #main_window{}, doc_set = #ee_doc_set{}, blink_caret = #blink_caret{}}).
  
  -define(BLINK_INTERVAL, 300).
  -define(NUMBER_MARGIN_START, 0).
  -define(NUMBER_MARGIN_WIDTH, 40).
  -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
  