PATCH:
Vladimir Sekissov
svg@REDACTED
Fri Nov 22 19:39:43 CET 2002
Good day,
There is small bug in
`otp_src_R9B-0/erts/boot/src/fake_demand_epp.erl'
which prevents preprocessor to identify module declaration for
packaged module correctly.
Here is a patch. I simply copied appropriate code from `epp.erl'
Best Regards,
Vladimir Sekissov
---------------------------- cut here ----------------------------------
--- otp_src_R9B-0/erts/boot/src/fake_demand_epp.erl.orig 2002-10-03 03:45:12.000000000 +0600
+++ otp_src_R9B-0/erts/boot/src/fake_demand_epp.erl 2002-11-22 23:04:40.000000000 +0500
@@ -347,11 +347,20 @@
wait_req_scan(St)
end.
-scan_module([{'-',Lh},{atom,Lm,module},{'(',Ll},{atom,Ln,Mod},{')',Lr}|_], Ms) ->
- Ms1 = dict:store({atom,'MODULE'}, {none,[{atom,Ln,Mod}]}, Ms),
- dict:store({atom,'MODULE_STRING'}, {none,[{string,Ln,atom_to_list(Mod)}]},
- Ms1);
-scan_module(Ts, Ms) -> Ms.
+scan_module([{'-',_Lh},{atom,_Lm,module},{'(',_Ll}|Ts], Ms) ->
+ scan_module_1(Ts,[],Ms);
+scan_module(_Ts, Ms) -> Ms.
+
+scan_module_1([{atom,Ln,A},{')',_Lr}|_Ts], As, Ms) ->
+ Mod = lists:concat(lists:reverse([A|As])),
+ Ms1 = dict:store({atom,'MODULE'}, {none,[{atom,Ln,list_to_atom(Mod)}]},
+ Ms),
+ dict:store({atom,'MODULE_STRING'}, {none,[{string,Ln,Mod}]},Ms1);
+scan_module_1([{atom,_Ln,A},{'.',_Lr}|Ts], As, Ms) ->
+ scan_module_1(Ts, [".",A|As], Ms);
+scan_module_1([{'.',_Lr}|Ts], As, Ms) ->
+ scan_module_1(Ts, As, Ms);
+scan_module_1(_Ts, _As, Ms) -> Ms.
%% scan_define(Tokens, DefineLine, From, EppState)
More information about the erlang-questions
mailing list