Index: openacs-4/packages/xowiki/tcl/package-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/package-procs.tcl,v diff -u -r1.69 -r1.70 --- openacs-4/packages/xowiki/tcl/package-procs.tcl 14 Jul 2007 18:04:07 -0000 1.69 +++ openacs-4/packages/xowiki/tcl/package-procs.tcl 17 Jul 2007 10:05:53 -0000 1.70 @@ -247,7 +247,7 @@ if {[$page procsearch $method] eq ""} { return [my error_msg "Method '$method' is not defined for this object"] } else { - #my log "--invoke $page $method" + #my msg "--invoke [my set object] id=$page method=$method" return [my call $page $method] } } else { @@ -299,7 +299,7 @@ set exported [$policy defined_methods Package] foreach m $exported { #my log "--QP my exists_query_parameter $m = [my exists_query_parameter $m]" - if {[::xo::cc exists_query_parameter $m]} { + if {[my exists_query_parameter $m]} { set method $m ;# determining the method, similar file extensions return [self] } Index: openacs-4/packages/xowiki/tcl/xowiki-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/xowiki-procs.tcl,v diff -u -r1.142 -r1.143 --- openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 16 Jul 2007 22:43:35 -0000 1.142 +++ openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 17 Jul 2007 10:05:53 -0000 1.143 @@ -523,23 +523,32 @@ -actual_query [::xo::cc actual_query]] } else { # - # we include a wiki page, tailorable + # Include a wiki page, tailorable. # - # for the resolver, we create a fresh context to avoid recursive loops, when - # e.g. revision_id is set... + # For the resolver, we create a fresh context to avoid recursive loops, when + # e.g. revision_id is set through a query parameter... # - $package_id context [::xo::Context new -volatile] - set page [$package_id resolve_page $page_name __m] + set last_context [expr {[my exists context] ? $context : "::xo::cc"}] + if {[regexp {^/(/[^?]*)[?]?(.*)$} $page_name _ url query]} { - # here we handle cross package xowiki includes + # + # Handle cross package xowiki includes. + # Note, that package::initialize might change the package id. + # ::xowiki::Package initialize -parameter {{-m view}} -url $url \ -actual_query $query if {$package_id != 0} { - set page [$package_id resolve_page [$package_id set object] __m] + $package_id context [::xo::Context new -volatile] + set page [$package_id resolve_page [my lang]:[$package_id set object] __m] + #my msg "cross package reference $page_name ==> $page, package_id=$package_id" } #my log "--resolve --> $page" + } else { + $package_id context [::xo::Context new -volatile] + set page [$package_id resolve_page $page_name __m] } - $package_id context ::xo::cc + $package_id context $last_context + if {$page ne "" && ![$page exists __decoration]} { $page set __decoration portlet }