generic

Clone Tools
  • last updated 17 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- fixed in bug in ensemble-next (removed colon-prefix from methodname in next) - extended regression test

  1. … 2 more files in changeset.
- "/obj/ info method parametersyntax /method/": return results of ::nsf::parametersyntax in case, the parametersyntax cannot obtained from a parameter definition (e.g. the method is a forwarder to a tcl cmd).

  1. … 4 more files in changeset.
- streamlined error messages - removed NsfErrBadVal() and replaced it with a generalized version of NsfObjErrType(

  1. … 1 more file in changeset.
- made error messages more consistent - improved error messages for "returns" and "nsf::is" (omit parameter name)

  1. … 4 more files in changeset.
- provide warning if nonpositional argument is passed more than once

  1. … 1 more file in changeset.
- further cleanup of error procs: eliminated NsfObjErrArgCnt() - improve error message, when too many arguments are passed

  1. … 4 more files in changeset.
- minor cleanup

- added strnstr emulation for installations without having it

  1. … 2 more files in changeset.
- new printf-style error message generator: NsfPrintError() - simplified error handling: removed NsfVarErrMsg() and NsfErrMsg() and replaced it by NsfPrintError()

  1. … 4 more files in changeset.
- fixed bug with required last object parameter without provided value - extended regression test

  1. … 3 more files in changeset.
- apply allowempty only on list, and not to elements

  1. … 1 more file in changeset.
- introduced a few forms of multiplicty * 0..1 allow empty value * 0..* list, can be empty (equivalent to 0..n) * 1..* list, cannot be empty (equivalent to 1..n) - deprecate multivalued in parameter specs in favor of multiplicty - deprecate allowempty in parameter specs in favor of multiplicty - adjust regression test

  1. … 8 more files in changeset.
- make "... info children ?pattern?" compliant with XOTcl 1; if pattern contains no wildcard and is no absolute path, nsf completes it. (eg. Object create o; Object create o:x; o info children x" will return ::o::x) - extended regression test

  1. … 2 more files in changeset.
- quote name of referenced parameter in error message to ease reading - new parameter checker "parameter", performing an approximate checking for valid parameter specs - set NSF_ARG_CHECK_NONPOS only when there are multiple arguments - remove space checking for NSF_ARG_CHECK_NONPOS in favor of parameter checker

  1. … 8 more files in changeset.
- provide a generic logging interface * predefined for plain Tcl and aolserver/naviserver * C-level: NsfLog() * Tcl-level: ::nsf::log

  1. … 1 more file in changeset.
- xotcl2.tcl: fix the default init handler - nsf.c: provide warnings when unchecked parameter values might conflict with nonpos args

  1. … 2 more files in changeset.
- nsf.c: aquire parameter structure for returns more lazyly (otherwise, a serializer handling returns would aquire the structure for every argument) - extend regression test

  1. … 1 more file in changeset.
- Fixed an issue when accessing partly initialised NsfParamDefs (created e.g. by [::nsf::methodproperty ... returns]) from [info method] subcommands, previously leading to invalid memory accesses. Added a test to tests/returns.test. - Minor correction: xotcl2's method_handle_to_xotcl was not aware of the change to "class-object" as scope modifier.

  1. … 2 more files in changeset.
- NSDeleteChildren: delete objects before classes - NSDeleteChildren: delete here aliases as well - fix potential crash when "next" is called from a non-proc frame.

  1. … 2 more files in changeset.
Accomplishments: - Completed a first version of the sandboxed (partial) evaluation of Tcl source artifacts (packages, script files, C extensions) based on a dedicated child/slave interp environment: see ::nx::doc::Sandbox; the test suite and the test documentation builts run on it. - Based on this infrastructure, we can now generate a snapshot of a program's structure to be documented (and contrast it to the explicitly documented structure). - Added simplistic css sprites for visualising the doc entity status (extra, missing, mismatch, complete); see also library/lib/doc-assets/status.svg and library/lib/doc-assets/status.png - The entity status is printed optionally along with the print name of an entity - Added switch-like parts to represent properties of doc entities: @deprecated, @stashed, @c-implemented, @syshook. The implementation and use of ::nx::doc::SwitchAttribute should be reviewed after having figured out how to proceed using "switching" objparams. - I provide a multi-property dispatcher as doc-syntactic sugar and for mere convenience: @property

Various:

- Corrected some div-boxing mess in the templates

- Added a filtered helper to process entity collections

- Made the mixin layer infrastructure more symmetric (a revoke operation).

- Added tracers for ::nsf::method and ::nsf::alias (remains to be completed)

- Renamed ::nx::doc to ::nx::processor and turned it into another

mixin layer to trace the doc entity creation in e.g. readin()

- Companion (*.nxd) files: Revised the handling of companion

files. Temporarily moved generic/nsf.nxd in the top-level

directory. We need to find a permanent place as its location is

currently derived from the location of the shared extension. A

candidate is doc/ but this is not linked to the shared extension

location at all.

- processor.readin() now returns a collection of entities created

during its execution.

- Improved robustedness and orthogonality: destroy hooks; the

tag-dispatcher can now handle empty comment lines; when placing NSF

object tracer, we now use the freshly added introspection of an

object system's method aliases.

  1. … 12 more files in changeset.
- Don't allow to call objects as methods (for the time being) via absolute names

  1. … 1 more file in changeset.
- follow Tcl nameing convention (uppercase functions)

  1. … 1 more file in changeset.
- make handling of redefinitions in system methods more robust

  1. … 1 more file in changeset.
- improve robustness of varresolver for unconfigured objects

  1. … 1 more file in changeset.
Merge branch '2.0.0-develop' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/xotcl into 2.0.0-develop

Conflicts:

TODO

  1. … 1 more file in changeset.
- Fixed switching between INACTIVE_MIXIN frames to ACTIVE_MIXIN frames - Extended regression test

  1. … 2 more files in changeset.
- don't leave error message when __default_superclass (or __default_metaclass) is not set

  1. … 1 more file in changeset.
- small cleanup

- Conditionally disabling redefine protection (based on the presence of a global var ::nsf::bootstrap) failed due to the result flag not being set to TCL_OK in this case. - Adding a (redundant) [package provide nsf /version/] to the ifneeded script in nsf's pkgIndex.tcl. Background: [load] is only executed once (leaving aside [unload]) for a given interp. Hence, the initialization function and its Tcl_PkgProvide() call are only performed once. A subsequent [package forget] and [package req] barfs because the package version information is removed internally upon [package forget]:

"attempt to provide package nsf 2.0.0 failed: no version of package

nsf provided"

The Tcl docu provides hints on this requirement (for C

extensions); see man for [package provide]:

"[package provide] is typically invoked once as part of an ifneeded

script, and again by the package itself when it is finally loaded."

Note that most C-extension packages (sqlite, tdom) do not meet this

requirement.

  1. … 1 more file in changeset.
- keep DEVELOPMENT macro