anchor.diff:        io_lib:format("invalid character: ~p", [Ch]);
       {invalid_character_name, Str} ->
         io_lib:format("invalid character name: ~s", [Str]);
  -    {invalid_hex_character_value, Num} ->
  -      io_lib:format("invalid hex character value: ~p", [Num]);
       {invalid_identifier, Str} ->
         io_lib:format("invalid identifier: ~s", [Str]);
       {invalid_identifier, Str, Ch} ->
  
positive.code: 
  scan_string_backslash(LI, Acc) ->
    case scan_inline_escape(LI) of
      Val when is_number(Val) ->
        scan_string(LI, [Val | Acc]);
      {error, Ch} ->
        case es_ctype:char_is_whitespace(Ch) of
          true ->
  
negative.code: %% handled by tagging and returning any unrecognized character, letting
  %% the context determine whether that character is valid or not.
  
  scan_inline_escape(LI) -> % return Char or {error, Ch}
    case es_lexinput:read_char(LI) of
      -1 ->
        lexer_error(premature_eof);
  