predefined.h

Clone Tools
  • last updated 8 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
nsf.c: - fix case, where NsfDStringPrintf() failed (when print llength including \0 was 1 byte longer than print buffer) - make sure, that the list kept for the cached parameter is just built from unshared objects; otherwise Tcl append will abort

nx.tcl:

- new package "nx::volatile"

- don't define configure parameter "-volatile" per default;

use "package req nx::volatile" instead

- don't define per method "volatile" per default;

use "::nsf::method::require ::nx::Object volatile" instead

- get rid of -volatile in nx.tcl and serializer

- update/extend regression test

  1. … 13 more files in changeset.
Traits: - changed from traits-as-objects to traits-as-classes. This allows for higher orthogonality of traits and class definitons and allows in principle traits for object-specific methods (not fully implemented/tested) - fixed property/variable inheritance in traits.

  1. … 4 more files in changeset.
- changed ::nsf::parametersyntax(..) to ::nsf::parameter::syntax(..) - xotcl2: adjusted manual parameter syntax entries to new conventions

  1. … 6 more files in changeset.
- Method and configure parameter reform

/cls/ info configure parameters ?pattern? -> list of params

/cls/ info configure syntax -> syntax output

/obj/ info method parameters /methodName/ ?/pattern/? -> list of params

/obj/ info method syntax -> syntax output

/obj/ info lookup configure parameter ?/pattern/? -> list of params

/obj/ info lookup configure syntax -> syntax output

/cls/ info parameter list|name|syntax /param/ -> value

  1. … 14 more files in changeset.
- syntax formatter: use /value/ for denoting placeholder in "... info method syntax ..."

  1. … 11 more files in changeset.
- added compile macro NSF_STACKCHECK to provide stack monitoring/debugging (especially useful for multi threaded programs, where stack is more limited)

  1. … 4 more files in changeset.
Fix typo in nsf::predefined

- update copyright notices with MIT licens from OSI (http://www.opensource.org/licenses/MIT)

  1. … 26 more files in changeset.
- add predefined.h to ease switching between branches in git

Merge branch '2.0.0-develop'

Conflicts:

.gitignore

ChangeLog

Makefile.in

apps/xml/rdfExample.xotcl

apps/xml/xmlExample.xotcl

config/mktar.sh

configure

configure.in

doc/index.html

doc/langRef-xotcl.pdf

doc/tutorial.pdf

doc/xo-daemon.html

doc/xo-whichPkg.html

generic/predefined.h

generic/predefined.xotcl

generic/xotcl.c

generic/xotcl.decls

generic/xotcl.h

generic/xotclAccessInt.h

generic/xotclAppInit.c

generic/xotclDecls.h

generic/xotclError.c

generic/xotclInt.decls

generic/xotclInt.h

generic/xotclMetaData.c

generic/xotclProfile.c

generic/xotclShadow.c

generic/xotclStubInit.c

generic/xotclStubLib.c

generic/xotclTrace.c

generic/xotclUtil.c

library/lib/changeNextVersion

library/lib/make.xotcl

library/lib/pkgIndex.tcl

library/lib/test.xotcl

library/lib/upvarcompat.xotcl

library/mongodb/tcl.m4

library/rdf/COPYRIGHT

library/rdf/rdfExample.xotcl

library/registry/COPYRIGHT

library/serialize/Serializer.xotcl

library/store/COPYRIGHT

library/xml/COPYRIGHT

library/xml/xmlExample.xotcl

library/xotcl/apps/comm/webserver.xotcl

library/xotcl/doc/langRef.xotcl

library/xotcl/doc/tutorial.html

library/xotcl/library/lib/makeDoc.xotcl

library/xotcl/library/rdf/rdfExample.xotcl

library/xotcl/library/store/XOTclGdbm/configure

library/xotcl/library/store/XOTclGdbm/configure.in

library/xotcl/library/store/XOTclSdbm/Makefile

library/xotcl/library/store/XOTclSdbm/configure

library/xotcl/library/store/XOTclSdbm/configure.in

library/xotcl/library/store/XOTclSdbm/tcl.m4

library/xotcl/library/xml/TclExpat-1.1/Makefile

library/xotcl/library/xml/TclExpat-1.1/configure

library/xotcl/library/xml/TclExpat-1.1/configure.in

library/xotcl/library/xml/TclExpat-1.1/tcl.m4

library/xotcl/library/xml/xmlExample.xotcl

library/xotcl/tests/UNIVERSAL.test

library/xotcl/tests/actiweb.test

library/xotcl/tests/persistence.test

library/xotcl/tests/slottest.xotcl

library/xotcl/tests/speedtest.xotcl

library/xotcl/tests/testo.xotcl

library/xotcl/tests/testx.xotcl

library/xotcl/tests/xoRDF.test

library/xotcl/tests/xocomm.test

tcl.m4

tests/forwardtest.xotcl

unix/tclAppInit.c

unix/tkAppInit.c

win/rc/xotcl.rc

win/winMain.c

xotcl.m4

  1. … 10 more files in changeset.
- experimentation version of unknown handler for non-pos args - extending regression test

  1. … 6 more files in changeset.
- renamed "nsf::method::dispatch" to "nsf::directdispatch" - renamed "nsf::object::dispatch" to "nsf::dispatch"

  1. … 16 more files in changeset.
- made nsf::my and nsf::object::dispatch available in the nx namespace

  1. … 4 more files in changeset.
- regularized more nsf::* names: renamed "nsf::createobjectsystem" => "nsf::objectsystem::create" renamed "nsf::unknown" => "nsf::object::unknown" renamed "nsf::dispatch" => "nsf::object::dispatch"

  1. … 17 more files in changeset.
- provided nicer registration and inspection interface for unknown handlers - added documentation for unknown handlers in tutorial - cleanup of __unknown

  1. … 8 more files in changeset.
- Use mixinregObjType as well in NsfRelationCmd(), so this is the only place, where mixin and guards are processed. - Since the type converter converts Tcl-Objs, we have less context information (e.g. we have no base class, on which we can decide to call e.g. __unknown on on of the objects systems). - because of the point above, i removed ::xotcl::Class->__unknown and ::nx::Class->__unknown in favor of a global proc ::nsf::unknown, for which unknown handlers can be registered - GetClassFromObj() receives as last argument "withUnknown" instead of baseClass to indicate, when unknown should be tried. - new function NsfCallUnkownHandler()

  1. … 9 more files in changeset.
- nsf.c: * moved implementation of ::nsf::method::delete to C * produce same error messages when methods are delete via nsf::method::delete and nsf::method::create {} {} * Prohibit deletion of methods during shutdown. Otherwise when destructors delete methods, some other destructors depending on these methods will fail. Cleanup deletes all methods anyway. * Provided alternative (faster) way of dispatching nsf::procs (can be tured off with NSF_INVOKE_SHADOWED_TRADITIONAL) * renamed NsfMethodCmd() into NsfMethodCreateCmd() for consistency * nsf works with OpenACS again (requires new nstrace.tcl, aolserver-openacs.tcl, and 01-debug-procs.tcl).

  1. … 7 more files in changeset.
- nx: * removed methods ::nx::Class.alloc and ::nx::Class.dealloc from predefined method-set

* added defintions such that these methods can be loaded via

::nsf::method::require ::nx::Class alloc

::nsf::method::require ::nx::Class dealloc

* make explicit that "method ... require" returns a method-handle

* removed misleading reference in error message, when a class-spefic

method was called on an object; solution is somewhat dangerous for

potentially unknwon client data

* added regression tests

  1. … 9 more files in changeset.
- changed named of method handling commands in nsf: ::nsf::provide_method => ::nsf::method::provide ::nsf::require_method => ::nsf::method::require

  1. … 6 more files in changeset.
- changed named of method handling commands in nsf: ::nsf::methodproperty => ::nsf::method::property ::nsf::method => ::nsf::method::create ::nsf::methoddelete => ::nsf::method::delete ::nsf::alias => ::nsf::method::alias ::nsf::forward => ::nsf::method::forward ::nsf::setter => ::nsf::method::setter (updated regression test, docs, ...)

  1. … 24 more files in changeset.
- fixed potential crash with -param:switch - added "... info method exists ...."

  1. … 6 more files in changeset.
- added first version of "nsf::methoddelete" - extended regression test - updated TODO

  1. … 3 more files in changeset.
- nsf::proc: alloc shadowed methods in ::nsf::procs - new helper function ::proc strip_proc_name to strip nsf::procs prefix - improve error messages - reduce verbosity - removed the following obsolete macros: ALLOC_NAME_NS, ALLOC_TOP_NS, ALLOC_DSTRING

  1. … 5 more files in changeset.
- added experimental ::nsf::proc for realization of procs with next scripting argument passing. These nsf::procs improve the orthogonality of the code (using e.g. nonpos args and value checker for procs) and allows the same introspection interface (info method parameter|parametersyntax, ...)

  1. … 6 more files in changeset.
- defined nsf::deprecated as tcl proc, using ::nsf::log - some minor refactoring

  1. … 5 more files in changeset.
- 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.
- 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.
- implemented exported command ::nsf::self as fast conveniance replacement for "::nsf::current object".

  1. … 8 more files in changeset.
- renamed some arguments of tcl interface to increase consistency - make requiredness explicit for nsf::cmds - introduce ::nsf::parametersyntax to provide syntax for potentially missing definitions - provided ::nsf::parametersyntax for 3 ::nsf commands and 7 nx methods (from relationslots)

  1. … 6 more files in changeset.