predefined.h

Clone Tools
  • last updated 9 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Improve portability (restict length of literal strings <= 4095)

Adress literal limitaton in ISO C99, that requires compilers to support

only strings up to 4095 bytes. As a consequence, we have to split

the compiled-in literal commands into two parts.

  1. … 7 more files in changeset.
* nsfDebug.c (NsfInitPkgConfig): Provide NSF configuration data via the TIP 59 interface (::nsf::pkgconfig).

  1. … 5 more files in changeset.
Remove merge artifact

merged

  1. … 3 more files in changeset.
nsf.tcl (::nsf::debug::*): Switch to notice severity level

  1. … 1 more file in changeset.
- define stubproc always, when "-deprecated" was used - use "Debug" severity for debug messages

  1. … 2 more files in changeset.
- cleanup up and improve debug statements - add generated code

  1. … 2 more files in changeset.
- add result in debug exit calls

  1. … 2 more files in changeset.
- nx: added flag "-debug" and "-deprecated" to methods "method" "object method" "alias" "object alias" "forward" "object forward" such one can use e.g. /cls/ public alias -deprecated|-debug /method/ ... /cls/ public forward -deprecated|-debug /method/ ... /cls/ public method -deprecated|-debug /method/ ... /obj/ public object alias -deprecated|-debug /method/ ... /obj/ public object forward -deprecated|-debug /method/ ... /obj/ public object method -deprecated|-debug /method/ ...

- added new cmd:

nsf::method::property /obj/ ?-per-object? /method/ exists

to check, whether a method is defined for an object.

- output triggered via "-debug" is now generated via the

tcl functions "nsf::debug::call" and "nsf::debug::exit",

that can be redefined (similar to e.g. nsf::deprecated)

- cleanup of nsfProfile.c commands

- extended regression test

  1. … 13 more files in changeset.
- added nsf::method::property /obj/ /method/ debug ?0|1? when debug is activated, a debug line written to the log file when the function is called and exited

- added nsf::method::property /obj/ /method/ deprecated ?0|1?

when deprecated is activated, a warning written to the log file when

the function is called

- added flags to nsf::proc: -debug and -deprecated

(can als be set via nsf::method::property with an arbitrary object

and proc passed fully qualified)

- bumped version number to 2.0.1

  1. … 11 more files in changeset.
nsf.c - renamed parameter::get -> parameter::info - renamed method::get -> cmd::info

  1. … 10 more files in changeset.
- renamed nsf::relation to nsf::relation::set and added nsf::relation::get in accordance with nsf::var::get

  1. … 17 more files in changeset.
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.