• last updated 13 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Improve variable names

merged changes from the oacs-5-9 branch and resolved conflicts

  1. … 7834 more files in changeset.
Fix spelling errors, use OpenACS

  1. … 6 more files in changeset.
Fix spelling errors

  1. … 13 more files in changeset.
- copy the body of ad_get_tcl_call_stack from acs-tcl/tcl/utilities-procs to achive consistent behavior, when acs-bootstrap installer is reloaded.

- truncate overlong lines in ad_get_tcl_call_stack

  1. … 1 more file in changeset.
- add "protection" element instread of public_p or private_p

  1. … 1 more file in changeset.
- add editor hints to keep spaces/tabs in the furture more consistent

  1. … 754 more files in changeset.
- optional performance boost for site-nodes:

the site-node code contains an optional performance booster,

that speeds up site-node operations froma factor of 2 to

several thousand times. The performance boost ist just

available for the time being for PostgreSQL, XOTcl2 and

NaviServer and is only activated, when these componentes

are available.

- bump version numbers

  1. … 4 more files in changeset.

ad_proc reform:

- use nsf::proc for defining ad_procs, when nsf::proc is available

- nsf::proc is part of the environment of XOTcl2 and provides

an efficient, C-implemented argument parser that can replace

the scripted *__arg_parser of OpenACS.

- The benefits are performance and reduced memory consumption.

* Simple functions (where the calling overhead was a large

part of the execution times can become several times faster

(e.g. db_name is 3x faster, cookie handling is 2x faster),

for functions with much db-activities the percentage will

be less.

* The memory consumption (RSS) of a site like OpenACS.org

is reduced by about 15%.

NEW (with nsf::proc)

::ad_get_cookie x: 10.93 microseconds per iteration

::ad_get_cookie ad_session_id: 21.95 microseconds per iteration

::dt_systime: 24.89 microseconds per iteration

::db_name: 8.70 microseconds per iteration

::db_string dbqd.null.g "select version() from dual": 316.66 microseconds per iteration

::ad_convert_to_html "hello world": 102.29 microseconds per iteration

OLD (without nsf::proc)

::ad_get_cookie x: 19.42 microseconds per iteration

::ad_get_cookie ad_session_id: 30.10 microseconds per iteration

::dt_systime: 27.55 microseconds per iteration

::db_name: 32.28 microseconds per iteration

::db_string dbqd.null.g "select version() from dual": 366.69 microseconds per iteration

::ad_convert_to_html "hello world": 160.51 microseconds per iteration

======================================================================

proc mtime cmd {set c 5000

set t [time [list time $cmd $c]];

regexp {^(-?[0-9]+) +} $t _ mS1;

set ms [expr {$mS1*1.0/$c}];

return "[format %6.2f $ms] microseconds per iteration"

}

set tests {

{::ad_get_cookie x} {::ad_get_cookie ad_session_id} {::dt_systime}

{::db_name} {::db_string dbqd.null.g "select version() from dual"}

{::ad_convert_to_html "hello world"}

}

foreach t $tests {append ::_ $t ": " [mtime $t] \n}

set ::_

======================================================================

  1. … 9 more files in changeset.
Merging back to HEAD branch oacs-5-8 (using tag vg-merge-oacs-5-8-from-20141027).

  1. … 2547 more files in changeset.
- fix invalid @param declaration for API browser

  1. … 5 more files in changeset.
- fix spelling of @param

  1. … 1 more file in changeset.
- move deprecated proc_doc to depreacted utilities file

  1. … 1 more file in changeset.
- change 'util_memoize "..."' into 'util_memoize [list ...]' as pointe out by Frank for security reason and correctness

  1. … 6 more files in changeset.
- add a warning about loading old-style argument lists for ad_proc

- use lock-free ::acs::rootdir variable instead of nsv variable

  1. … 1 more file in changeset.
- reduce number of remaining "string equal" operations

  1. … 1 more file in changeset.
- replace "eval" by expand operator

  1. … 11 more files in changeset.
- brace expressions to allow for tcl compilation

- use "in" or not in (ni) operator instead of lsearch (for readability and performance)

  1. … 10 more files in changeset.
- use "in" or not in (ni) operator instead of lsearch (for readability and performance)

  1. … 2 more files in changeset.
- simply string comparisons

- use tcl 8.5 extended index format for "lindex" and "lrange"

  1. … 3 more files in changeset.
- modernize tcl

- remove unneeded "expr" in side if-expressions

  1. … 13 more files in changeset.
- change deprecated message from "Debug" to "Notice" level

Moving handling NaviServer deprecated ns_info subcommands to 0-acs-init.tcl.

  1. … 2 more files in changeset.
- turn on warning for using deprecated commands, at least during the release phase

- added victor's patch to omit deprecated messages of "ns_info tcllib". Background: naviserver supports multiple (virtual) servers, which might have different tcllibs. Therefore, the preferred command to query this was moved to "ns_server ?-server s? tcllib" and "ns_info tcllib" was deprecated. From the OpenACS point of view, one wants to locate the actual library. Since the variable does not change, it is fine to store it in a per-thread variable which can be efficiently accessed.

  1. … 21 more files in changeset.
- abstract in check for existance of a command whether this is scripted or not

- use a more modern tcl command set

  1. … 12 more files in changeset.
- Fix for Tcl 8.5: OpenACS did overwrite the Tcl built-in command

"::apply" and broke therefore all scripts/libraries using it.

Changed the name of the OpenACS function to "ad_apply" and altered

the few occurances. The fix works as well with Tcl 8.4. The proper

fix for 8.5 would be to use instead of the function the expand

operator {*}

  1. … 3 more files in changeset.
- Fix for Tcl 8.5: OpenACS did overwrite the Tcl built-in command

"::apply" and broke therefore all scripts/libraries using it.

Changed the name of the OpenACS function to "ad_apply" and altered

the few occurances. The fix works as well with Tcl 8.4. The proper

fix for 8.5 would be to use instead of the function the expand

operator {*}

  1. … 3 more files in changeset.