aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFredrik Gustafsson <[email protected]>2013-05-03 12:11:05 +0200
committerFredrik Gustafsson <[email protected]>2013-05-03 12:11:05 +0200
commitb27dbc71606c5b78f7cdd7b03b9e6c4ac5020b10 (patch)
tree39e61b013d91ecbf80a44036195f9fc14b799f4f
parente086819ca3238e7b47e9e417e981cbba8fc3fbc1 (diff)
parent897ae234ef868c17116b683052ee46effd60c3d2 (diff)
downloadotp-b27dbc71606c5b78f7cdd7b03b9e6c4ac5020b10.tar.gz
otp-b27dbc71606c5b78f7cdd7b03b9e6c4ac5020b10.tar.bz2
otp-b27dbc71606c5b78f7cdd7b03b9e6c4ac5020b10.zip
Merge branch 'nox/fix-epp-file-attrs/OTP-11079' into maint
* nox/fix-epp-file-attrs/OTP-11079: Fix an inconsistent state in epp
-rw-r--r--lib/stdlib/src/epp.erl2
-rw-r--r--lib/stdlib/test/epp_SUITE.erl4
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/stdlib/src/epp.erl b/lib/stdlib/src/epp.erl
index e31cd63f69..d1d060ebc8 100644
--- a/lib/stdlib/src/epp.erl
+++ b/lib/stdlib/src/epp.erl
@@ -601,7 +601,7 @@ enter_file2(NewF, Pname, From, St0, AtLocation) ->
%% file will depend on the order of file inclusions in the parent files
Path = [filename:dirname(Pname) | tl(St0#epp.path)],
_ = set_encoding(NewF),
- #epp{file=NewF,location=Loc,name=Pname,delta=0,
+ #epp{file=NewF,location=Loc,name=Pname,name2=Pname,delta=0,
sstk=[St0|St0#epp.sstk],path=Path,macs=Ms}.
enter_file_reply(From, Name, Location, AtLocation) ->
diff --git a/lib/stdlib/test/epp_SUITE.erl b/lib/stdlib/test/epp_SUITE.erl
index b2f1aa955a..0cbdf76270 100644
--- a/lib/stdlib/test/epp_SUITE.erl
+++ b/lib/stdlib/test/epp_SUITE.erl
@@ -104,6 +104,8 @@ include_local(suite) ->
include_local(Config) when is_list(Config) ->
?line DataDir = ?config(data_dir, Config),
?line File = filename:join(DataDir, "include_local.erl"),
+ FooHrl = filename:join([DataDir,"include","foo.hrl"]),
+ BarHrl = filename:join([DataDir,"include","bar.hrl"]),
%% include_local.erl includes include/foo.hrl which
%% includes bar.hrl (also in include/) without requiring
%% any additional include path, and overriding any file
@@ -111,6 +113,8 @@ include_local(Config) when is_list(Config) ->
?line {ok, List} = epp:parse_file(File, [DataDir], []),
?line {value, {attribute,_,a,{true,true}}} =
lists:keysearch(a,3,List),
+ [{File,1},{FooHrl,1},{BarHrl,1},{FooHrl,5},{File,5}] =
+ [ FileLine || {attribute,_,file,FileLine} <- List ],
ok.
%%% Here is a little reimplementation of epp:parse_file, which times out