anchor.diff:  %% Error
   
   format_error({missing_terminator, Close, Open, OpenLine}) ->
  -  io_lib:format("missing terminator: ~ts (for ~ts opening at line ~B)", [Close, Open, OpenLine]);
  +  io_lib:format("missing terminator: \"~ts\" (for \"~ts\" opening at line ~B)", [Close, Open, OpenLine]);
   format_error({invalid_n_base_char, Char, Base, Line}) ->
     io_lib:format("invalid char: ~tc for ~B-base number at line ~B", [Char, Base, Line]);
   format_error({invalid_eof, escape}) ->
  
positive.code:   {ok, lists:reverse(Tokens), build_meta(Line, Column)};
  
  %% terminator missing
  scan([], EndLine, Column,
       #kapok_scanner_scope{terminators=[{Open, {{OpenLine, _} ,_}}|_]},
       Tokens) ->
    Close = terminator(Open),
    {error, {{EndLine, Column}, ?MODULE, {missing_terminator, Close, Open, OpenLine}}, [],
     lists:reverse(Tokens)};
  
negative.code:          scan/3,
           scan/4,
           format_error/1]).
  -import(kapok_utils, [meta_line/1, meta_column/1]).
  -include("kapok.hrl").
  
  -type category() :: atom().
  