nsf.c

Clone Tools
  • last updated 13 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- made assertion code optional - added and renamed additions compile flags NSF_WITH_INHERIT_NAMESPACES NSF_WITH_OS_RESOLVER NSF_WITH_ASSERTIONS

  1. … 3 more files in changeset.
- nsf.c: code cleanup and documentation improvements

- nsf.c: renamed MethodNameString() to MethodName() (for consistency with ObjectName() and ClassName()) - raise error, when "obj :method ..." is invoked (colon misleading und not necessary) - remove colon from method name in error message "unable to dispatch method ...." - extended regression test

  1. … 2 more files in changeset.
- added preprocessor swithch INHERIT_NAMESPACES_TO_CHILD_OBJECTS

  1. … 1 more file in changeset.
- use MethodNameString() in ensemble-next instead of local logic

- added deletion functionality to nsf::mixin - moved handling of methodNames of c-cmds to ResolveMethodName() - extended regression test

  1. … 5 more files in changeset.
- nsf.c / ListCmdParams(): Fixed a crash scenario when relying on the methodName for trying to resolve the parametersyntax for C-implemented commands. In these cases, methodName stands for a null pointer, so we need to fall back to Tcl_GetCommandName(). - nsf.tcl / ::nsf::mixin: The proc implementation used "mixin" rather than "class-mixin" as (default) relation type.

  1. … 2 more files in changeset.
- Experimental Object-System specific resolver in method bodies (allows resolving to the "right" next, self, etc. without namespace imports/paths) - deactivated automatic namespace path copying for child-objects - extended regression test

  1. … 4 more files in changeset.
- frame skipping in cmdresolver apprantly not needed anymore

- 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. … 7 more files in changeset.
- made error messages more consistent - improved error messages for "returns" and "nsf::is" (omit parameter name)

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

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

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

- new printf-style error message generator: NsfPrintError() - simplified error handling: removed NsfVarErrMsg() and NsfErrMsg() and replaced it by NsfPrintError()

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

  1. … 4 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. … 11 more files in changeset.
- provide a generic logging interface * predefined for plain Tcl and aolserver/naviserver * C-level: NsfLog() * Tcl-level: ::nsf::log

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

  1. … 3 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.
- 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. … 3 more files in changeset.
- make handling of redefinitions in system methods more robust

  1. … 1 more file in changeset.