Thanks. I've minimized it a bit more and added it to the testsuite. I suspect however that it might be a "mistake" that it ever worked (it doesn't in 7.2).
/ Martin Stjernholm, Roxen IS
Previous text:
2003-03-04 23:40: Subject: Re: Pike 7.4.10 vs Pike >= 7.4.14
Le mardi, 4 mar 2003, à 22:55 Europe/Paris, Martin Stjernholm, Roxen IS @ Pike developers forum a écrit :
It'd be really nice if you could isolate the problem into a self-contained test case.
No problems.
kiwi@blackmagic:~/tmp/test$ pike --version Pike v7.4 release 10 Copyright © 1994-2002 Linköping University Pike comes with ABSOLUTELY NO WARRANTY; This is free software and you are welcome to redistribute it under certain conditions; Read the files COPYING and COPYRIGHT in the Pike distribution for more details. kiwi@blackmagic:~/tmp/test$ pike -M. t.pike Pof.id "Test1" Pof.Plonk.bingo("1") "1-pof" Pof.Plonk.pof() ""
kiwi@kiwi:~/tmp/test$ pike --version Pike v7.4 release 15 Copyright © 1994-2002 Linköping University Pike comes with ABSOLUTELY NO WARRANTY; This is free software and you are welcome to redistribute it under certain conditions; Read the files COPYING and COPYRIGHT in the Pike distribution for more details. kiwi@kiwi:~/tmp/test$ pike -M. t.pike Pof.pmod/Plonk.pmod:2:Index 'bingo' not present in module 'Plonk'. Pof.pmod/Plonk.pmod:16:Index 'zorgl' not present in module 'Plonk'. t.pike:6:Index 'Plonk' not present in module 'Pof'. t.pike:8:Index 'Plonk' not present in module 'Pof'. Pike: Failed to compile script: Compilation failed.
Source code :
kiwi@kiwi:~/tmp/test$ cat t.pike
int main() {
write("Pof.id %O\n",Pof.id);
write("Pof.Plonk.bingo("1") %O\n",Pof.Plonk.bingo("1"));
write("Pof.Plonk.pof() %O\n",Pof.Plonk.pof());
return 0; }
kiwi@kiwi:~/tmp/test$ cat Pof.pmod/module.pmod
constant id="Test1";
kiwi@kiwi:~/tmp/test$ cat Pof.pmod/Plonk.pmod string pof() { return Pof.Plonk.bingo(""); }
string zorgl(string test) {
return test + "-pof";
}
string bingo (string test2) {
if(test2=="1") return Pof.Plonk.zorgl(test2);
return "";
}
So it seems we have a bug...
On pike 7.4.10, it resolv the function Pof.Plonk.bingo() that is defined *after* it calls, but on 7.4.15 it doesn't.
Notice that using the internal name fixes that (temporaly) but it seems that either 7.4.10 or 7.4.15 has some differents way to handle that.
What do you think of that ?
/Xavier
Xavier Beaudouin - Unix System Administrator & Projects Leader. Please visit http://caudium.net/, home of Caudium & Camas projects O ascii ribbon campaign against html email |\ and Microsoft attachments
/ Brevbäraren