Index: openacs-4/packages/xotcl-core/tcl/01-debug-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/tcl/01-debug-procs.tcl,v diff -u -r1.72.2.18 -r1.72.2.19 --- openacs-4/packages/xotcl-core/tcl/01-debug-procs.tcl 16 Sep 2014 21:50:09 -0000 1.72.2.18 +++ openacs-4/packages/xotcl-core/tcl/01-debug-procs.tcl 17 Sep 2014 20:07:55 -0000 1.72.2.19 @@ -112,6 +112,22 @@ ::nx::Slot method set } + if {[nx::Class info methods -path "info superclasses"] eq ""} { + # map method names to improve robustness for earlier versions + # (should be transitional code). + array set ::xo::mapMethodNames { + superclasses superclass + subclasses subclass + mixins "mixin classes" + } + } else { + array set ::xo::mapMethodNames { + superclasses superclasses + subclasses subclasses + mixins mixins + } + } + } else { ::xotcl::Object instproc set_instance_vars_defaults {} { set pcl [[my info class] info parameterclass] @@ -839,11 +855,11 @@ switch $what { "mixin" { if {"::xotcl::Object" in [$o info precedence]} {return [$o info mixin]} - return [$o info object mixins] + return [$o info object {*}$::xo::mapMethodNames(mixins)] } "instmixin" { if {"::xotcl::Object" in [$o info precedence]} {return [$o info instmixin]} - return [$o info mixins] + return [$o info {*}$::xo::mapMethodNames(mixins)] } "instproc" { if {"::xotcl::Object" in [$o info precedence]} {return [$o info instprocs {*}$args]} @@ -879,15 +895,15 @@ } "superclass" { if {"::xotcl::Object" in [$o info precedence]} {return [$o info superclass]} - return [$o info superclasses] + return [$o info $::xo::mapMethodNames(superclasses)] } "heritage" { #if {"::xotcl::Object" in [$o info precedence]} {return [$o info heritage]} return [$o info heritage] } "subclass" { if {"::xotcl::Object" in [$o info precedence]} {return [$o info subclass]} - return [$o info subclasses] + return [$o info $::xo::mapMethodNames(subclasses)]] } "parameter" { if {"::xotcl::Object" in [$o info precedence]} {return [$o info parameter]} Index: openacs-4/packages/xotcl-core/www/show-class-graph.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/www/show-class-graph.tcl,v diff -u -r1.8.6.5 -r1.8.6.6 --- openacs-4/packages/xotcl-core/www/show-class-graph.tcl 1 Apr 2014 18:37:33 -0000 1.8.6.5 +++ openacs-4/packages/xotcl-core/www/show-class-graph.tcl 17 Sep 2014 20:07:55 -0000 1.8.6.6 @@ -85,7 +85,7 @@ if {![my isobject $e]} continue if {$e eq "::xotcl::Object"} continue set reduced_sc [list] - foreach sc [$e info superclass] { + foreach sc [::xo::getObjectProperty $e superclass] { if {$omit_base_classes && $sc eq "::xotcl::Object" || $sc eq "::xotcl::Class"} continue lappend reduced_sc $sc