@@ -244,13 +244,25 @@ translate_each({ quote, Meta, [T] }, S) when is_list(T) ->
244244 syntax_error (Meta , S # elixir_scope .file , " invalid args for quote" )
245245 end ,
246246
247- Context = case lists :keyfind (var_context , 1 , T ) of
247+ Hygiene = case lists :keyfind (hygiene , 1 , T ) of
248+ { hygiene , true } ->
249+ elixir_errors :deprecation (Meta , S # elixir_scope .file , " hygiene: true is deprecated, please set it to [] instead" , []),
250+ [];
251+ { hygiene , List } when is_list (List ) ->
252+ List ;
253+ { hygiene , false } ->
254+ elixir_errors :deprecation (Meta , S # elixir_scope .file , " hygiene: false is deprecated, please set it to [vars: false] instead" , []),
255+ [{vars ,false }, {imports ,false }, {aliases ,false }];
256+ false ->
257+ []
258+ end ,
259+
260+ Vars = case lists :keyfind (var_context , 1 , T ) of
248261 { var_context , VarContext } ->
249- expand_var_context (Meta , VarContext ,
250- " invalid argument given for var_context in quote" , S );
262+ expand_var_context (Meta , VarContext , " invalid argument given for var_context in quote" , S );
251263 false ->
252- case lists :keyfind (hygiene , 1 , T ) of
253- { hygiene , false } -> nil ;
264+ case lists :keyfind (vars , 1 , Hygiene ) of
265+ { vars , false } -> nil ;
254266 _ ->
255267 case S # elixir_scope .module of
256268 nil -> 'Elixir' ;
@@ -259,20 +271,18 @@ translate_each({ quote, Meta, [T] }, S) when is_list(T) ->
259271 end
260272 end ,
261273
262- GetExpansion = fun (Key ) ->
274+ GetExpansion = fun (Key , New ) ->
263275 case lists :keyfind (Key , 1 , T ) of
264276 { Key , Bool } when is_boolean (Bool ) ->
277+ elixir_errors :deprecation (Meta , S # elixir_scope .file , " the ~s option for quote is deprecated, please use hygiene: [~s : ~s ] instead" , [Key , New , Bool ]),
265278 Bool ;
266279 false ->
267- case lists :keyfind (hygiene , 1 , T ) of
268- { hygiene , Bool } when is_boolean (Bool ) -> Bool ;
269- false -> true
270- end
280+ not (lists :keyfind (New , 1 , Hygiene ) == { New , false })
271281 end
272282 end ,
273283
274- Aliases = GetExpansion (expand_aliases ),
275- Imports = GetExpansion (expand_imports ),
284+ Aliases = GetExpansion (aliases_hygiene , aliases ),
285+ Imports = GetExpansion (imports_hygiene , imports ),
276286
277287 { DefaultLine , DefaultFile } = case lists :keyfind (location , 1 , T ) of
278288 { location , keep } -> { keep , keep };
@@ -314,8 +324,8 @@ translate_each({ quote, Meta, [T] }, S) when is_list(T) ->
314324 _ -> true
315325 end ,
316326
317- Q = # elixir_quote {var_context = Context , line = TLine , unquote = Unquote ,
318- expand_aliases = Aliases , expand_imports = Imports },
327+ Q = # elixir_quote {vars_hygiene = Vars , line = TLine , unquote = Unquote ,
328+ aliases_hygiene = Aliases , imports_hygiene = Imports },
319329
320330 elixir_quote :quote (TExprs , Q , SL );
321331
@@ -468,11 +478,11 @@ translate_each({ { '.', _, [Left, Right] }, Meta, Args } = Original, S) when is_
468478
469479% % Anonymous function calls
470480
471- translate_each ({ { '.' , Line , [Expr ] }, Meta , Args } = Original , S ) ->
481+ translate_each ({ { '.' , _ , [Expr ] }, Meta , Args } = Original , S ) ->
472482 { TExpr , SE } = translate_each (Expr , S ),
473483 case TExpr of
474484 { atom , _ , Atom } ->
475- elixir_errors :deprecation (? line ( Line ) , S # elixir_scope .file , " the :~s .() syntax is deprecated, please use ~s () instead" , [Atom , Atom ]),
485+ elixir_errors :deprecation (Meta , S # elixir_scope .file , " the :~s .() syntax is deprecated, please use ~s () instead" , [Atom , Atom ]),
476486 translate_each ({ Atom , Meta , Args }, S );
477487 _ ->
478488 case elixir_partials :handle (Original , S ) of
0 commit comments