diff --git a/lib/modules/__builtin_dirnode.pmod b/lib/modules/__builtin_dirnode.pmod new file mode 100644 index 0000000000000000000000000000000000000000..4541961566b17f79e3a183c6c98319e7e07f9055 --- /dev/null +++ b/lib/modules/__builtin_dirnode.pmod @@ -0,0 +1,12 @@ +#pike __REAL_VERSION__ + +mapping cache=([]); + +mixed `[](string s) +{ + if(!zero_type(cache[s])) return cache[s]; + mixed tmp=_static_modules[s]; + if(programp(tmp)) tmp=tmp(); + return cache[s]=tmp; +} + diff --git a/src/modules/static_module_makefile.in b/src/modules/static_module_makefile.in index f339ffbdaa9d34fb955b1c5774a4fe46d3f65fda..e6f194ec664bb0758d1182d3f6668813460774f0 100644 --- a/src/modules/static_module_makefile.in +++ b/src/modules/static_module_makefile.in @@ -1,5 +1,5 @@ # -# $Id: static_module_makefile.in,v 1.58 2000/08/14 16:02:24 grubba Exp $ +# $Id: static_module_makefile.in,v 1.59 2001/01/20 13:46:43 hubbe Exp $ # @@ -92,12 +92,13 @@ config.status: $(SRCDIR)/configure module.pmod: Makefile @echo "Making module.pmod" ; if [ -f $(SRCDIR)/module.pmod.in ]; then \ - sed -e "s/@module@/_static_modules.$(MODNAME)/" <$(SRCDIR)/module.pmod.in >module.pmod ;\ + sed -e "s/@module@/__builtin_dirnode.$(MODNAME)/" <$(SRCDIR)/module.pmod.in >module.pmod ;\ else \ if [ -f ./module.pmod.in ]; then \ - sed -e "s/@module@/_static_modules.$(MODNAME)/" <./module.pmod.in >module.pmod ;\ + sed -e "s/@module@/__builtin_dirnode.$(MODNAME)/" <./module.pmod.in >module.pmod ;\ else \ - echo >module.pmod "#if constant(_static_modules.$(MODNAME));" ;\ + echo >>module.pmod "#pike __REAL_VERSION__" ;\ + echo >>module.pmod "#if constant(_static_modules.$(MODNAME));" ;\ echo >>module.pmod "inherit _static_modules.$(MODNAME);" ;\ echo >>module.pmod "#endif" ;\ fi ;\ diff --git a/src/testsuite.in b/src/testsuite.in index 6aa7842f8fe33159c3ef6e36fc86cf2d9237ce48..1496420a3f6f36c8326d3e73f985e84a843c8bfd 100644 --- a/src/testsuite.in +++ b/src/testsuite.in @@ -1,4 +1,4 @@ -test_true([["$Id: testsuite.in,v 1.376 2001/01/19 15:19:51 mast Exp $"]]); +test_true([["$Id: testsuite.in,v 1.377 2001/01/20 13:46:42 hubbe Exp $"]]); cond([[all_constants()->_verify_internals]], [[ @@ -5658,7 +5658,7 @@ test_equal(lower_case((string) ({ // - next_object test_true(objectp(next_object())) -test_any(int e;object o=next_object(); for(e=0;e<10000 && o;e++) o=next_object(o); return o,0) +test_any(int e;object o=next_object(); for(e=0;e<10000 && (o || objectp(o));e++) o=next_object(o); return o,0) // - object_program test_true(programp(object_program(this_object())))