The main reason as I said earlier is that the modules were dumped during the *PIKE* install, and not by Roxens dumper.
I can't image it's hard to make the roxen decoder only handle dumps in the roxen dump database.
Well, detecting if something is a FUNCTION_BUILTIN is easy:
Yes, but finding one that no longer is in builtin_constants is difficult.
/ Martin Stjernholm, Roxen IS
Previous text:
2004-07-04 12:50: Subject: Re: Warnings from startup script
Recompile, rather. I wonder what differences in load order causes different werrors to be installed when compiling from source and when decoding dumps.
The module already gets recompiled in the code that emits the warning. The change would be to dump the new module.
The main reason as I said earlier is that the modules were dumped during the *PIKE* install, and not by Roxens dumper.
Still, load order is typically fragile, so fixing the codec is the robust approach. That requires a new lookup method for efuns, though.
Well, detecting if something is a FUNCTION_BUILTIN is easy:
Pike v7.7 release 5 running Hilfe v3.5 (Incremental Pike Frontend)
functionp(werror);
(1) Result: 1
function_object(werror);
(2) Result: 0
werror || 0;
(3) Result: werror
cf:
object o = class { function foo(){} }(); function f = o->foo; functionp(f);
(4) Result: 1
function_object(f);
(5) Result: HilfeInput()->__class_65693_0_line_1()
destruct(o);
(6) Result: 0
functionp(f);
(7) Result: 0
function_object(f);
Bad argument 1 to function_object(). Expected function. Unknown program: function_object(0) HilfeInput:1: HilfeInput()->___HilfeWrapper()
f;
(8) Result: 0
/ Henrik Grubbström (Lysator)