[Sciviews-commits] r477 - in pkg/tcltk2/inst/tklibs: . snit1.0
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Tue May 1 23:14:08 CEST 2012
Author: phgrosjean
Date: 2012-05-01 23:14:07 +0200 (Tue, 01 May 2012)
New Revision: 477
Added:
pkg/tcltk2/inst/tklibs/snit1.0/
pkg/tcltk2/inst/tklibs/snit1.0/ChangeLog
pkg/tcltk2/inst/tklibs/snit1.0/README.txt
pkg/tcltk2/inst/tklibs/snit1.0/dictionary.txt
pkg/tcltk2/inst/tklibs/snit1.0/license.txt
pkg/tcltk2/inst/tklibs/snit1.0/pkgIndex.tcl
pkg/tcltk2/inst/tklibs/snit1.0/roadmap.txt
pkg/tcltk2/inst/tklibs/snit1.0/snit.html
pkg/tcltk2/inst/tklibs/snit1.0/snit.man
pkg/tcltk2/inst/tklibs/snit1.0/snit.tcl
pkg/tcltk2/inst/tklibs/snit1.0/snit.test
pkg/tcltk2/inst/tklibs/snit1.0/snitfaq.html
pkg/tcltk2/inst/tklibs/snit1.0/snitfaq.man
Log:
Readding snit1.0 in tcltk2
Added: pkg/tcltk2/inst/tklibs/snit1.0/ChangeLog
===================================================================
--- pkg/tcltk2/inst/tklibs/snit1.0/ChangeLog (rev 0)
+++ pkg/tcltk2/inst/tklibs/snit1.0/ChangeLog 2012-05-01 21:14:07 UTC (rev 477)
@@ -0,0 +1,750 @@
+2005-06-04 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl, snit.man, snitfaq.man: Updated the copyright
+ information to 2005.
+ * snit.html, faq.html: Removed these files, as they are obsolete.
+ snit.man and snitfaq.man contain the up-to-date documentation.
+
+2005-06-04 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl: Bumped the version number to 1.0
+ * pkgIndex.tcl: Bumped the version number to 1.0.
+ * dictionary.txt: Bumped the version number to 1.0.
+ * snit.man: Bumped the version number to 1.0.
+ * snitfaq.man: Bumped the version number to 1.0.
+
+2005-06-04 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl (::snit::RT.DestroyObject)
+ * snit.test (test bug-2.1, bug-2.2):
+ Fixed [SF Tcllib Bug 1106375].
+
+2005-06-04 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl (::snit::Comp.statement.destructor):
+ * snit.test (test bug-1.1)
+ Fixed [SF Tcllib Bug 1161779].
+
+2005-06-04 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl: Checked a number of small optimizations Jeff Hobbs
+ sent me. Bumped the version number to 0.98.
+ * pkgIndex.tcl: Bumped the version number to 0.98.
+ * dictionary.txt: Bumped the version number to 0.98.
+ * snit.man: Bumped the version number to 0.98.
+ * snitfaq.man: Bumped the version number to 0.98.
+
+2005-04-11 Marty Backe <marty at lucidway.org>
+
+ * snit.man: Fixed typo in the -configuremethod example.
+
+2005-02-14 Andreas Kupries <andreask at activestate.com>
+
+ * snitfaq.man: Fixed a number of typos reported by Bob Techentin,
+ see [SF Tcllib Bug 1050674].
+
+2004-10-05 Andreas Kupries <andreas_kupries at users.sourceforge.net>
+
+ *
+ * Released and tagged Tcllib 1.7 ========================
+ *
+
+2004-09-23 Andreas Kupries <andreas_kupries at users.sourceforge.net>
+
+ * snit.test: Fixed the tests which were dependent on the exact
+ order of results returned by [array names]. Which failed for Tcl
+ 8.5. Added lsort and updated expected results, for canonical
+ comparison.
+
+2004-09-18 Will Duquette <will at wjduquette.com>
+
+ * snit.man: Documented hierarchical methods and typemethods.
+
+ * Everything: Updated version to 0.97.
+
+2004-09-16 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl In "component foo -public name", the "-public
+ name" part is now implemented as "delegate method
+ {name *} to foo".
+ * snit.test Added tests for "$type info typemethods", "$self
+ info typemethods" and "$self info methods" for the
+ case of hierarchical methods/typemethods, and
+ fixed related bugs in snit.tcl.
+
+2004-09-14 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Modified the implementation of hierarchical methods;
+ * snit.test this involved extending the syntax of method
+ "using" patterns to better support the
+ hiearchical case.
+
+ * snit.tcl Extended the "delegate method *" and
+ * snit.test "delegate typemethod *" syntax to work better with
+ hierarchical methods.
+ E.g., "delegate method {tail *} to tail" now maps
+ "$self tail wag" to "$tail wag"
+
+2004-09-12 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Added support for hierarchical type methods,
+ * snit.test analogously to the support for regular methods.
+ * README.txt
+
+ * snit.tcl Refactored the compilation of hierarchical
+ * snit.test methods and typemethods to remove duplicated code.
+
+2004-09-10 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Added support for hierarchical methods: methods
+ * snit.test with submethods. The documentation has not yet
+ * README.txt been updated.
+
+ * snit.tcl Bug fix: "delegate method {a b} to comp" now produces
+ * snit.test the call "$comp a b" instead of "$comp a_b".
+
+2004-09-04 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Bug fix: read-only options were read-only only
+ * snit.test if they weren't set at creation time; the
+ * README.txt configure cache wasn't being cleared properly
+ after creation.
+
+2004-08-28 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl: Minor tweaks to instance creation to improve
+ * dictionary speed. No major gain. Also, -simpledispatch yes
+ * snit.man now supports instance renaming again.
+ * snitfaq.man
+
+
+2004-08-22 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Defined the -simpledispatch pragma. Updated
+ * snit.test the test suite and the relevant documentation.
+ * snit.man
+ * README.txt
+ * snitfaq.man
+ * dictionary
+
+2004-08-14 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Defined the -hastypemethods pragma, and added
+ * snit.test relevant tests and documentation.
+ * snit.man
+ * README.txt
+ * snitfaq.man
+
+2004-08-12 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Under appropriate conditions, calling a
+ * snit.test snit::type command with no arguments will create
+ * snit.man an instance with an automatically generated name.
+ * README.txt
+
+2004-08-11 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Added the -hasinfo pragma, along with the
+ * snit.test appropriate tests. Updated documentation.
+ * snit.man
+ * README.txt
+
+ * snit.tcl The "configure", "configurelist" and "cget"
+ * snit.test instance methods, along with the "options"
+ * snit.man instance variable, are defined only if the
+ * README.txt type defines at least one option (either
+ locally or by delegation).
+
+2004-08-07 Will Duquette <will at wjduquette.com>
+
+ * All files Updated to Snit V0.96 for post-0.95 development.
+ Fixed bug: methods called via [mymethod] can now
+ return exotic return codes, e.g.,
+ "return -code break"
+
+2004-08-04 Will Duquette <will at wjduquette.com>
+
+ * snitfaq.man Updated the Snit FAQ document.
+
+ * snit.man Finalized Snit V0.95, and updated the version number
+ * snit.tcl throughout.
+ * pkgIndex.tcl
+ * README.txt
+
+2004-07-27 Will Duquette <will at wjduquette.com>
+
+ * snit.man Updated the manpage to describe the new "pragma"
+ statement. Also, changed the SNIT acronym in the
+ title to "Simple Now In Tcl", i.e., objects are
+ now simple.
+
+ * snit.tcl Added another pragma, -canreplace. If false
+ * snit.test (the default) snit::types can no longer create
+ * README.txt instances which replace existing Tcl commands.
+ * snit.man Setting "pragma -canreplace yes" restores the
+ * dictionary previous behavior.
+
+ * snit.tcl The type definition statements "variable" and
+ * snit.test "typevariable" now take a "-array" option that
+ * README.txt allows them to initialize array variables with
+ * snit.man an "array set" list.
+
+ * snit.test Fixed Snit bug 899207 (snit test failures)
+
+ * snit.tcl Added new instance introspection methods
+ * snit.test "info typemethods" and "info methods", and a new
+ * README.txt type introspection typemethod "info typemethods".
+ * snit.man
+ * roadmap.txt
+
+ * snit.man Reviewed the entire man page, and made copious
+ changes and fixes.
+
+ * snit.tcl Revised many of the error messages to be more
+ * snit.test Tcl/Tk-like. Double-quotes are used instead of
+ single quotes, and terminal periods are omitted.
+
+ * snit.tcl Added some code to method and typemethod dispatch
+ * snit.test so that the return code (e.g., return -code break)
+ returned by the method/typemethod code is passed
+ along unchanged. This is mostly so that methods
+ and typemethods can conditionally break in event
+ bindings.
+
+2004-07-26 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Implemented -configuremethod and configure command
+ * snit.test caching; added tests to ensure that the cache is
+ * roadmap.txt cleared when necessary. Implemented -validatemethod
+ * dictionary and added tests. Implemented -readonly and added
+ * README.txt tests.
+
+ * snit.man Updated the man page with the new option
+ definition syntax.
+
+ * snit.tcl Added the "pragma" statement, and three pragma
+ * snit.test options, -hastypeinfo, -hastypedestroy, and
+ * roadmap.txt -hasinstances, plus related tests. It still
+ * dictionary needs to be documented.
+
+2004-07-25 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Renamed some procs for clarity, and repaired some
+ * roadmap.txt omissions in roadmap.txt. Added "cget" command
+ * snit.test caching for additional speed-up.
+ * dictionary.txt
+
+2004-07-24 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl (::snit::RT.MethodCacheLookup): The cached command
+ is now generated as a list, not a string; this
+ improves the speed of method invocation by quite a
+ bit.
+
+2004-07-24 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Consolidated the option typevariables into a
+ * dictionary single array, Snit_optionInfo. Implemented
+ * roadmap.txt parsing of the new option definition syntax;
+ * snit.test the -validatemethod, -configuremethod, and
+ -cgetmethod options as yet have no effect.
+ Added tests to ensure that the 'option' and
+ 'delegate option' statements populate
+ Snit_optionInfo properly.
+
+ Added "starcomp" to the Snit_optionInfo array.
+ When "delegate option *" is used, "*" no longer
+ has a "target-$opt" entry, nor does it appear
+ in "delegated-$comp". Instead, "starcomp" is the
+ name of the component to which option "*" is
+ delegated, or "".
+
+ Reimplemented user-defined "cget" handlers using
+ the "-cgetmethod" option definition option.
+ The "oncget" statement now defines a method, and
+ sets the option.
+
+2004-07-21 Will Duquette <will at wjduquette.com>
+
+ * README.txt Updated to reflect recent changes.
+ * snit.man
+
+2004-07-20 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Finished the refactoring job. All extraneous
+ * roadmap.txt code has been moved from the type templates to the
+ ::snit:: runtime.
+
+2004-07-19 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Refactored %TYPE%::Snit_optionget to
+ * roadmap.txt ::snit::RT.OptionDbGet. Refactored
+ %TYPE%::Snit_cleanup to ::snit::RT.DestroyObject,
+ %TYPE%::Snit_tracer to ::snit::RT.InstanceTrace,
+ and %TYPE%::Snit_removetrace to
+ ::snit::RT.RemoveInstanceTrace.
+
+2004-07-17 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Added "delegate typemethod ..." in all its glory,
+ * snit.test including "delegate typemethod *". Made it
+ * dictionary.txt Possible to delegate an instance method to a
+ * roadmap.txt typecomponent. Added tests to ensure that
+ variable/typevariable and component/typecomponent
+ names do not collide. Updated a number of
+ compilation error messages for consistency.
+ Moved the remaining typemethod definitions from the
+ template code and replaced them delegations to
+ the Snit runtime library. Added/modified
+ relevant tests, and updated the roadmap and
+ dictionary files.
+
+2004-07-15 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Replaced the old typemethod definition and
+ cacheLookup code with new pattern-based code, just
+ like the method definition and lookup. The
+ cache lookup routine doesn't yet understand
+ typemethod "*". The next step is to implement
+ typecomponents and "delegate typemethod".
+
+ * dictionary.txt Documented the changes related to the above
+ change.
+
+2004-07-14 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Replaced %TYPE%::Snit_comptrace with
+ snit::RT.ComponentTrace.
+
+ Replaced %TYPE%::Snit_cacheLookup with
+ snit::RT.MethodCacheLookup
+
+ Replaced %TYPE%::Snit_typeCacheLookup with
+ snit::RT.TypemethodCacheLookup
+
+ * snit.test Added a test to verify that a widget's hull
+ component cannot be altered once it is set.
+
+ * roadmap.txt Documents the internal structure of snit.tcl.
+
+2004-07-11 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Renamed a number of internal commands, for
+ clarity.
+
+ Refactored the standard method bodies
+ out of the type definition and into the Snit
+ runtime using delegation.
+
+ Defined snit::compile which compiles a
+ type definition into the Tcl script which
+ actually defines the type.
+
+ * snit.test Added and modified appropriate tests.
+
+ * README.txt Added a bullet about snit::compile.
+
+2004-07-05 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Replaced the old method cacheLookup code with new
+ code based on command patterns. All tests pass;
+ no test changes were needed. All is now ready to
+ add the new "delegate method" "using" keyword.
+ * dictionary.txt
+ This file documents Snit's private variables.
+ It's up-to-date, and checked in for the first
+ time.
+
+ * snit.tcl Implemented the new "using <pattern>" clause to
+ * snit.test "delegate method", and added relevant tests.
+
+ * snit.man Documented the new "delegate method" syntax.
+ * README.txt
+
+2004-07-04 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Re-implemented the option and method delegation
+ * snit.test syntax so that the order of clauses is no longer
+ important. Along the way, I made the relevant
+ error messages more specific.
+
+2004-06-26 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl Added the "component" statement, with two options,
+ * snit.test -public and -inherit. Added all relevant tests.
+ * snit.man Updated the man page to describe it.
+
+2004-05-30 Will Duquette <will at wjduquette.com>
+
+ * snit.man Updated per 0.94 changes to date; also I made a
+ sweep through the whole document and cleaned
+ things up here and there for readability.
+
+2004-05-29 Will Duquette <will at wjduqette.com>
+
+ * snit.tcl Moved Snit_component to snit::Component.
+
+ Removed the "type" argument from all of the
+ "Type.*" procs. Instead, the compilation type
+ is available as $compile(type). Consequently,
+ the Type.* procs can now be aliased into the
+ compiler just once, instead of with every type
+ definition. (Did that.)
+
+ Defined snit::macro.
+
+ * snit.test Added tests for snit::macro.
+
+2004-05-23 Andreas Kupries <andreas_kupries at users.sourceforge.net>
+
+ *
+ * Released and tagged Tcllib 1.6.1 ========================
+ *
+
+2004-05-15 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl: Updated version to 0.94
+ * pkgIndex.tcl:
+
+ * snit.tcl: Modified the Snit_dispatcher function to
+ use a method command cache. Method commands
+ are assembled in Snit_cacheLookup only if
+ they aren't found in the cache. The
+ new Snit_dispatcher was much shorter,
+ so its code was moved into the object's
+ instance command, and Snit_dispatcher
+ was deleted altogether. These changes
+ speed up method calls considerably.
+
+ Snit_tracer was then modified to clear the
+ method cache when the instance command is
+ renamed--the cached commands contained the
+ old instance command name.
+
+ * snit.test: Components can be changed dynamically; the
+ method cache breaks this, because the
+ previous component's command is still
+ cached. Added a test that checks whether
+ the method cache is cleared properly when
+ a component is changed.
+
+ * snit.tcl: Snit_comptrace now clears the method cache
+ when a component is redefined.
+
+ * snit.tcl: Added a type method cache. Type methods
+ (with the exception of implicit "create") are
+ now as fast as instance methods. This is a
+ naive implementation, though--for typemethods,
+ the cache could be populated at definition
+ time, since there's no delegation. Of course,
+ if I added typemethod delegation then what I'm
+ doing is appropriate.
+
+ * snit.tcl: Reorganized some things, in preparation to move
+ shared code from the type definition to the
+ snit:: namespace.
+
+ * snit.tcl: Made %TYPE%::mymethod an alias to snit::MyMethod.
+
+ * snit.tcl: Added %TYPE%::myproc, as an alias to
+ * snit.test: snit::MyProc. "codename" is now deprecated.
+ Added tests for myproc.
+
+ * snit.tcl: %TYPE%::codename is now an alias to
+ snit::CodeName.
+
+ * snit.tcl: Added %TYPE%::myvar and %TYPE%::mytypevar; these
+ replace %TYPE%::varname and %TYPE%::typevarname,
+ which are now deprecated. All are now implemented
+ as aliases to calls in snit::.
+
+ * snit.tcl: %TYPE%::variable is now an alias to
+ snit::variable.
+
+ * snit.tcl: %TYPE%::from is now an alias to snit::From.
+
+2004-02-26 Andreas Kupries <andreas_kupries at users.sourceforge.net>
+
+ * snit.test: Codified the requirement of Tcl 8.4 into
+ * pkgIndex.tcl: package index and test suite.
+
+2004-02-15 Andreas Kupries <andreas_kupries at users.sourceforge.net>
+
+ *
+ * Released and tagged Tcllib 1.6 ========================
+ *
+
+2004-02-07 Will Duquette <will at wjduquette.com>
+
+ * README.txt: Added 0.93 information to README.txt.
+
+ * snit.tcl: Fixed bug: "$obj info vars" used to leave out "options"
+ * snit.test: if no options were defined. It's clearer if the
+ behavior is always the same.
+
+ Fixed tcllib bugs item #852945: variable. The
+ statement "variable ::my::qualified::name" in an
+ instance method now makes "name" available, just
+ as the standard "variable" command does.
+
+ Fixed bug: in some cases the type command was
+ created even if there was an error defining the
+ type. The type command is now cleaned up in these
+ cases. (Credit Andy Goth)
+
+ * snit.tcl: Implemented RFE 844766: need ability to split class
+ * snit.test: defs across files. Added the snit::typemethod and
+ * snit.html: snit::method commands; these allow typemethods and
+ methods to be defined after the class already exists.
+
+2004-02-07 Will Duquette <will at wjduquette.com>
+
+ * All: Updated version to 0.93.
+ * snit.tcl: The %AUTO% name counter wraps around to 0 when it
+ reaches 2^31 - 1, to prevent integer overflow
+ errors.
+ * snit.html: Minor corrections and updates.
+ * faq.html
+
+2003-12-06 Will Duquette <will at wjduquette.com>
+
+ * All: Updated version to 0.92.
+
+ * snit.tcl Snit now propagates errorCode properly when
+ * snit.test propagating errors.
+
+2003-12-01 Andreas Kupries <andreas_kupries at users.sourceforge.net>
+
+ * snit.man: Updated to changes in the .html files.
+ * snitfaq.man:
+
+2003-11-21 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl: Updated version to 0.91.
+ * pkgIndex.tcl:
+
+ * snit.tcl: Added the "expose" statement to type and widget
+ definitions.
+ * snit.test: Added appropriate tests.
+ * snit.html: Added documentation for "expose".
+ * faq.html: Updated the FAQ entries.
+
+ * snit.tcl: Added "string match" patterns to the Snit info
+ methods.
+ * snit.test: Added appropriate tests.
+ * snit.html: Updated documentation.
+
+
+2003-10-28 Andreas Kupries <andreask at activestate.com>
+
+ * snit.man: Fixed typos in documentation.
+ * snitfaq.man:
+
+2003-10-27 Will Duquette <will at wjduquette.com>
+
+ * snit.html: Fixed typos in documentation.
+ * faq.html:
+
+2003-10-27 Andreas Kupries <andreask at activestate.com>
+
+ * snit.man: Updated to changes in the .html files.
+ * snitfaq.man:
+
+2003-10-25 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl: Added the "except" clause for "delegate method *" and
+ * snit.test: "delegate option *". This allows the user to
+ explicitly exclude certain methods and options.
+ Added appropriate tests.
+
+ * snit.html: Gave the Snit FAQ a bit of an overhaul, and added
+ * faq.html: information corresponding to the recent code
+ changes, including a great deal of material on Snit
+ and the Tk option database. Updated the Snit man
+ page to be consistent with the recent code changes.
+
+2003-10-23 Andreas Kupries <andreask at activestate.com>
+
+ * snit.man: Updated from Will's html doc's.
+
+2003-10-23 Will Duquette <will at wjduquette.com>
+
+ * snit.html: Added documentation for the new "hulltype",
+ "widgetclass", and "install" commands. Updated the
+ documentation for "installhull" to show the new
+ "installhull using" syntax. Updated the
+ documentation for "option" and "delegate option" to
+ show how to specify the resource and class names for
+ options. Added a section on the interaction between
+ Snit and the Tk option database.
+
+2003-10-21 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl: Add the "hulltype" command. This allows the snit::widget
+ * snit.test: author to choose whether the hull should be a frame
+ or a toplevel. Tests have been updated as usual.
+
+2003-10-20 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl: The new "install" command can now be used to install
+ * snit.test: components for snit::types as well. It doesn't add
+ any value, since there's no option database, but at
+ least the syntax will be the same.
+
+ "install" now initializes the component properly
+ from the option database when "option *" has been
+ delegated to it.
+
+ Tests have been updated as usual.
+
+2003-10-19 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl: During normal widget creation, the default values
+ * snit.test: for a widget's local options are overridden by
+ values from the option database.
+
+ Array %TYPE%::Snit_compoptions now lists delegated
+ option names for each component.
+
+ Added a new command, "install", for use in widget
+ and widgetadaptor constructors. Install creates a
+ widget, assigning it to a component; it also queries
+ the option database for any option values that are
+ delegated to this component.
+
+ Modified installhull, adding a new form that queries
+ the option database as appropriate for options
+ delegated to the hull widget.
+
+ At this point, the only options whose default values
+ do not come from the option database in the proper
+ way are those implicitly delegated by "delegate
+ option *" to a non-hull widget. I need to think
+ about those.
+
+ Of course, new tests have been added for all of this.
+
+ The version number in snit.tcl has been updated to 0.84.
+
+2003-10-18 Will Duquette <will at wjduquette.com>
+
+ * snit.tcl: Added the "widgetclass" statement; this allows
+ * snit.test: snit::widgets (and nothing else) to explicitly set
+ the widget class name passed to the hull as "-class".
+ In addition, the hull's -class is set automatically,
+ to the explicit widgetclass, if any, or to the
+ widget type name with an initial capital letter.
+
+ Next, an object's options now have real resource
+ and class names, which are reported correctly by
+ "$obj configure". By default, the resource name
+ is just the option name minus the hyphen, and
+ the class name is just the resource name with an
+ initial capital.
+
+ In both the "option" and "delegate option"
+ statements, the option name may be specified as
+ a pair or a triple, e.g.,
+
+ option {-name name Name}
+
+ Thus, the resource name and class name can be
+ specified explicitly.
+
+ In previous versions, the resource name and
+ class name returned by configure for delegated
+ options was the resource name and class name
+ returned by the component. This is no longer
+ true; configure now returns the resource and
+ class name defined in the type definition.
+
+2003-10-17 Will Duquette <will at wjduquette.com>
+
+ * snit.html: Added typeconstructor documentation.
+ * faq.html:
+
+ * snit.tcl: Implemented typeconstructors. A typeconstructor's
+ body is executed as part of the compiled type
+ definition; it has access to all of the typevariables
+ and typemethods. Its job is to initialize arrays,
+ set option database values, and like that.
+
+ * snit.test: Added tests for typeconstructors.
+
+2003-10-16 Will Duquette <will at wjduquette.com>
+
+ * README.txt: Updated to reflect snit's presence in tcllib, and
+ to point to this ChangeLog file.
+
+2003-09-30 Andreas Kupries <andreask at activestate.com>
+
+ * snit.tcl: A number of changes to the code generation part.
+ - Usage of [subst]'s was superfluous, removed, simple string
+ interpolation now.
+
+ - Now 'namespace eval type' enclosing the generated code
+ anymore. Such an eval is now done only at the top of the
+ generated code to define the namespace, and to
+ define/initialize the typevariables. All procedure definitions
+ are now outside of 'namespace eval' and use fully qualified
+ command names instead.
+
+ - Moved the code in [snit::Define] which instantiated the class
+ using the generated code into it own helper command,
+ [snit::DefineDo]. Overiding this command allows users of the
+ snit package perform other actions on the newly defined
+ class. One example is that of a snit-compiler which goes
+ through a file containing tcl code and replaces all snit::*
+ definitions with the generated code.
+
+ Motivation for the change: When applying procomp to procedure
+ definitions inside of a 'namespace eval' they are not
+ byte-compiled, but kept as encoded literal. This is a direct
+ consequence of 'namespace eval' not having a compile
+ function. It also means that introspection, i.e. [info body]
+ does recover the actual procedure definition. By using procedure
+ definitions outside of namespace eval, but fully qualified names
+ this limitation of procomp is avoided. The aforementioned snit
+ compiler application is another part for this, ensuring that
+ instead of keeping the whole class definition as one literal for
+ the snit::* call we actually have tcl code to compile and hide.
+
+ * snit.tcl: Updated the version number to 0.83
+ * pkgIndex.tcl:
+ * snit.man:
+ * snitfaq.man:
+
+2003-07-18 Andreas Kupries <andreask at activestate.com>
+
+ * snit.test: Fixed SF tcllib bug #772535. Instead of using a
+ * snit.tcl: variable reference in the callback a regular command
+ is called, with the unchanging 'selfns' as argument.
+ From there things go through the regular dispatching
+ mechanism after the actual instance name was obtained.
+ Updated all affected tests.
+
+ Updated dmethod-1.5 also, 'string' delivers a
+ different error message.
+
+2003-07-16 Andreas Kupries <andreask at activestate.com>
+
+ * snit.man: Added references to bug trackers, as part of
+ * snitfaq.man: caveats. Also added note about bwidget/snit
+ interaction.
+
+ * snit.tcl: Integrated latest (small) change to original code base
+ (was not released yet). Removes bad trial to fix up error stack.
+ We are now at version 0.82. Added note to developers explaining
+ the catch in Snit_tracer.
+
+2003-07-15 Andreas Kupries <andreask at activestate.com>
+
+ * snit.tcl: Imported new module into tcllib.
+ * snit.test: snit = Snit Is Not IncrTcl
+ * snit.html: Author: William Duquette
+ * faq.html: OO package + megawidget framework.
+ * README.txt:
+ * license.txt:
+ * pkgIndex.tcl:
+ * snit.man:
+ * snitfaq.man:
Added: pkg/tcltk2/inst/tklibs/snit1.0/README.txt
===================================================================
--- pkg/tcltk2/inst/tklibs/snit1.0/README.txt (rev 0)
+++ pkg/tcltk2/inst/tklibs/snit1.0/README.txt 2012-05-01 21:14:07 UTC (rev 477)
@@ -0,0 +1,724 @@
+Snit's Not Incr Tcl README.txt
+-----------------------------------------------------------------
+
+Snit is pure-Tcl object and megawidget framework. See snit.html
+for full details.
+
+Snit is part of "tcllib", the standard Tcl Library.
+
+Snit lives in "tcllib" now, but it is available separately at
+http://www.wjduquette.com/snit. If you have any questions, bug
+reports, suggestions, or comments, feel free to contact me, Will
+Duquette, at will at wjduquette.com; or, join the Snit mailing list (see
+http://www.wjduquette.com/snit for details).
+
+Changes in V1.0
+--------------------------------------------------------------------
+
+Functionally, V1.0 is identical to version V0.97.
+
+* Added a number of speed optimizations provided by Jeff Hobbs.
+ (Thanks, Jeff!)
+
+* Returned to the name "Snit's Not Incr Tcl".
+
+* Fixed SourceForge Tcllib Bug 1161779; it's no longer an error
+ if the destructor is defined before the constructor.
+
+* Fixed SourceForge Tcllib Bug 1106375; the hull widget is now
+ destroyed properly if there's an error in the constructor of
+ a widget or widgetadaptor.
+
+Changes in V0.97
+--------------------------------------------------------------------
+
+The changes listed here were actually made over time in Snit V0.96;
+now that they are complete, the result has been renumbered Snit V0.97.
+
+* Bug fix: methods called via [mymethod] can now return exotic
+ return codes (e.g., "return -code break").
+
+* Added the -hasinfo pragma, which controls whether there's an
+ "info" instance method or not. By default, there is.
+
+* POSSIBLE INCOMPATIBILITY: If no options are defined for a type, neither
+ locally nor delegated, then Snit will not define the "configure",
+ "configurelist", and "cget" instance methods or the "options"
+ instance variable.
+
+* If a snit::type's command is called without arguments, AND the type
+ can have instances, then an instance is created using %AUTO% to
+ create its name. E.g., the following commands are all equivalent:
+
+ snit::type dog { ... }
+
+ set mydog [dog create %AUTO%]
+ set mydog [dog %AUTO%]
+ set mydog [dog]
+
+ This doesn't work for widgets, for obvious reasons.
+
+* Added pragma -hastypemethods. If its value is "yes" (the
+ default), then the type has traditional Snit behavior with
+ respect to typemethods. If its value is "no", then the type
+ has no typemethods (even if typemethods were included
+ explicitly in the type definition). Instead, the first argument
+ of the type proc is the name of the object to create. As above,
+ the first argument defaults to "%AUTO%" for snit::types but not
+ for snit::widgets.
+
+* Added pragma -simpledispatch. This pragma is intended to make
+ simple, heavily used types (e.g. stacks or queues) more efficient.
+ If its value is "no" (the default), then the type has traditional
+ Snit behavior with respect to method dispatch. If its value is
+ "yes", then a simpler, faster scheme is used; however, there are
+ corresponding limitations. See the man page for details.
+
+* Bug fix: the "pragma" statement now throws an error if the specified
+ pragma isn't defined, e.g., "pragma -boguspragma yes" is now an
+ error.
+
+* Bug fix: -readonly options weren't. Now they are.
+
+* Added support for hierarchical methods, like the Tk text widget's
+ tag, mark, and image methods. You define the methods like so:
+
+ method {tag add} {args} {...}
+ method {tag configure} {args} {...}
+ method {tag cget} {args} {...}
+
+ and call them like so:
+
+ $widget tag add ....
+
+ The "delegate method" statement also supports hierarchical methods.
+ However, hierarchical methods cannot be used with -simpledispatch.
+
+* Similarly, added support for hierarchical typemethods.
+
+Changes in V0.96
+--------------------------------------------------------------------
+
+V0.96 was the development version in which most of the V0.97 changes
+were implemented. The name was changed to V0.97 when the changes
+were complete, so that the contents of V0.97 will be stable.
+
+Changes in V0.95
+--------------------------------------------------------------------
+
+The changes listed here were actually made over time in Snit V0.94;
+now that they are complete, the result has been renumbered Snit V0.95.
+
+* Snit method invocation (both local and delegated) has been
+ optimized by the addition of a "method cache". The primary
+ remaining cost in method invocation is the cost of declaring
+ instance variables.
+
+* Snit typemethod invocation now also uses a cache.
+
+* Added the "myproc" command, which parallels "mymethod". "codename"
+ is now deprecated.
+
[TRUNCATED]
To get the complete diff run:
svnlook diff /svnroot/sciviews -r 477
More information about the Sciviews-commits
mailing list