[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