Index: Makefile.in =================================================================== diff -u -rcea7988c4160dc795dabc31324eb52f2806415ec -r92e6424562685bcc3665bf23dfcdc3ee489c25ef --- Makefile.in (.../Makefile.in) (revision cea7988c4160dc795dabc31324eb52f2806415ec) +++ Makefile.in (.../Makefile.in) (revision 92e6424562685bcc3665bf23dfcdc3ee489c25ef) @@ -271,10 +271,14 @@ install-binaries: binaries install-lib-binaries install-bin-binaries install-pkgIndex install-aol: install-binaries install-libraries install-xotcl-libraries - $(INSTALL) $(src_generic_dir)/aol-xotcl.tcl \ - $(DESTDIR)/$(aol_prefix)/tcl/xotcl.tcl + @if test -d $(DESTDIR)/$(aol_prefix)/modules/tcl/; then \ + $(INSTALL) $(src_generic_dir)/aol-xotcl.tcl \ + $(DESTDIR)/$(aol_prefix)/modules/tcl/xotcl.tcl ; \ + else \ + $(INSTALL) $(src_generic_dir)/aol-xotcl.tcl \ + $(DESTDIR)/$(aol_prefix)/tcl/xotcl.tcl ; \ + fi; - #======================================================================== # This rule installs platform-independent files, such as header files. #======================================================================== @@ -343,7 +347,7 @@ chmod 755 $(DESTDIR)$(xotcl_pkglibdir)/$$j; \ for k in $$j/* ; do \ $(INSTALL) $$k $(DESTDIR)$(xotcl_pkglibdir)/$$j ; \ - done; \ + done; \ else \ $(INSTALL) $$j $(DESTDIR)$(xotcl_pkglibdir)/apps/$$i/; \ fi; \ Index: TODO =================================================================== diff -u -r3b75a92f67f6614a7ee823e4d37bc8724f9fb77d -r92e6424562685bcc3665bf23dfcdc3ee489c25ef --- TODO (.../TODO) (revision 3b75a92f67f6614a7ee823e4d37bc8724f9fb77d) +++ TODO (.../TODO) (revision 92e6424562685bcc3665bf23dfcdc3ee489c25ef) @@ -1702,19 +1702,11 @@ on shadowCommands, but this does not work, when varible is bytecompiled. deactivated for now. +- added support for aolserver (essentially Makefile + aol-xotcl.tcl) +- removed unneded content from serializer output + TODO: -- aolserver/nagiserver: - - test xotcl-aol + aolserver 4.* - - naviserver install - - 1) ./configure --with-tcl=/usr/local/src/tcl8.5.8/unix/ --with-xotclsh --enable-symbols - installiert nach /usr/local/aolserver/modules/tcl/xotcl.tcl - - 2) kein "modules" like aolserver for ns - sudo cp /usr/local/aolserver/modules/tcl/xotcl.tcl /usr/local/ns/tcl/ - currently, we install into //usr/local/ns/tcl/xotcl.tcl - - "-returns" * leave syntax as is for method? * add flag to alias and forward? @@ -1753,6 +1745,12 @@ - in the following, we need just a frame, but not necessarily an "-objscope" set x [::xotcl::dispatch $value -objscope ::xotcl::self] +- when compiled on my home machine for tcl 8.5.9 + aolserver, + i see the behavior that "info exists :type" does not appear to work, + leading to messages like the following +*** VERY STRANGE: info exists :type says 1, ::nsf::existsvar ::xowiki::MenuItem::slot::CSSclass type says 0 + these do not appear under with naviserver. + maybe the installation is goofed up, but maybe something serious. - some error cases can lead to an invalid activation count method-modifiers/attribute-method.002: incorrect result for 'set _ {}' Index: generic/aol-xotcl.tcl =================================================================== diff -u -rdb25b05a86452db1b157dd556f061dec85d8de3f -r92e6424562685bcc3665bf23dfcdc3ee489c25ef --- generic/aol-xotcl.tcl (.../aol-xotcl.tcl) (revision db25b05a86452db1b157dd556f061dec85d8de3f) +++ generic/aol-xotcl.tcl (.../aol-xotcl.tcl) (revision 92e6424562685bcc3665bf23dfcdc3ee489c25ef) @@ -32,8 +32,10 @@ set nslist "" _ns_getnamespaces namespaces foreach n $namespaces { - if {$n ne "::nsf" && ![string match "::nsf::*" $n] + if {$n ne "::nsf" && $n ne "::xotcl" && $n ne "::nx" + && ![string match "::nsf::*" $n] && ![::nsf::isobject $n]} { + lappend nslist $n } } @@ -52,7 +54,6 @@ } ns_ictl save [append script \n \ - "namespace import -force ::xotcl::*" \n \ $objects \n $import] # just for debugging purposes if {1} { Index: library/nx/nx.tcl =================================================================== diff -u -r0d35d1ccd86f2b72296ff01d0d83747ca1c0de65 -r92e6424562685bcc3665bf23dfcdc3ee489c25ef --- library/nx/nx.tcl (.../nx.tcl) (revision 0d35d1ccd86f2b72296ff01d0d83747ca1c0de65) +++ library/nx/nx.tcl (.../nx.tcl) (revision 92e6424562685bcc3665bf23dfcdc3ee489c25ef) @@ -802,7 +802,12 @@ lappend objopts required lappend methodopts required } - if {[info exists :type]} { + + if {[::nsf::existsvar [::nsf::current object] type] ne [info exists :type]} { + puts stderr "*** VERY STRANGE: info exists :type says [info exists :type], ::nsf::existsvar [::nsf::current object] type says [::nsf::existsvar [::nsf::current object] type]" + } + + if {[::nsf::existsvar [::nsf::current object] type]} { if {[string match ::* ${:type}]} { set type [expr {[::nsf::is metaclass ${:type}] ? "class" : "object"}] lappend objopts type=${:type} Index: library/serialize/serializer.tcl =================================================================== diff -u -rbc264a2e24d7693798442800b62829f8b73cfb86 -r92e6424562685bcc3665bf23dfcdc3ee489c25ef --- library/serialize/serializer.tcl (.../serializer.tcl) (revision bc264a2e24d7693798442800b62829f8b73cfb86) +++ library/serialize/serializer.tcl (.../serializer.tcl) (revision 92e6424562685bcc3665bf23dfcdc3ee489c25ef) @@ -368,7 +368,7 @@ if {[info exists ignore]} {$s ignore $ignore} set r [subst { - set ::xotcl::__filterstate \[::nsf::configure filter off\] + set ::nsf::__filterstate \[::nsf::configure filter off\] #::nx::Slot mixin add ::nx::Slot::Nocheck ::nsf::configure softrecreate [::nsf::configure softrecreate] ::nsf::exithandler set [list [::nsf::exithandler get]] @@ -395,10 +395,11 @@ append r { #::nx::Slot mixin delete ::nx::Slot::Nocheck - ::nsf::configure filter $::xotcl::__filterstate - unset ::xotcl::__filterstate + ::nsf::configure filter $::nsf::__filterstate + unset ::nsf::__filterstate } ::nsf::configure filter $filterstate + return $r } @@ -458,6 +459,8 @@ [:frameWorkCmd ::nsf::assertion $o object-invar] \ [:frameWorkCmd ::nsf::assertion $o class-invar] } + puts stderr "*** array unset [nsf::current object] alias_dependency // size [array size :alias_dependency]" + array unset :alias_dependency return $cmd } @@ -778,7 +781,6 @@ #array set :ignorePattern [list "::xotcl::*" 1] array set :ignorePattern [list "::nsf::*" 1 "::nx::*" 1 "::xotcl::*" 1] - :public method serialize-all-start {s} { set intro "package require XOTcl 2.0" if {[info command ::Object] ne "" && [namespace origin ::Object] eq "::xotcl::Object"} {