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.74 -r1.75 --- openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 17 Feb 2007 23:01:36 -0000 1.74 +++ openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 19 Feb 2007 10:01:28 -0000 1.75 @@ -301,7 +301,10 @@ } Page instproc include_portlet {arg} { - my instvar package_id + # we want to use package_id as proc-local variable, since the + # cross package reference might alter it locally + set package_id [my package_id] + # do we have a wellformed list? if {[catch {set page_name [lindex $arg 0]} errMsg]} { #my log "--S arg='$arg'" @@ -321,6 +324,15 @@ } else { # we include a wiki page, tailorable set page [$package_id resolve_page $page_name __m] + if {[regexp {^/(/[^?]*)[?]?(.*)$} $page_name _ url query]} { + # here we handle cross package xowiki includes + ::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] + } + #my log "--resolve --> $page" + } catch {$page set __decoration portlet} }