Index: openacs-4/packages/acs-api-browser/acs-api-browser.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-api-browser/acs-api-browser.info,v diff -u -r1.42 -r1.43 --- openacs-4/packages/acs-api-browser/acs-api-browser.info 25 Oct 2024 12:19:44 -0000 1.42 +++ openacs-4/packages/acs-api-browser/acs-api-browser.info 29 Oct 2024 16:37:43 -0000 1.43 @@ -7,17 +7,17 @@ t t - + OpenACS Interactive documentation for the Tcl and SQL APIs. 2024-09-02 3 OpenACS GPL 3 - On line interactive documentation for the locally installed Tcl and SQL APIs. Links to the Tcl core and NaviServer/AOLServer online documentation as well. + On line interactive documentation for the locally installed Tcl and SQL APIs. Links to the Tcl core and NaviServer online documentation as well. - + Index: openacs-4/packages/acs-api-browser/lib/search.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-api-browser/lib/search.adp,v diff -u -r1.9 -r1.10 --- openacs-4/packages/acs-api-browser/lib/search.adp 3 Sep 2024 15:37:29 -0000 1.9 +++ openacs-4/packages/acs-api-browser/lib/search.adp 29 Oct 2024 16:37:43 -0000 1.10 @@ -49,8 +49,8 @@ - - NaviServer/AOLserver Tcl API Search + + NaviServer Tcl API Search Index: openacs-4/packages/acs-api-browser/lib/search.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-api-browser/lib/search.tcl,v diff -u -r1.9 -r1.10 --- openacs-4/packages/acs-api-browser/lib/search.tcl 11 Sep 2024 06:15:46 -0000 1.9 +++ openacs-4/packages/acs-api-browser/lib/search.tcl 29 Oct 2024 16:37:43 -0000 1.10 @@ -8,16 +8,13 @@ set package_url [apm_package_url_from_key "acs-api-browser"] -# AOLserver has dropped documentation, use NaviServer docs instead -#set server_tcl_api_root "http://www.aolserver.com/docs/devel/tcl/api/" set server_tcl_api_root "https://naviserver.sourceforge.io/n/toc.html" - set tcl_docs_root "https://tcl-lang.org/man/tcl[info tclversion]/TclCmd/contents.htm" set openacs_search_url "${package_url}proc-search" set openacs_browse_url "${package_url}proc-browse" set openacs_plsql_browse_url "${package_url}plsql-subprograms-all" -set aolserver_search_url "${package_url}tcl-proc-view" +set naviserver_search_url "${package_url}tcl-proc-view" set tcl_search_url "${package_url}tcl-doc-search" switch [db_type] { Index: openacs-4/packages/acs-api-browser/tcl/acs-api-documentation-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-api-browser/tcl/acs-api-documentation-procs.tcl,v diff -u -r1.82 -r1.83 --- openacs-4/packages/acs-api-browser/tcl/acs-api-documentation-procs.tcl 28 Oct 2024 08:08:47 -0000 1.82 +++ openacs-4/packages/acs-api-browser/tcl/acs-api-documentation-procs.tcl 29 Oct 2024 16:37:43 -0000 1.83 @@ -18,27 +18,17 @@ variable style variable KEYWORDS - if {[ns_info name] eq "NaviServer"} { - # - # NaviServer at sourceforge - # - set ns_api_host "https://naviserver.sourceforge.io/" - set ns_api_index [list "n/naviserver/files/" "n/"] - set ns_api_root [list \ - ${ns_api_host}[lindex $ns_api_index 0] \ - ${ns_api_host}[lindex $ns_api_index 1] ] - set ns_api_html_index [list \ - [lindex $ns_api_root 0]commandlist.html \ - [lindex $ns_api_root 1]toc.html ] - } else { - # - # AOLserver wiki on panpotic - # - set ns_api_host "http://panoptic.com/" - set ns_api_index "wiki/aolserver/Tcl_API" - set ns_api_root ${ns_api_host}${ns_api_index} - set ns_api_html_index $ns_api_root - } + # + # NaviServer at sourceforge + # + set ns_api_host "https://naviserver.sourceforge.io/" + set ns_api_index [list "n/naviserver/files/" "n/"] + set ns_api_root [list \ + ${ns_api_host}[lindex $ns_api_index 0] \ + ${ns_api_host}[lindex $ns_api_index 1] ] + set ns_api_html_index [list \ + [lindex $ns_api_root 0]commandlist.html \ + [lindex $ns_api_root 1]toc.html ] set tcl_api_html_index "https://www.tcl-lang.org/man/tcl$::tcl_version/TclCmd/contents.htm" @@ -76,9 +66,174 @@ } -} + ad_proc ::apidoc::get_object_property {o what args} { + Return poperties of objects agnostic to the object system + (i.e., XOTcl or NX). + + } { + switch -- $what { + "mixin" { + return [$o ::nsf::methods::object::info::mixins] + } + "instmixin" { + return [$o ::nsf::methods::class::info::mixins] + } + "mixinof" { + return [$o ::nsf::methods::class::info::mixinof -scope object] + } + "instmixinof" { + return [$o ::nsf::methods::class::info::mixinof -scope class] + } + "instproc" { + if {[nsf::is class,type=::xotcl::Class $o]} {return [$o info instprocs {*}$args]} + if {[nsf::is class,type=::nx::Class $o]} {return [$o info methods -path -type scripted -callprotection all {*}$args]} + } + "instcommand" { + if {[nsf::is class,type=::xotcl::Class $o]} {return [$o info instcommands {*}$args]} + if {[nsf::is class,type=::nx::Class $o]} {return [$o info methods -path {*}$args]} + } + "instforward" { + if {[nsf::is class,type=::xotcl::Class $o]} {return [$o info instforward {*}$args]} + if {[nsf::is class,type=::nx::Class $o]} {return [$o info methods -type forwarder {*}$args]} + } + "instmethodtype" { + return [$o ::nsf::methods::class::info::method type {*}$args] + } + "methodtype" { + return [$o ::nsf::methods::object::info::method type {*}$args] + } + "proc" { + if {[nsf::is object,type=::xotcl::Object $o]} {return [$o info procs {*}$args]} + if {[nsf::is object,type=::nx::Object $o]} {return [$o info object methods -path -type scripted {*}$args]} + } + "command" { + return [$o ::nsf::methods::object::info::methods {*}$args] + } + "forward" { + if {[nsf::is object,type=::xotcl::Object $o]} {return [$o info forward {*}$args]} + if {[nsf::is object,type=::nx::Object $o]} {return [$o info object methods -type forwarder {*}$args]} + } + "slots" { + if {[nsf::is object,type=::xotcl::Object $o]} {return [$o info slots]} + return [$o info object methods -type forwarder] + } + "class" { + return [$o ::nsf::methods::object::info::class] + } + "superclass" { + if {[nsf::is class,type=::xotcl::Class $o]} {return [$o info superclass]} + if {[nsf::is class,type=::nx::Class $o]} {return [$o info superclasses]} + } + "heritage" { + return [$o ::nsf::methods::class::info::heritage] + } + "subclass" { + if {[nsf::is class,type=::xotcl::Class $o]} {return [$o info subclass]} + if {[nsf::is class,type=::nx::Class $o]} {return [$o info subclasses]} + } + "parameter" { + if {[nsf::is object,type=::xotcl::Object $o]} {return [$o info parameter]} + return [lmap p [$o info variables -closure] {$o info variable parameter $p}] + } + "isclass" { + return [nsf::is class $o] + } + "isobject" { + return [nsf::is object $o] + } + "isbaseclass" { + if {![nsf::is class $o]} {return 0} + if {[catch {set p [$o ::nsf::methods::object::info::precedence]}]} {return 0} + return [expr {[lindex $p end] eq $o}] + } + "instmethodparameter" { + return [$o ::nsf::methods::class::info::method parameter {*}$args] + } + "methodparameter" { + return [$o ::nsf::methods::object::info::method parameter {*}$args] + } + "instargs" { + if {[nsf::is object,type=::xotcl::Object $o]} {return [$o info instargs {*}$args]} + set posargs {} + foreach \ + m [$o ::nsf::methods::class::info::method args {*}$args] \ + p [$o ::nsf::methods::class::info::method parameter {*}$args] { + if {[string index [lindex $p 0] 0] eq "-"} continue + lappend posargs $m + } + return $posargs + } + "args" { + if {[nsf::is object,type=::xotcl::Object $o]} {return [$o info args {*}$args]} + set posargs {} + foreach \ + m [$o ::nsf::methods::object::info::method args {*}$args] \ + p [$o ::nsf::methods::object::info::method parameter {*}$args] { + if {[lindex [string index $p 0] 0] eq "-"} continue + lappend posargs $m + } + return $posargs + } + "instargdefault" { + if {[nsf::is class,type=::xotcl::Class $o]} { + return [uplevel [list $o info instdefault {*}$args]] + } + lassign $args method arg varName + foreach p [$o info method parameters $method] { + lassign $p name default + if {$name eq $arg} { + uplevel [list set $varName $default] + return [expr {[llength $p] == 2}] + } + } + return 0 + } + "argdefault" { + if {[nsf::is object,type=::xotcl::Object $o]} { + return [uplevel [list $o info default {*}$args]] + } + lassign $args method arg varName + foreach p [$o info object method parameters $method] { + lassign $p name default + if {$name eq $arg} { + uplevel [list set $varName $default] + return [expr {[llength $p] == 2}] + } + } + return 0 + } + "array-exists" { + if {[nsf::is object,type=::xotcl::Object $o]} {return [$o array exists {*}$args]} + return [$o eval [list array exists :{*}$args]] + } + "array-get" { + if {[nsf::is object,type=::xotcl::Object $o]} {return [$o array get {*}$args]} + return [$o eval [list array get :{*}$args]] + } + "array-set" { + if {[nsf::is object,type=::xotcl::Object $o]} {return [$o array set {*}$args]} + return [$o eval [list array set :{*}$args]] + } + "set" { + if {[nsf::is object,type=::xotcl::Object $o]} {return [$o set {*}$args]} + return [$o eval [list set :[lindex $args 0]]] + } + "vars" { + return [$o ::nsf::methods::object::info::vars] + } + + "isnxobject" { + return [nsf::is object,type=::nx::Object $o] + } + default { + error "no idea how to return $what" + } + } + } +} + ad_proc -public api_read_script_documentation { path } { @@ -424,7 +579,7 @@ Generates formatted documentation for a procedure. @param format the type of documentation to generate. This - parameter is deprecated and has no effect. + parameter is deprecated and has no effect. @param script include information about what script this proc lives in? @param xql include the source code for the related xql files? @param source include the source code for the script? @@ -836,7 +991,7 @@ ad_proc -public api_apropos_functions { string } { @return the functions in the system that contain string in their name - and have been defined using ad_proc. + and have been defined using ad_proc. } { set matches [list] foreach function [nsv_array names api_proc_doc] { @@ -857,8 +1012,8 @@ @author Gustaf Neumann @param proc_name name is fully qualified name without leading colons proc procs, - XOTcl methods are a triple with the fully qualified class name, - then proc|instproc and then the method name. + XOTcl methods are a triple with the fully qualified class name, + then proc|instproc and then the method name. @param property name of property such as "main" "testcase" "calledby" "deprecated_p" "script" "protection" @param value value of the property @@ -951,7 +1106,7 @@ ad_proc -private api_add_calling_info_to_procdoc {{proc_name "*"}} { Add the calling information (what are the functions called by this - proc_name) to the collected proc_doc information. + proc_name) to the collected proc_doc information. @author Gustaf Neumann } { @@ -1356,10 +1511,10 @@ HTML string. @param author_string author information to format. 3 kind of - formats are expected: email (a mailto link to the email - is generated), whitespace-separated couple " ()" (a - mailto link for email and the name are generated) and - free-form (the same input string is returned). + formats are expected: email (a mailto link to the email + is generated), whitespace-separated couple " ()" (a + mailto link for email and the name are generated) and + free-form (the same input string is returned). @return the formatted result } { @@ -1616,7 +1771,7 @@ ad_proc -private length_braces {data} { @return length of subexpression, from open to close brace inclusive. - Doesn't deal with unescaped braces in substrings. + Doesn't deal with unescaped braces in substrings. } { set i 1 for {set count 1} {1} {incr i} { Index: openacs-4/packages/xotcl-core/xotcl-core.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/xotcl-core.info,v diff -u -r1.109 -r1.110 --- openacs-4/packages/xotcl-core/xotcl-core.info 25 Oct 2024 12:19:44 -0000 1.109 +++ openacs-4/packages/xotcl-core/xotcl-core.info 29 Oct 2024 16:40:12 -0000 1.110 @@ -10,7 +10,7 @@ t xotcl - + Gustaf Neumann XOTcl library functionality (e.g. thread handling, online documentation, Generic Form and List Classes) 2024-09-02 @@ -42,11 +42,11 @@ BSD-Style 2 - + - + 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.97 -r1.98 --- openacs-4/packages/xotcl-core/tcl/01-debug-procs.tcl 29 Oct 2024 13:50:18 -0000 1.97 +++ openacs-4/packages/xotcl-core/tcl/01-debug-procs.tcl 29 Oct 2024 16:40:12 -0000 1.98 @@ -989,173 +989,29 @@ } } -proc ::xo::getObjectProperty {o what args} { - switch -- $what { - "mixin" { - return [$o ::nsf::methods::object::info::mixins] - } - "instmixin" { - return [$o ::nsf::methods::class::info::mixins] - } - "mixinof" { - return [$o ::nsf::methods::class::info::mixinof -scope object] - } - "instmixinof" { - return [$o ::nsf::methods::class::info::mixinof -scope class] - } +# nx::Object create acs::object_property { +# :public object method mixin {o} { +# $o ::nsf::methods::object::info::mixins +# } +# :public object method instmixin {o} { +# $o ::nsf::methods::class::info::mixins +# } +# :public object method mixinof {o} { +# $o ::nsf::methods::class::info::mixinof -scope object +# } +# :public object method instmixinof {o} { +# $o ::nsf::methods::class::info::mixinof -scope class +# } +# :public object method instproc {o args} { +# if {[nsf::is class,type=::xotcl::Class $o]} {return [$o info instprocs {*}$args]} +# if {[nsf::is class,type=::nx::Class $o]} {return $o info methods -path -type scripted -callprotection all {*}$args} +# } +# :public object method instcommand {o args} { +# if {[nsf::is class,type=::xotcl::Class $o]} {return [$o info instcommands {*}$args]} +# if {[nsf::is class,type=::nx::Class $o]} {return [$o info methods -path {*}$args]} +# } +# } - "instproc" { - if {[nsf::is object,type=::xotcl::Object $o]} {return [$o info instprocs {*}$args]} - return [$o info methods -path -type scripted -callprotection all {*}$args] - } - "instcommand" { - if {[nsf::is object,type=::xotcl::Object $o]} {return [$o info instcommands {*}$args]} - return [$o info methods -path {*}$args] - } - "instforward" { - if {[nsf::is object,type=::xotcl::Object $o]} {return [$o info instforward {*}$args]} - return [$o info methods -type forwarder {*}$args] - } - "instmethodtype" { - return [$o ::nsf::methods::class::info::method type {*}$args] - } - "methodtype" { - return [$o ::nsf::methods::object::info::method type {*}$args] - } - "proc" { - if {[nsf::is object,type=::xotcl::Object $o]} {return [$o info procs {*}$args]} - return [$o info object methods -path -type scripted {*}$args] - } - "command" { - return [$o ::nsf::methods::object::info::methods {*}$args] - } - "forward" { - if {[nsf::is object,type=::xotcl::Object $o]} {return [$o info forward {*}$args]} - return [$o info object methods -type forwarder {*}$args] - } - "slots" { - if {[nsf::is object,type=::xotcl::Object $o]} {return [$o info slots]} - return [$o info object methods -type forwarder] - } - "class" { - return [$o ::nsf::methods::object::info::class] - } - "superclass" { - if {[nsf::is object,type=::xotcl::Object $o]} {return [$o info superclass]} - return [$o info superclasses] - } - "heritage" { - return [$o ::nsf::methods::class::info::heritage] - } - "subclass" { - if {[nsf::is object,type=::xotcl::Object $o]} {return [$o info subclass]} - return [$o info subclasses] - } - "parameter" { - if {[nsf::is object,type=::xotcl::Object $o]} {return [$o info parameter]} - return [lmap p [$o info variables -closure] {$o info variable parameter $p}] - } - "isclass" { - return [nsf::is class $o] - } - "isobject" { - return [nsf::is object $o] - } - "isbaseclass" { - if {![nsf::is class $o]} {return 0} - if {[catch {set p [$o ::nsf::methods::object::info::precedence]}]} {return 0} - return [expr {[lindex $p end] eq $o}] - } - "instmethodparameter" { - return [$o ::nsf::methods::class::info::method parameter {*}$args] - } - "methodparameter" { - return [$o ::nsf::methods::object::info::method parameter {*}$args] - } - "instargs" { - if {[nsf::is object,type=::xotcl::Object $o]} {return [$o info instargs {*}$args]} - set posargs {} - foreach \ - m [$o ::nsf::methods::class::info::method args {*}$args] \ - p [$o ::nsf::methods::class::info::method parameter {*}$args] { - if {[string index [lindex $p 0] 0] eq "-"} continue - lappend posargs $m - } - return $posargs - } - "args" { - if {[nsf::is object,type=::xotcl::Object $o]} {return [$o info args {*}$args]} - set posargs {} - foreach \ - m [$o ::nsf::methods::object::info::method args {*}$args] \ - p [$o ::nsf::methods::object::info::method parameter {*}$args] { - if {[lindex [string index $p 0] 0] eq "-"} continue - lappend posargs $m - } - return $posargs - } - "instargdefault" { - if {[nsf::is object,type=::xotcl::Object $o]} { - return [uplevel [list $o info instdefault {*}$args]] - } - lassign $args method arg varName - foreach p [$o info method parameters $method] { - lassign $p name default - if {$name eq $arg} { - uplevel [list set $varName $default] - return [expr {[llength $p] == 2}] - } - } - return 0 - } - "argdefault" { - if {[nsf::is object,type=::xotcl::Object $o]} { - return [uplevel [list $o info default {*}$args]] - } - lassign $args method arg varName - foreach p [$o info object method parameters $method] { - lassign $p name default - if {$name eq $arg} { - uplevel [list set $varName $default] - return [expr {[llength $p] == 2}] - } - } - return 0 - } - - "array-exists" { - if {[nsf::is object,type=::xotcl::Object $o]} {return [$o array exists {*}$args]} - return [$o eval [list array exists :{*}$args]] - } - "array-get" { - if {[nsf::is object,type=::xotcl::Object $o]} {return [$o array get {*}$args]} - return [$o eval [list array get :{*}$args]] - } - "array-set" { - if {[nsf::is object,type=::xotcl::Object $o]} {return [$o array set {*}$args]} - return [$o eval [list array set :{*}$args]] - } - "set" { - if {[nsf::is object,type=::xotcl::Object $o]} {return [$o set {*}$args]} - return [$o eval [list set :[lindex $args 0]]] - } - "vars" { - return [$o ::nsf::methods::object::info::vars] - } - - "isnxobject" { - if {[info commands ::nsf::dispatch] ne "" && [info commands $o] ne ""} { - return [::nsf::dispatch $o ::nsf::methods::object::info::hastype ::nx::Object] - } { - return 0 - } - } - default { - error "no idea how to return $what" - } - } -} - # # Helper method to copy a slot and configure it # Index: openacs-4/packages/xotcl-core/tcl/03-doc-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/tcl/03-doc-procs.tcl,v diff -u -r1.31 -r1.32 --- openacs-4/packages/xotcl-core/tcl/03-doc-procs.tcl 28 Oct 2024 17:19:58 -0000 1.31 +++ openacs-4/packages/xotcl-core/tcl/03-doc-procs.tcl 29 Oct 2024 16:40:12 -0000 1.32 @@ -181,7 +181,7 @@ if {[nsv_exists api_proc_doc $proc_index]} { return "$label" } else { - if {[::xo::getObjectProperty $obj $kind $method] eq ""} { + if {[::apidoc::get_object_property $obj $kind $method] eq ""} { return $methodC } else { return $method @@ -205,14 +205,14 @@ # # Check, whether the passed in obj is a class # - :scope_eval $scope xo::getObjectProperty $obj isclass + :scope_eval $scope apidoc::get_object_property $obj isclass } :public object method isobject {scope obj} { # # Check, whether the passed in obj is an object # - :scope_eval $scope xo::getObjectProperty $obj isobject + :scope_eval $scope apidoc::get_object_property $obj isobject } :public object method scope {} { @@ -524,9 +524,9 @@ # Obtain a doc-string for a method, convert it and add it to the # proc-doc. # - set methodType [::xo::getObjectProperty $obj ${inst}methodtype $proc_name] + set methodType [::apidoc::get_object_property $obj ${inst}methodtype $proc_name] set varargs_p [expr {$methodType eq "scripted" - && "args" in [::xo::getObjectProperty $obj ${inst}args $proc_name]}] + && "args" in [::apidoc::get_object_property $obj ${inst}args $proc_name]}] set doc [dict create \ param "" \ @@ -551,13 +551,13 @@ dict set doc positionals {} } else { set defaults [list] - foreach a [::xo::getObjectProperty $obj ${inst}args $proc_name] { - if {[::xo::getObjectProperty $obj ${inst}argdefault $proc_name $a d]} { + foreach a [::apidoc::get_object_property $obj ${inst}args $proc_name] { + if {[::apidoc::get_object_property $obj ${inst}argdefault $proc_name $a d]} { lappend defaults $a $d } } - foreach def [::xo::getObjectProperty $obj ${inst}methodparameter $proc_name] { + foreach def [::apidoc::get_object_property $obj ${inst}methodparameter $proc_name] { lassign $def f default set pair [split [lindex $f 0 0] :] lassign $pair flaggedName flags @@ -584,7 +584,7 @@ } } dict set doc default_values $defaults - dict set doc positionals [::xo::getObjectProperty $obj ${inst}args $proc_name] + dict set doc positionals [::apidoc::get_object_property $obj ${inst}args $proc_name] } # argument documentation finished Index: openacs-4/packages/xotcl-core/tcl/doc-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/tcl/doc-procs.tcl,v diff -u -r1.8 -r1.9 --- openacs-4/packages/xotcl-core/tcl/doc-procs.tcl 11 Sep 2024 06:15:56 -0000 1.8 +++ openacs-4/packages/xotcl-core/tcl/doc-procs.tcl 29 Oct 2024 16:40:12 -0000 1.9 @@ -25,7 +25,7 @@ if {$kind eq "instproc"} {append infokind s} ::xo::api scope_from_object_reference scope e if {$kind eq "proc"} {set prefix "→ "} {set prefix ""} - foreach methodName [xo::getObjectProperty $e $kind] { + foreach methodName [apidoc::get_object_property $e $kind] { if {$documented_methods} { set proc_index [::xo::api proc_index $scope $e $kind $methodName] #:msg "check $methodName => [nsv_exists api_proc_doc $proc_index]" @@ -114,7 +114,7 @@ foreach e $classes { if {![::nsf::is object $e]} continue set reduced_sc [list] - foreach sc [::xo::getObjectProperty $e superclass] { + foreach sc [::apidoc::get_object_property $e superclass] { if {$omit_base_classes && [::nsf::is baseclass $sc]} continue lappend reduced_sc $sc } @@ -146,7 +146,7 @@ append children "[dotquote $c]->[dotquote $e];\n" } } - set m [xo::getObjectProperty $e mixin] + set m [apidoc::get_object_property $e mixin] #puts "-- $e mixin $m" if {$m eq ""} continue foreach mixin $m { @@ -157,7 +157,7 @@ set tclasses "" set instmixins "" foreach e $classes { - set m [xo::getObjectProperty $e instmixin] + set m [apidoc::get_object_property $e instmixin] #puts "-- $e instmixin $m" if {$m eq ""} continue #foreach mixin $m { Index: openacs-4/packages/xotcl-core/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/www/index.tcl,v diff -u -r1.12 -r1.13 --- openacs-4/packages/xotcl-core/www/index.tcl 11 Sep 2024 06:15:56 -0000 1.12 +++ openacs-4/packages/xotcl-core/www/index.tcl 29 Oct 2024 16:40:12 -0000 1.13 @@ -42,7 +42,7 @@ proc info_classes {cl key {dosort 0}} { upvar all_classes all_classes set infos "" - set classes [::xo::getObjectProperty $cl $key] + set classes [::apidoc::get_object_property $cl $key] if {$dosort} { set classes [lsort $classes] } @@ -76,7 +76,7 @@ foreach key {proc instproc} { set infos "" - foreach i [lsort [::xo::getObjectProperty $cl $key]] {append infos [::xo::api method_link $cl $key $i] ", "} + foreach i [lsort [::apidoc::get_object_property $cl $key]] {append infos [::xo::api method_link $cl $key $i] ", "} set infos [string trimright $infos ", "] if {$infos ne ""} { append output "$key: $infos\n" Index: openacs-4/packages/xotcl-core/www/show-object.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/www/show-object.tcl,v diff -u -r1.33 -r1.34 --- openacs-4/packages/xotcl-core/www/show-object.tcl 22 Oct 2024 08:48:14 -0000 1.33 +++ openacs-4/packages/xotcl-core/www/show-object.tcl 29 Oct 2024 16:40:12 -0000 1.34 @@ -62,10 +62,10 @@ # get object fully qualified set object [DO namespace origin $object] -set my_class [DO xo::getObjectProperty $object class] +set my_class [DO apidoc::get_object_property $object class] set title "$my_class $object" set isclass [::xo::api isclass $scope $object] -set isnx [DO xo::getObjectProperty $object isnxobject] +set isnx [DO apidoc::get_object_property $object isnxobject] set s [DO Serializer new] set dimensional_slider [ad_dimensional { @@ -118,8 +118,8 @@ proc class_relation {scope object kind {dosort 0}} { upvar class_references class_references - set isnx [DO xo::getObjectProperty $object isnxobject] - set list [DO xo::getObjectProperty $object $kind] + set isnx [DO apidoc::get_object_property $object isnxobject] + set list [DO apidoc::get_object_property $object $kind] if {$dosort} {set list [lsort $list]} @@ -140,7 +140,7 @@ proc class_summary {c scope} { set result "" if {0} { - set methods [lsort [DO xo::getObjectProperty $c instcommand]] + set methods [lsort [DO apidoc::get_object_property $c instcommand]] set pretty [list] foreach m $methods { if {[info exists param($m)]} continue @@ -150,10 +150,10 @@ if {[llength $pretty]>0} { append result "Methods for instances: [join $pretty {, }]" } - set methods [lsort [DO xo::getObjectProperty $c command -callprotection all]] + set methods [lsort [DO apidoc::get_object_property $c command -callprotection all]] set pretty [list] foreach m $methods { - if {![DO xo::getObjectProperty ${c}::$m isobject]} { + if {![DO apidoc::get_object_property ${c}::$m isobject]} { lappend pretty [::xo::api method_link $c proc $m] } } @@ -169,7 +169,7 @@ set pretty_parameter "" set line "[::xo::api object_link $scope $c] create ..." - set parameters [lsort [DO xo::getObjectProperty $c parameter]] + set parameters [lsort [DO apidoc::get_object_property $c parameter]] if {[llength $parameters] > 0} { # # Initial line length is length of class name + "create" + "..." + @@ -208,18 +208,18 @@ # # compute list of classes with siblings - foreach c [DO xo::getObjectProperty $object superclass] { - if {[DO xo::getObjectProperty $object isbaseclass]} continue - lappend class_hierarchy {*}[DO xo::getObjectProperty $c subclass] + foreach c [DO apidoc::get_object_property $object superclass] { + if {[DO apidoc::get_object_property $object isbaseclass]} continue + lappend class_hierarchy {*}[DO apidoc::get_object_property $c subclass] } if {[llength $class_hierarchy]>5} { set class_hierarchy {} } # Display just up to two extra two levels of heritage to keep the # class in question in focus. - set heritage [DO xo::getObjectProperty $object heritage] - set subclasses [DO xo::getObjectProperty $object subclass] + set heritage [DO apidoc::get_object_property $object heritage] + set subclasses [DO apidoc::get_object_property $object subclass] if {[llength $heritage] > $above} { # In case we have nothing to show from the subclasses, @@ -240,7 +240,7 @@ if {$below > 0} { for {set level 1} {$level < $below} {incr level} { foreach sc $subclasses { - foreach c [DO xo::getObjectProperty $sc subclass] { + foreach c [DO apidoc::get_object_property $sc subclass] { if {$c ni $subclasses} { lappend subclasses $c } @@ -336,11 +336,11 @@ # # per-object methods # - set methods [lsort [DO ::xo::getObjectProperty $object command]] + set methods [lsort [DO ::apidoc::get_object_property $object command]] if {[llength $methods] > 0} { set method_output "" foreach m $methods { - set type [DO ::xo::getObjectProperty $object methodtype $m] + set type [DO ::apidoc::get_object_property $object methodtype $m] if {$type eq "object"} { # # filter (sub)objects, which are callable via the method interface @@ -365,11 +365,11 @@ # # instance methods # - set methods [lsort [DO ::xo::getObjectProperty $object instcommand]] + set methods [lsort [DO ::apidoc::get_object_property $object instcommand]] if {[llength $methods] > 0} { set method_output "" foreach m $methods { - set type [DO ::xo::getObjectProperty $object instmethodtype $m] + set type [DO ::apidoc::get_object_property $object instmethodtype $m] set out [local_api_documentation -proc_type $type $show_methods $scope $object instproc $m] if {$out ne ""} { append method_output "$out" @@ -392,11 +392,11 @@ if {$show_variables && !$isnx} { set vars "" - foreach v [lsort [DO ::xo::getObjectProperty $object vars]] { - if {[DO ::xo::getObjectProperty $object array-exists $v]} { - append vars "$object array set $v [list [DO ::xo::getObjectProperty $object array-get $v]]\n" + foreach v [lsort [DO ::apidoc::get_object_property $object vars]] { + if {[DO ::apidoc::get_object_property $object array-exists $v]} { + append vars "$object array set $v [list [DO ::apidoc::get_object_property $object array-get $v]]\n" } else { - append vars "$object set $v [list [DO ::xo::getObjectProperty $object set $v]]\n" + append vars "$object set $v [list [DO ::apidoc::get_object_property $object set $v]]\n" } } if {$vars ne ""} {