tcl-documentation-procs.tcl

  • last updated 5 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
provide name for mutexes to ease spotting potential locks

  1. … 1 more file in changeset.
Important, although very simple reform in the page-contract filters: do not kill the case in the filter specs, or filters such as "w:oneof(One|Two)" or "locale:oneof(en_US|de_DE)" would not have a chance to match

Note that this makes the contracts stricter with respect to case, which might break obscure use cases...

fix typo

improve spelling: move closer to the linux documentation recommendations

  1. … 34 more files in changeset.
make minus sign optional again

fix typos

  1. … 1 more file in changeset.
Make number checking more strict (allow just number literals, which are OK for Tcl and SQL)

Deprecated get_referrer and NsSettoTclString, replace them with versions that respect OpenACS naming convention

  1. … 7 more files in changeset.
Avoid double flagging for non-optional values having "notnull" specified.

Previously, there was a complaint from "notnull" and one from "not optional"

improve spelling

  1. … 15 more files in changeset.
Fix parameter name and rework proc doc

Simplify expressions

Whitespace changes

make former private functions, used in several packages to public functions

  1. … 4 more files in changeset.
Fix parenthesis and simplify idiom

Allow themeing of /packages/acs-tcl/lib/complain

improve spelling

  1. … 12 more files in changeset.
fix documentation (fix for #3345)

improve wording

  1. … 7 more files in changeset.
Revert massive replacement of empty list creation sentences. The use of '[list]' instead of '{}' adds semantics that could be used for performance improvements in the future, such as using a different internal representation. There is already work in this direction, avoiding the generation of the string representation during comparison of empty strings (huge thanks to Stefan Sobernig for the pointer: https://core.tcl.tk/tcl/info/44527c632ed609c2).

  1. … 475 more files in changeset.
Prefer '{}' to '[list]' when creating empty lists

  1. … 71 more files in changeset.
fix typos

  1. … 7 more files in changeset.
Fix typos

  1. … 31 more files in changeset.
Part 3 of scalability improvement: provide lock-free implementation of

ad_page_contract_filter_rules. If nothing bad shows up, the

underlaying nsv-arrays can be removed completely.

If one looks at the top 10 nsv mutex locks of a rather busy site

(nsd running for 3 days), one can see the ad_page_contract_filters

and ad_page_contract_filter_rules belong to the most frequent

mutex locks, which can be avoided at completely. These two

arrays make up of nearly 40% of the top 10 nsv locks.

ad_page_contract_filters 38042679

api_proc_doc 37717019

ad_page_contract_filter_rules 26036060

::xotcl::THREAD 18628540

OACS_FULLQUERIES 17771146

ds_properties 7855339

rp_extension_handlers 6837414

apm_subsite_packages_list 3524672

apm_reload_watch 3514474

apm_properties 3514472

Part 2 of scalability improvement: provide lock-free implementation of ad_page_contract_filters (*rules are still missing)

fix documentation

Improve scalability by reducing the number of locks on ad_page_contract_filters (this nsv receives the most locks on e.g. openacs.org)

clean up expression: no need to use backslashes in tcl expression

add oneof(red|green|blue) to page filters

  1. … 1 more file in changeset.
replace "catch" by "ad_try"

  1. … 1 more file in changeset.