Makefile.in

Clone Tools
  • last updated 5 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- add target for cppcheck with same arguments as for compilation

Removing traces of nxdoc

- add test file nsf-cmd.test

gentclAPI.tcl: - handle duplicated domains by folding these to a single definition

nsf.c:

- added command nsf::method::get.

Rationale: provide a central place to obtain information

about all kind of method handles, which might be

- scripted and c-based methods

- nsf::procs

- plain tcl procs

- cmds (with and without paramter definitions)

- make results of ListMethod() robust against missing

information (e.g. plain tcl cmds, missing object registrations,

etc.)

- factor out common code for ListMethod call sites

for per-object methods, instance methods and procs/cmds

to ListMethodResolve()

- return errors from failing converter registrations

- extend regression test (new test set nsf-method.test)

  1. … 7 more files in changeset.
- fix compilation for OpenSolaris (e.g. OmniOS)

- fix compilation for OpenSolaris (e.g. OmniOS)

nx.tcl: - add slot method value=unset to nx::RelationSlot and nx::VariableSlot - extended regression test

  1. … 3 more files in changeset.
- update more copyright notices

  1. … 31 more files in changeset.
- stick closer to TEA conventions (keep tclconfig-sh in tclconfig directory) - remove obsolete version of install-sh, copy manifested version to mongodb library - fix more configure quoting

  1. … 11 more files in changeset.
small introspection reform: - Introspection for commands and arguments did not work for cmds defined in subpackages (such as mongodb). We keep now this information in hashtables and maintain a slim interface for this. - fix generation of pkgIndex.tcl for mongodb

  1. … 13 more files in changeset.
build-process: - replace make.tcl by the much simpler mkIndex.tcl: * Does not use pkg_mkIndex * Does not load binary files (problem for cross compiling) * Requires package provide with constant in one line.

  1. … 11 more files in changeset.
- add traits.test to the regression tests

- provide datarootdir to get rid of warning during configure

  1. … 1 more file in changeset.
- update hint at end of build for NaviServer

- made linearization monotonic (for multiple inheritance) via single-inheritance linearization merging while preserving overall linearization rules - added flag NSF_LINEARIZER_TRACE - extended regression test

  1. … 4 more files in changeset.
- added sample script doc/example-scripts/tk-geo.tcl

  1. … 4 more files in changeset.
mongodb: - integrated configuration of mongodb into toplevel configfile option: --with-mongodb=MONGO_INCLUDE_DIR,MONGO_LIB_DIR - added regression test files for mongodb support (lowlevel (tcl-only) and highlevel (nx based oo support)) - integrated mongodb-testfiles with "make test" - reduced verbosity of nx-mongo.tcl (added verbosty variable)

  1. … 21 more files in changeset.
- added example scripts rosetta-sudoku.{tcl,html} and tk-ludo.{tcl,html}

  1. … 5 more files in changeset.
- prepare for providing nx as a tcl module (.tm file). this is just a preparation, since for testing, one cannot set up a path that prefers a local copy over a global installed one (the global tcl-site is preferred over the one specified in e.g. TCL8_5_TM_PATH)

  1. … 3 more files in changeset.
- remove doc target from "install-doc" since this takes a while in a "make install"

- don't build doc always, since it takes a long time

- added rules for generating pdf to ease release management

package nx::class-method: - convenience package similar to nx::plain-object-method - allow for usage "C class method ..." in addition to "C object method". - made warnings configurable via nx::configure class-method-warning on|off - completed coverage and test cases

  1. … 5 more files in changeset.
- added new regression test info-variables.test

  1. … 2 more files in changeset.
Object-method Reform: - changed interface to object specific commands by requiring an ensemble named "object". The rational behind is essentially to use always the same info command to retrieve object specific methods, no matter whether these are defined on a plain object or an a class object (does not break the "contract" what e.g. "info method" returns).

Now we define methods via:

/cls/ method foo {args} {...body...}

/cls/ object method foo {args} {...body...}

/obj/ object method foo {args} {...body...}

Similarly, aliases, forwards and mixins are defined, e.g.

/cls/ mixin add ...

/cls/ object mixin add ...

/obj/ object mixin add ...

/obj/ require object method ...

The same change propagated as well to the "info" method.

Now we have:

/cls/ info methods ...

/cls/ info object methods ...

/obj/ info object methods ...

Similar, the object parametererization uses

/cls/ create obj -object-mixin M

/cls/ create obj -object-filter f

/metacls/ create cls -mixin M1 -object-mixin M2

/metacls/ create cls -filter f1 -object-filter f2

- as a consequence,

a) "/cls/ class method ...",

"/cls/ class alias ...",

"/cls/ class forward ...",

"/cls/ class filter ...",

"/cls/ class mixin ...",

"/cls/ class info ..."

"/obj/ class method require method ..."

"/obj/ class method require public method ..."

"/obj/ class method require protected method ..."

"/obj/ class method require private method ..."

were dropped

b) "/obj/ method ....",

"/obj/ alias ....",

"/obj/ forward ...."

"/obj/ filter ...."

"/obj/ mixin ...."

"/obj/ info method*"

"/cls/ create obj -mixin M"

"/cls/ create obj -filter f"

"/obj/ method require method ..."

"/obj/ method require public method ..."

"/obj/ method require protected method ..."

"/obj/ method require private method ..."

were dropped

- added package nx::class to allow optionally the "class" notation

"/cls/ class method ..." (and friends, see (a)), and

"/cls/ class info ...

- added package nx::plain-object-method to allow optionally plain method

b) "/obj/ method ...." (and friends, see (b))

- add support to slots to use ensemble methods as setters

  1. … 43 more files in changeset.
The asciidoc-related configuration artifacts, especially for Tcl/NSF-specific code highlighting, are now contained in the source distribution and integrated with the respective make targets. Besides a running asciidoc installation, there is no further configuration need. Tested with asciidoc 8.6.8

  1. … 2 more files in changeset.
Property reform part 1:

- disallow protection modifiers for "properties" and

add new flag "-accessor" to "property" and "variable"

This changes definitions like

Class create C {

:property {a a1}

:public property {b b1}

:protected property {c c1}

:private property {d d1}

}

to

Class create C {

:property {a a1}

:property -accessor public {b b1}

:property -accessor protected {c c1}

:property -accessor private {d d1}

}

since "properties" are always public accessible

over the "configure" and "cget" interface, but the

accessors methods might not be public. The value of

the accessor might be also "none" (specifying explicitely

that no accessor is wanted) or "", which means: use the default.

Same holds for "variable"

- disallow parameter option "incremental" and change it to a flag

of the property or variable. The motivation for this is due to

the fact, that "incremental" is a property of the accessor, and

not of the value.

old:

Class create C {

:property foo:int,incremental

:variable bar:int,incremental

}

new:

Class create C {

:property -incremental foo:int

:variable -incremental bar:int

}

- disallow "public class property" and friends since these are not needed

- removed parameter property "noaccessor"

- removed "nx::configure defaultPropertyCallProtection" and

method hook "__default_property_call_protection"

- introduced "nx::configure defaultAccessor" and

method hook "__default_accessor"

- for the time being, "defaultAccessor" is "public" for NX and XOTcl,

will be changed to "none" in NX

- extended regression test (new file properties.test)

  1. … 16 more files in changeset.
- renamed testlog file, remove it on "make clean"

  1. … 2 more files in changeset.
nsf.c: - made argument of cget required

nx.tcl:

- added Tk-style methods "configure" and "cget"

- added additional regression test set for cget and configure

  1. … 7 more files in changeset.
nx::test: - added summary at the end of "make test" via log file - updated .gitignore

  1. … 4 more files in changeset.