Skip to content

Commit

Permalink
Fix file-inclusion bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
evanmiller committed Jun 24, 2010
1 parent 4d7970c commit ee70b62
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions src/aleppo.erl
Original file line number Diff line number Diff line change
Expand Up @@ -130,19 +130,21 @@ process_inclusion(FileName, Line, Context) ->
{NewTokens, _} = mark_keywords(Tokens),
case aleppo_parser:parse(NewTokens) of
{ok, ParseTree} ->
[{eof, _}|Rest] = lists:reverse(ParseTree),
ParseTreeNoEOF = lists:reverse(Rest),
ThisFile = case dict:find('FILE', Context#ale_context.macro_dict) of
{ok, Val} -> Val;
_ -> undefined
end,
Dict1 = dict:store('FILE', [{string, 1, FileName}], Context#ale_context.macro_dict),
TokenAcc = lists:reverse(file_attribute_tokens(FileName, 1)),
{Dict2, IncludedTokens} = process_tree(ParseTree, TokenAcc,
{Dict2, IncludedTokens} = process_tree(ParseTreeNoEOF, TokenAcc,
Context#ale_context{
macro_dict = Dict1,
include_trail = [FileName|Context#ale_context.include_trail]}),
case ThisFile of
undefined -> {Dict2, IncludedTokens};
{string, _Loc, ThisFileName} ->
[{string, _Loc, ThisFileName}] ->
{dict:store('FILE', ThisFile, Dict2),
lists:reverse(file_attribute_tokens(ThisFileName, Line)) ++ IncludedTokens}
end;
Expand Down

0 comments on commit ee70b62

Please sign in to comment.