@@ -948,17 +948,22 @@ handle_dot([$., H | T] = Original, Line, Column, DotInfo, BaseScope, Tokens) whe
948948 InterScope
949949 end ,
950950
951- {ok , [UnescapedPart ]} = unescape_tokens ([Part ], Line , Column , NewScope ),
951+ case unescape_tokens ([Part ], Line , Column , NewScope ) of
952+ {ok , [UnescapedPart ]} ->
953+ case unsafe_to_atom (UnescapedPart , Line , Column , NewScope ) of
954+ {ok , Atom } ->
955+ Token = check_call_identifier (Line , Column , H , Atom , Rest ),
956+ TokensSoFar = add_token_with_eol ({'.' , DotInfo }, Tokens ),
957+ tokenize (Rest , NewLine , NewColumn , NewScope , [Token | TokensSoFar ]);
952958
953- case unsafe_to_atom (UnescapedPart , Line , Column , NewScope ) of
954- {ok , Atom } ->
955- Token = check_call_identifier (Line , Column , H , Atom , Rest ),
956- TokensSoFar = add_token_with_eol ({'.' , DotInfo }, Tokens ),
957- tokenize (Rest , NewLine , NewColumn , NewScope , [Token | TokensSoFar ]);
959+ {error , Reason } ->
960+ error (Reason , Original , NewScope , Tokens )
961+ end ;
958962
959963 {error , Reason } ->
960964 error (Reason , Original , NewScope , Tokens )
961965 end ;
966+
962967 {_NewLine , _NewColumn , _Parts , Rest , NewScope } ->
963968 Message = " interpolation is not allowed when calling function/macro. Found interpolation in a call starting with: " ,
964969 error ({? LOC (Line , Column ), Message , [H ]}, Rest , NewScope , Tokens );
0 commit comments