From 2ab008fdb12eb5442441a9f56f6656f4577b945b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Sat, 20 Jan 2001 05:46:43 -0800 Subject: [PATCH] made static modules behave more like dynamic modules.. Rev: lib/modules/__builtin_dirnode.pmod:1.1 Rev: src/modules/static_module_makefile.in:1.59 Rev: src/testsuite.in:1.377 --- lib/modules/__builtin_dirnode.pmod | 12 ++++++++++++ src/modules/static_module_makefile.in | 9 +++++---- src/testsuite.in | 4 ++-- 3 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 lib/modules/__builtin_dirnode.pmod diff --git a/lib/modules/__builtin_dirnode.pmod b/lib/modules/__builtin_dirnode.pmod new file mode 100644 index 0000000000..4541961566 --- /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 f339ffbdaa..e6f194ec66 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 6aa7842f8f..1496420a3f 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()))) -- GitLab