diff options
author | Fredrik Gustafsson <[email protected]> | 2013-05-03 12:11:05 +0200 |
---|---|---|
committer | Fredrik Gustafsson <[email protected]> | 2013-05-03 12:11:05 +0200 |
commit | b27dbc71606c5b78f7cdd7b03b9e6c4ac5020b10 (patch) | |
tree | 39e61b013d91ecbf80a44036195f9fc14b799f4f | |
parent | e086819ca3238e7b47e9e417e981cbba8fc3fbc1 (diff) | |
parent | 897ae234ef868c17116b683052ee46effd60c3d2 (diff) | |
download | otp-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.erl | 2 | ||||
-rw-r--r-- | lib/stdlib/test/epp_SUITE.erl | 4 |
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 |