Commit | Line | Data |
d4567ecb |
1 | 2011-12-13 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
2 | |
3 | * |
4 | * Released and tagged Tcllib 1.14 ======================== |
5 | * |
6 | |
7 | 2011-01-24 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
8 | |
9 | * |
10 | * Released and tagged Tcllib 1.13 ======================== |
11 | * |
12 | |
13 | 2010-06-07 Andreas Kupries <andreask@activestate.com> |
14 | |
15 | * validate.tcl (snit::double, validate): Applied patch by Will |
16 | * pkgIndex.tcl: fixing the error message for max-limited |
17 | * snit.man: double types. Bumped versions to 2.3.2 and 1.4.2. |
18 | * snit.tcl: Extended testsuite. |
19 | * snit2.tcl: |
20 | * snit.test: |
21 | |
22 | 2010-04-30 Andreas Kupries <andreask@activestate.com> |
23 | |
24 | * snitfaq.man: Fixed typo in 'package require' commands, reported |
25 | by sigzero@gmail.com. |
26 | |
27 | 2009-12-07 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
28 | |
29 | * |
30 | * Released and tagged Tcllib 1.12 ======================== |
31 | * |
32 | |
33 | 2009-11-16 Andreas Kupries <andreask@activestate.com> |
34 | |
35 | * main2.tcl (::snit::RT.typemethod.destroy) |
36 | (::snit::RT.typemethod.info.instances): |
37 | * main1.tcl (::snit::RT.typemethod.info.instances) |
38 | (::snit::RT.typemethod.destroy): [Bug 2898640]. Fixed handling of |
39 | * snit.tcl: unrelated namespaces by restricting the set of |
40 | * snit2.tcl: children to look at. Bumped versions of v1 and v2 to |
41 | * pkgIndex.tcl: 1.4.1 and 2.3.1 respectively. |
42 | * snit.man: |
43 | |
44 | 2009-11-02 Andreas Kupries <andreask@activestate.com> |
45 | |
46 | * snit.tcl: Bumped versions of v1 and v2 to 1.4 and 2.3 |
47 | * snit2.tcl: respectively, taking the backward compatible |
48 | * snit.man: API changes to validation types into account. |
49 | * pkgIndex.tcl: |
50 | |
51 | 2009-10-31 Will Duquette <will@wjduquette.com> |
52 | |
53 | * validate.tcl: Updated all Snit validation types to return the |
54 | * snit.tcl: validated value, and to throw -errorcode INVALID |
55 | on error. |
56 | * snit.man: Relevant changes. |
57 | |
58 | 2009-09-29 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
59 | |
60 | * snit.test: Updated to handle changes in command error messages |
61 | done in Tcl 8.6+. |
62 | |
63 | 2009-09-28 Andreas Kupries <andreask@activestate.com> |
64 | |
65 | * snit.man: Committed a long-standing fix to a bug in the |
66 | * snit.tcl: last entry. Wrap the close commands into catch |
67 | * snit2.tcl: to handle the possibility of the std channels |
68 | * pkgIndex.tcl: not existing. Bumped versions to 1.3.4 and |
69 | * main1_83.tcl 2.2.4. |
70 | * main1.tcl: |
71 | * main2.tcl: |
72 | |
73 | 2009-06-22 Andreas Kupries <andreask@activestate.com> |
74 | |
75 | * main1.tcl: Fix handling of hierarchical typemethods for missing |
76 | * main1_83.tcl: subcommands. If a toplevel hmethod is not found |
77 | * main2.tcl: we can assume it to be an instance name and do an |
78 | * pkgIndex.tcl: implicit 'create' of it. If the toplevel hmethod |
79 | * snit.tcl: has already been accepted however a missing submethod |
80 | * snit2.tcl: has to error out, an implicit create is not possible |
81 | * snit.test: any longer. Extended the testsuite to cover this |
82 | case. Bumped the package versions to 2.2.3, and 1.3.3. |
83 | |
84 | 2009-04-21 Andreas Kupries <andreask@activestate.com> |
85 | |
86 | * main1.tcl (::snit::Comp.Init): Close unused standard channels |
87 | * main1_83.tcl (::snit::Comp.Init): to prevent the internal compile |
88 | * main2.tcl (::snit::Comp.Init): interp from blocking a close/open |
89 | * snit.tcl: dance to replace them in the main interp. Bumped the |
90 | * snit2.tcl: packages to versions 1.3.2 and 2.2.2 respectively. |
91 | * pkgIndex.tcl: |
92 | |
93 | 2008-12-12 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
94 | |
95 | * |
96 | * Released and tagged Tcllib 1.11.1 ======================== |
97 | * |
98 | |
99 | 2008-10-16 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
100 | |
101 | * |
102 | * Released and tagged Tcllib 1.11 ======================== |
103 | * |
104 | |
105 | 2008-08-20 Will Duquette <will@wjduquette.com> |
106 | |
107 | * snitfaq.man: Finished up [SF Tcllib Bug 1658089]. |
108 | |
109 | 2008-05-16 Andreas Kupries <andreask@activestate.com> |
110 | |
111 | * snitfaq.man: Fixed the sectref argument order issues. |
112 | |
113 | 2008-05-15 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
114 | |
115 | * snitfaq.man: Updated to changes in doctools (sub)section |
116 | reference handling. |
117 | |
118 | 2007-12-04 Andreas Kupries <andreask@activestate.com> |
119 | |
120 | * snit.test: Updated some results to changes in the Tcl 8.5 |
121 | head. This fixes [SF Tcllib Bug 1844106], reported by Larry |
122 | Virden <lvirden@users.sourceforg.net>. Thanks. |
123 | |
124 | 2007-09-12 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
125 | |
126 | * |
127 | * Released and tagged Tcllib 1.10 ======================== |
128 | * |
129 | |
130 | 2007-08-20 Andreas Kupries <andreask@activestate.com> |
131 | |
132 | * snit.test: Fixed bad indices in tests causing the generation of |
133 | bogus expected error messages. |
134 | |
135 | 2007-07-03 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
136 | |
137 | * main1_83.tcl (::snit::Comp.statement.oncget): Fixed double |
138 | * main1.tcl (::snit::Comp.statement.oncget): import of instance |
139 | * main2.tcl (::snit::Comp.statement.oncget): and type variables. |
140 | * snit.man: Bumped versions to 1.3.1 and 2.2.1 respectively. |
141 | * pkgIndex.tcl: |
142 | * snit.tcl: |
143 | * snit2.tcl: |
144 | |
145 | 2007-07-02 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
146 | |
147 | * snit.test: Snit versions bumped to 1.3 and 2.2. Extended |
148 | * snit.man: 'info' method and typemethod with sub-methods |
149 | * snitfaq.man: 'args', 'body' and 'default' to query method |
150 | * main1.tcl: arguments, argument defaults, and bodies. |
151 | * main1_83.tcl: |
152 | * main2.tcl: |
153 | * pkgIndex.tcl: |
154 | |
155 | 2007-06-22 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
156 | |
157 | * snitfaq.man: Replaced deprecated {expand} with {*}. |
158 | |
159 | 2007-05-01 Andreas Kupries <andreask@activestate.com> |
160 | |
161 | * main2.tcl: [Bug 1710640]. Replaced deprecated {expand} with {*}. |
162 | |
163 | * snit.test: Updated to changes in 8.5a6. |
164 | |
165 | 2007-03-21 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
166 | |
167 | * snit.man: Fixed all warnings due to use of now deprecated |
168 | * snitfaq.man: commands. Added a section about how to give |
169 | feedback. |
170 | |
171 | 2007-02-12 Andreas Kupries <andreask@activestate.com> |
172 | |
173 | * snitfaq.man: Fixed typos, etc. reported in [Bug 1658089]. |
174 | |
175 | 2006-10-19 Jeff Hobbs <jeffh@ActiveState.com> |
176 | |
177 | * snit.man, main1.tcl, main1_83.tcl, main2.tcl: Allow -class to be |
178 | passed to snit::widget. [Patch 1580120] |
179 | * pkgIndex.tcl, snit.tcl, snit2.tcl: Bumped versions to 1.2.1 / 2.1.1. |
180 | |
181 | 2006-10-03 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
182 | |
183 | * |
184 | * Released and tagged Tcllib 1.9 ======================== |
185 | * |
186 | |
187 | 2006-09-20 Will Duquette <will@wjduquette.com> |
188 | * pkgIndex.tcl, snit2.tcl, snit.man, snitfaq.man, README.txt: |
189 | Bumped the version number from 2.0 to 2.1, per Andreas' request. |
190 | Also, added details about the implications of 2.1's use of |
191 | [namespace path] to README.txt and the Snit FAQ. |
192 | |
193 | 2006-09-16 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
194 | |
195 | * snit_tcl83_utils.tcl: Made the initialization of the |
196 | compatibility system a bit more robust against loading it |
197 | multiple times. |
198 | |
199 | 2006-09-11 Will Duquette <will@wjduquette.com> |
200 | * main2.tcl: Comp.statement.typevariable now places the type name |
201 | directly in the "tvprocdec" rather than waiting to substitute it |
202 | in later. |
203 | |
204 | 2006-08-19 Will Duquette <will@wjduquette.com> |
205 | * main2.tcl, snit.test: Fixed Bug 1483168: "Namespaced snit objs |
206 | are not commands in their ns". In particular, Snit 2.x types and |
207 | widgets now use [namespace path] to give themselves access to |
208 | their parent namespace. |
209 | * snit.man,snitfaq.man: Updated accordingly; also, fixed a couple |
210 | of typos in snitfaq.man. |
211 | |
212 | * main2.tcl: Snit 2.x now uses [namespace upvar] where appropriate |
213 | throughout the Snit run-time and also for implicit declaration of |
214 | instance variables; I still need to use it for implicit |
215 | declaration of type variables. On my machine, dispatch of a |
216 | method with 10 instance variables is over twice as fast |
217 | when the variables are declared using [namespace upvar] rather |
218 | than [::variable ${selfns}::varname]. |
219 | |
220 | * main2.tcl: Snit 2.x now uses [namespace upvar] for implicit |
221 | declaration of type variables as well. It develops that |
222 | [namespace upvar] is a lot faster than [::variable] even when |
223 | using the default namespace (e.g., "::variable varname"). |
224 | |
225 | 2006-08-15 Will Duquette <will@wjduquette.com> |
226 | * main2.tcl, snit.test: Fixed Bug 1532791: "snit2, |
227 | snit::widget problem". |
228 | |
229 | 2006-08-12 Will Duquette <will@wjduquette.com> |
230 | * main1.tcl, main1_83.tcl, main2.tcl: Replaced as many [string equal] calls |
231 | in main1_83.tcl with {"" ==/!= $a} expressions, so that the |
232 | differences between the two files are minimized. Also removed the |
233 | "-glob" from calls to "array names" in main1.tcl. There are now |
234 | only a few remaining differences between the two files. |
235 | |
236 | Also, I added a "return" to the end of RT.DestroyObject in all |
237 | three "main" modules, to prevent a confusing return value from |
238 | "$object destroy" that Andreas noticed a while back. |
239 | |
240 | * snit.test: Two tests, iinfo-6.4 and iinfo-6.5, failed on Tcl |
241 | 8.3. The -result in both cases was a list of Tk widget options |
242 | that included some new options defined in Tcl 8.4. I added two |
243 | new constraints, tcl83 and tcl84, and duplicated the two tests, |
244 | one for each. |
245 | |
246 | 2006-08-10 Will Duquette <will@wjduquette.com> |
247 | * snit.man: Added documentation for how to define new |
248 | validation types. |
249 | |
250 | 2006-08-09 Will Duquette <will@wjduquette.com> |
251 | * snit.man: Added documentation for the "-type" option-definition |
252 | option, and for the validation types. I still need to fill in a |
253 | section on defining new validation types. |
254 | * validate.tcl: Cleaned up the header comment. |
255 | |
256 | 2006-08-08 Will Duquette <will@wjduquette.com> |
257 | * main1.tcl: Removed all "eq" and "ne" expressions, to reduce |
258 | the differences between main1.tcl and main1_83.tcl. Unlike |
259 | main1_83.tcl, though, I used the forms {"" == $a} and |
260 | {"" != $a} in preferences to [string equal], as they are |
261 | both shorter and more efficient. I used [string equal] |
262 | only when comparing two variables. The next step is |
263 | to update main1_83.tcl to use the {"" ==/!= $a} form |
264 | where possible, in preference to [string equal]; then, |
265 | most of the code can be shared between the two modules, |
266 | which will simplify maintenance. |
267 | |
268 | 2006-08-07 Will Duquette <will@wjduquette.com> |
269 | * Implemented "-type" option-definition option in main2.tcl, |
270 | for Snit 2.x, and main1_83.tcl for Snit 1.2 on Tcl 8.3. |
271 | |
272 | 2006-08-06 Will Duquette <will@wjduquette.com> |
273 | * Major reorganization of the code modules. snit.tcl and |
274 | snit2.tcl are now just short loader scripts. The Snit 1.x |
275 | compiler and run-time library are implemented in main1.tcl and |
276 | main1_83.tcl, respectively; the Snit 2.x compiler and run-time |
277 | are in main2.tcl. Both loaders load validate.tcl, which contains |
278 | the new validation types. This scheme is documented in |
279 | modules.txt. |
280 | |
281 | * Bumped the Snit 1.x version number to Snit 1.2, since |
282 | Snit 1.1 has been a robust, stable release. |
283 | |
284 | * snit83.tcl: Removed; obsolete |
285 | * snit84.tcl: Removed; obsolete |
286 | |
287 | * snit.tcl, main1_83.tcl: snit_tcl83_utils.tcl is now sourced in |
288 | snit.tcl rather than main1_83.tcl. I don't believe this should |
289 | cause a problem....but it needs to be tested. |
290 | |
291 | * snit.test: Added tests for Snit validation types. These tests |
292 | pass for Snit 2.x and for Snit 1.2 with Tcl 8.4. They *should* |
293 | pass for Snit 1.2 with Tcl 8.3, but I've been unable to test that. |
294 | |
295 | * README.txt: Updated |
296 | |
297 | * main1.tcl, snit.test: Implemented the "-type" option-definition |
298 | option for Snit 1.2 and Tcl 8.4, and added related tests. |
299 | |
300 | * Still to do: |
301 | 1. Implement the "-type" option-definition option in |
302 | main1_83.tcl and main2.tcl. |
303 | 2. Write documentation for "-type" and for the Snit |
304 | validation types. |
305 | 3. Consider refactoring main1.tcl, main1_83.tcl for |
306 | maximum commonality, to simplify future changes of |
307 | this kind. |
308 | |
309 | 2006-08-05 Will Duquette <will@wjduquette.com> |
310 | * validate.tcl: New module; defines a number of "validation |
311 | types". These will be used with the forthcoming "-type" |
312 | option-definition option to add robust validation for snit::type |
313 | and snit::widget options. |
314 | |
315 | 2006-07-26 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
316 | |
317 | * snitfaq.man: Finally fixed the two ambigous section titles. |
318 | |
319 | 2006-01-30 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
320 | |
321 | * snit.tcl: Fixed [SF Tcllib Bug 1414589], prevent the package |
322 | activation code from stomping on the global variable 'dir'. |
323 | |
324 | 2006-01-29 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
325 | |
326 | * snit.test: Fixed use of duplicate test names. Whitespace police |
327 | as well. |
328 | |
329 | 2006-01-26 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
330 | |
331 | * snit.test: More boilerplate simplified via use of test support. |
332 | |
333 | 2006-01-19 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
334 | |
335 | * snit.test: Hooked into the new common test support |
336 | code. Reactivated the tests based on the commands wrongNumArgs |
337 | and tooManyArgs. Coming out of the new test support code. |
338 | |
339 | 2006-01-14 Will Duquette <will@wjduquette.com> |
340 | |
341 | * snit2.tcl (::snit::RT.UnknownMethod): When creating a new |
342 | submethod ensemble, creates it in the ${selfns} namespace |
343 | instead of in the ${type} namespace (fix courtesy of |
344 | Anton Kovalenko). Previously, multiple objects of a type that |
345 | defines a submethod ensemble would share a single ensemble, |
346 | with confusing results. |
347 | * snit.test: Added test hmethod-1.6, to test for the above error. |
348 | As expected, there was no error in snit 1.1, but the test failed |
349 | in snit 2.0 until the above change was made. |
350 | * snit.test: "if 0"'d out some tests that make use of |
351 | tcltest::tooManyArgs and tcltest::wrongNumArgs, two commands |
352 | that aren't available to me. |
353 | |
354 | * snitfaq.man: Fixed a typo and added a suggestion from |
355 | Andreas Kupries on how to name component commands. |
356 | |
357 | * snit.man: Added Kenneth Green and Anton Kovalenko to the list |
358 | of names in the "Credits". |
359 | |
360 | 2005-12-05 Andreas Kupries <andreask@activestate.com> |
361 | |
362 | * snit83.tcl: Replaced the direct use of / path separator with a |
363 | proper file join. |
364 | |
365 | 2005-11-07 Andreas Kupries <andreask@activestate.com> |
366 | |
367 | * pkgIndex.tcl: Moved the selection of the implementation out of |
368 | the package declaration into the runtime. |
369 | |
370 | * snit.tcl: Renamed to snit84.tcl. Also a new file containing |
371 | the selection of the implementation, basic dependency, and |
372 | common provide command. |
373 | |
374 | * snit84.tcl: New file. Was originally named 'snit.tcl'. Contains |
375 | the Tcl 8.4 specific implementation of the package. |
376 | |
377 | * snit.test: Updated to new entrypoint for snit 1.1. |
378 | |
379 | 2005-10-06 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
380 | |
381 | * |
382 | * Released and tagged Tcllib 1.8 ======================== |
383 | * |
384 | |
385 | 2005-09-26 Andreas Kupries <andreask@activestate.com> |
386 | |
387 | * snit.test: Adapted the testsuite to handle the 8.3 backport. |
388 | |
389 | * snit83.tcl: Integrated Kenneth Green's backport of |
390 | * snit_tcl83_utils.tcl: Snit to Tcl 8.3 into the code base. |
391 | |
392 | * snit.tcl: Checking the list result of [info commands ] now using |
393 | [llength] instead of string comparisons. |
394 | |
395 | * snit2.tcl: Checking the list result of [info commands ] now using |
396 | [llength] instead of string comparisons. |
397 | |
398 | 2005-09-05 Will Duquette <will@wjduquette.com> |
399 | |
400 | * snitfaq.man: Updated for Snit 2.0/1.1. |
401 | |
402 | 2005-08-27 Will Duquette <will@wjduquette.com> |
403 | |
404 | * snit.man: Updated for Snit 2.0/1.1 |
405 | * snit.tcl: Added the new hulltypes to snit.tcl (somehow they |
406 | didn't get in). |
407 | * snit.test: Added a test that verifies the list of valid |
408 | hulltypes. |
409 | |
410 | 2005-08-22 Jeff Hobbs <jeffh@ActiveState.com> |
411 | |
412 | * snit.tcl, snit2.tcl: allow labelframe and ttk::labelframe as |
413 | hulltypes, and tk::(label)frame (planning ahead ...) |
414 | |
415 | 2005-08-20 Will Duquette <will@wjduquette.com> |
416 | |
417 | * snit.tcl: It's now an error to call an object's "destroy" method |
418 | in the object's constructor. |
419 | * snit2.tcl: Snit 2.0, implemented with "namespace ensemble". |
420 | * snit.test: Now uses the "-body" style of Tcltests throughout. |
421 | Also, tests Snit 1.x (snit.tcl) when run with Tcl/Tk 8.4, and |
422 | tests Snit 2.x when run with Tcl/Tk 8.5. |
423 | |
424 | 2005-08-10 Jeff Hobbs <jeffh@ActiveState.com> |
425 | |
426 | * snit.tcl (::snit::Comp.statement.hulltype): make hulltype one of |
427 | $::snit::hulltypes, allow ttk::frame |
428 | |
429 | 2005-06-07 Will Duquette <will@wjduquette.com> |
430 | |
431 | * snit.test (bug-2.1, bug-2.2): Added the "tk" constraint, so that |
432 | they'll be excluded when snit.test is run with tclsh. |
433 | |
434 | 2005-06-04 Will Duquette <will@wjduquette.com> |
435 | |
436 | * snit.tcl, snit.man, snitfaq.man: Updated the copyright |
437 | information to 2005. |
438 | * snit.html, faq.html: Removed these files, as they are obsolete. |
439 | snit.man and snitfaq.man contain the up-to-date documentation. |
440 | |
441 | 2005-06-04 Will Duquette <will@wjduquette.com> |
442 | |
443 | * snit.tcl: Bumped the version number to 1.0 |
444 | * pkgIndex.tcl: Bumped the version number to 1.0. |
445 | * dictionary.txt: Bumped the version number to 1.0. |
446 | * snit.man: Bumped the version number to 1.0. |
447 | * snitfaq.man: Bumped the version number to 1.0. |
448 | |
449 | 2005-06-04 Will Duquette <will@wjduquette.com> |
450 | |
451 | * snit.tcl (::snit::RT.DestroyObject) |
452 | * snit.test (test bug-2.1, bug-2.2): |
453 | Fixed [SF Tcllib Bug 1106375]. |
454 | |
455 | 2005-06-04 Will Duquette <will@wjduquette.com> |
456 | |
457 | * snit.tcl (::snit::Comp.statement.destructor): |
458 | * snit.test (test bug-1.1) |
459 | Fixed [SF Tcllib Bug 1161779]. |
460 | |
461 | 2005-06-04 Will Duquette <will@wjduquette.com> |
462 | |
463 | * snit.tcl: Checked a number of small optimizations Jeff Hobbs |
464 | sent me. Bumped the version number to 0.98. |
465 | * pkgIndex.tcl: Bumped the version number to 0.98. |
466 | * dictionary.txt: Bumped the version number to 0.98. |
467 | * snit.man: Bumped the version number to 0.98. |
468 | * snitfaq.man: Bumped the version number to 0.98. |
469 | |
470 | 2005-04-11 Marty Backe <marty@lucidway.org> |
471 | |
472 | * snit.man: Fixed typo in the -configuremethod example. |
473 | |
474 | 2005-02-14 Andreas Kupries <andreask@activestate.com> |
475 | |
476 | * snitfaq.man: Fixed a number of typos reported by Bob Techentin, |
477 | see [SF Tcllib Bug 1050674]. |
478 | |
479 | 2004-10-05 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
480 | |
481 | * |
482 | * Released and tagged Tcllib 1.7 ======================== |
483 | * |
484 | |
485 | 2004-09-23 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
486 | |
487 | * snit.test: Fixed the tests which were dependent on the exact |
488 | order of results returned by [array names]. Which failed for Tcl |
489 | 8.5. Added lsort and updated expected results, for canonical |
490 | comparison. |
491 | |
492 | 2004-09-18 Will Duquette <will@wjduquette.com> |
493 | |
494 | * snit.man: Documented hierarchical methods and typemethods. |
495 | |
496 | * Everything: Updated version to 0.97. |
497 | |
498 | 2004-09-16 Will Duquette <will@wjduquette.com> |
499 | |
500 | * snit.tcl In "component foo -public name", the "-public |
501 | name" part is now implemented as "delegate method |
502 | {name *} to foo". |
503 | * snit.test Added tests for "$type info typemethods", "$self |
504 | info typemethods" and "$self info methods" for the |
505 | case of hierarchical methods/typemethods, and |
506 | fixed related bugs in snit.tcl. |
507 | |
508 | 2004-09-14 Will Duquette <will@wjduquette.com> |
509 | |
510 | * snit.tcl Modified the implementation of hierarchical methods; |
511 | * snit.test this involved extending the syntax of method |
512 | "using" patterns to better support the |
513 | hiearchical case. |
514 | |
515 | * snit.tcl Extended the "delegate method *" and |
516 | * snit.test "delegate typemethod *" syntax to work better with |
517 | hierarchical methods. |
518 | E.g., "delegate method {tail *} to tail" now maps |
519 | "$self tail wag" to "$tail wag" |
520 | |
521 | 2004-09-12 Will Duquette <will@wjduquette.com> |
522 | |
523 | * snit.tcl Added support for hierarchical type methods, |
524 | * snit.test analogously to the support for regular methods. |
525 | * README.txt |
526 | |
527 | * snit.tcl Refactored the compilation of hierarchical |
528 | * snit.test methods and typemethods to remove duplicated code. |
529 | |
530 | 2004-09-10 Will Duquette <will@wjduquette.com> |
531 | |
532 | * snit.tcl Added support for hierarchical methods: methods |
533 | * snit.test with submethods. The documentation has not yet |
534 | * README.txt been updated. |
535 | |
536 | * snit.tcl Bug fix: "delegate method {a b} to comp" now produces |
537 | * snit.test the call "$comp a b" instead of "$comp a_b". |
538 | |
539 | 2004-09-04 Will Duquette <will@wjduquette.com> |
540 | |
541 | * snit.tcl Bug fix: read-only options were read-only only |
542 | * snit.test if they weren't set at creation time; the |
543 | * README.txt configure cache wasn't being cleared properly |
544 | after creation. |
545 | |
546 | 2004-08-28 Will Duquette <will@wjduquette.com> |
547 | |
548 | * snit.tcl: Minor tweaks to instance creation to improve |
549 | * dictionary speed. No major gain. Also, -simpledispatch yes |
550 | * snit.man now supports instance renaming again. |
551 | * snitfaq.man |
552 | |
553 | |
554 | 2004-08-22 Will Duquette <will@wjduquette.com> |
555 | |
556 | * snit.tcl Defined the -simpledispatch pragma. Updated |
557 | * snit.test the test suite and the relevant documentation. |
558 | * snit.man |
559 | * README.txt |
560 | * snitfaq.man |
561 | * dictionary |
562 | |
563 | 2004-08-14 Will Duquette <will@wjduquette.com> |
564 | |
565 | * snit.tcl Defined the -hastypemethods pragma, and added |
566 | * snit.test relevant tests and documentation. |
567 | * snit.man |
568 | * README.txt |
569 | * snitfaq.man |
570 | |
571 | 2004-08-12 Will Duquette <will@wjduquette.com> |
572 | |
573 | * snit.tcl Under appropriate conditions, calling a |
574 | * snit.test snit::type command with no arguments will create |
575 | * snit.man an instance with an automatically generated name. |
576 | * README.txt |
577 | |
578 | 2004-08-11 Will Duquette <will@wjduquette.com> |
579 | |
580 | * snit.tcl Added the -hasinfo pragma, along with the |
581 | * snit.test appropriate tests. Updated documentation. |
582 | * snit.man |
583 | * README.txt |
584 | |
585 | * snit.tcl The "configure", "configurelist" and "cget" |
586 | * snit.test instance methods, along with the "options" |
587 | * snit.man instance variable, are defined only if the |
588 | * README.txt type defines at least one option (either |
589 | locally or by delegation). |
590 | |
591 | 2004-08-07 Will Duquette <will@wjduquette.com> |
592 | |
593 | * All files Updated to Snit V0.96 for post-0.95 development. |
594 | Fixed bug: methods called via [mymethod] can now |
595 | return exotic return codes, e.g., |
596 | "return -code break" |
597 | |
598 | 2004-08-04 Will Duquette <will@wjduquette.com> |
599 | |
600 | * snitfaq.man Updated the Snit FAQ document. |
601 | |
602 | * snit.man Finalized Snit V0.95, and updated the version number |
603 | * snit.tcl throughout. |
604 | * pkgIndex.tcl |
605 | * README.txt |
606 | |
607 | 2004-07-27 Will Duquette <will@wjduquette.com> |
608 | |
609 | * snit.man Updated the manpage to describe the new "pragma" |
610 | statement. Also, changed the SNIT acronym in the |
611 | title to "Simple Now In Tcl", i.e., objects are |
612 | now simple. |
613 | |
614 | * snit.tcl Added another pragma, -canreplace. If false |
615 | * snit.test (the default) snit::types can no longer create |
616 | * README.txt instances which replace existing Tcl commands. |
617 | * snit.man Setting "pragma -canreplace yes" restores the |
618 | * dictionary previous behavior. |
619 | |
620 | * snit.tcl The type definition statements "variable" and |
621 | * snit.test "typevariable" now take a "-array" option that |
622 | * README.txt allows them to initialize array variables with |
623 | * snit.man an "array set" list. |
624 | |
625 | * snit.test Fixed Snit bug 899207 (snit test failures) |
626 | |
627 | * snit.tcl Added new instance introspection methods |
628 | * snit.test "info typemethods" and "info methods", and a new |
629 | * README.txt type introspection typemethod "info typemethods". |
630 | * snit.man |
631 | * roadmap.txt |
632 | |
633 | * snit.man Reviewed the entire man page, and made copious |
634 | changes and fixes. |
635 | |
636 | * snit.tcl Revised many of the error messages to be more |
637 | * snit.test Tcl/Tk-like. Double-quotes are used instead of |
638 | single quotes, and terminal periods are omitted. |
639 | |
640 | * snit.tcl Added some code to method and typemethod dispatch |
641 | * snit.test so that the return code (e.g., return -code break) |
642 | returned by the method/typemethod code is passed |
643 | along unchanged. This is mostly so that methods |
644 | and typemethods can conditionally break in event |
645 | bindings. |
646 | |
647 | 2004-07-26 Will Duquette <will@wjduquette.com> |
648 | |
649 | * snit.tcl Implemented -configuremethod and configure command |
650 | * snit.test caching; added tests to ensure that the cache is |
651 | * roadmap.txt cleared when necessary. Implemented -validatemethod |
652 | * dictionary and added tests. Implemented -readonly and added |
653 | * README.txt tests. |
654 | |
655 | * snit.man Updated the man page with the new option |
656 | definition syntax. |
657 | |
658 | * snit.tcl Added the "pragma" statement, and three pragma |
659 | * snit.test options, -hastypeinfo, -hastypedestroy, and |
660 | * roadmap.txt -hasinstances, plus related tests. It still |
661 | * dictionary needs to be documented. |
662 | |
663 | 2004-07-25 Will Duquette <will@wjduquette.com> |
664 | |
665 | * snit.tcl Renamed some procs for clarity, and repaired some |
666 | * roadmap.txt omissions in roadmap.txt. Added "cget" command |
667 | * snit.test caching for additional speed-up. |
668 | * dictionary.txt |
669 | |
670 | 2004-07-24 Will Duquette <will@wjduquette.com> |
671 | |
672 | * snit.tcl (::snit::RT.MethodCacheLookup): The cached command |
673 | is now generated as a list, not a string; this |
674 | improves the speed of method invocation by quite a |
675 | bit. |
676 | |
677 | 2004-07-24 Will Duquette <will@wjduquette.com> |
678 | |
679 | * snit.tcl Consolidated the option typevariables into a |
680 | * dictionary single array, Snit_optionInfo. Implemented |
681 | * roadmap.txt parsing of the new option definition syntax; |
682 | * snit.test the -validatemethod, -configuremethod, and |
683 | -cgetmethod options as yet have no effect. |
684 | Added tests to ensure that the 'option' and |
685 | 'delegate option' statements populate |
686 | Snit_optionInfo properly. |
687 | |
688 | Added "starcomp" to the Snit_optionInfo array. |
689 | When "delegate option *" is used, "*" no longer |
690 | has a "target-$opt" entry, nor does it appear |
691 | in "delegated-$comp". Instead, "starcomp" is the |
692 | name of the component to which option "*" is |
693 | delegated, or "". |
694 | |
695 | Reimplemented user-defined "cget" handlers using |
696 | the "-cgetmethod" option definition option. |
697 | The "oncget" statement now defines a method, and |
698 | sets the option. |
699 | |
700 | 2004-07-21 Will Duquette <will@wjduquette.com> |
701 | |
702 | * README.txt Updated to reflect recent changes. |
703 | * snit.man |
704 | |
705 | 2004-07-20 Will Duquette <will@wjduquette.com> |
706 | |
707 | * snit.tcl Finished the refactoring job. All extraneous |
708 | * roadmap.txt code has been moved from the type templates to the |
709 | ::snit:: runtime. |
710 | |
711 | 2004-07-19 Will Duquette <will@wjduquette.com> |
712 | |
713 | * snit.tcl Refactored %TYPE%::Snit_optionget to |
714 | * roadmap.txt ::snit::RT.OptionDbGet. Refactored |
715 | %TYPE%::Snit_cleanup to ::snit::RT.DestroyObject, |
716 | %TYPE%::Snit_tracer to ::snit::RT.InstanceTrace, |
717 | and %TYPE%::Snit_removetrace to |
718 | ::snit::RT.RemoveInstanceTrace. |
719 | |
720 | 2004-07-17 Will Duquette <will@wjduquette.com> |
721 | |
722 | * snit.tcl Added "delegate typemethod ..." in all its glory, |
723 | * snit.test including "delegate typemethod *". Made it |
724 | * dictionary.txt Possible to delegate an instance method to a |
725 | * roadmap.txt typecomponent. Added tests to ensure that |
726 | variable/typevariable and component/typecomponent |
727 | names do not collide. Updated a number of |
728 | compilation error messages for consistency. |
729 | Moved the remaining typemethod definitions from the |
730 | template code and replaced them delegations to |
731 | the Snit runtime library. Added/modified |
732 | relevant tests, and updated the roadmap and |
733 | dictionary files. |
734 | |
735 | 2004-07-15 Will Duquette <will@wjduquette.com> |
736 | |
737 | * snit.tcl Replaced the old typemethod definition and |
738 | cacheLookup code with new pattern-based code, just |
739 | like the method definition and lookup. The |
740 | cache lookup routine doesn't yet understand |
741 | typemethod "*". The next step is to implement |
742 | typecomponents and "delegate typemethod". |
743 | |
744 | * dictionary.txt Documented the changes related to the above |
745 | change. |
746 | |
747 | 2004-07-14 Will Duquette <will@wjduquette.com> |
748 | |
749 | * snit.tcl Replaced %TYPE%::Snit_comptrace with |
750 | snit::RT.ComponentTrace. |
751 | |
752 | Replaced %TYPE%::Snit_cacheLookup with |
753 | snit::RT.MethodCacheLookup |
754 | |
755 | Replaced %TYPE%::Snit_typeCacheLookup with |
756 | snit::RT.TypemethodCacheLookup |
757 | |
758 | * snit.test Added a test to verify that a widget's hull |
759 | component cannot be altered once it is set. |
760 | |
761 | * roadmap.txt Documents the internal structure of snit.tcl. |
762 | |
763 | 2004-07-11 Will Duquette <will@wjduquette.com> |
764 | |
765 | * snit.tcl Renamed a number of internal commands, for |
766 | clarity. |
767 | |
768 | Refactored the standard method bodies |
769 | out of the type definition and into the Snit |
770 | runtime using delegation. |
771 | |
772 | Defined snit::compile which compiles a |
773 | type definition into the Tcl script which |
774 | actually defines the type. |
775 | |
776 | * snit.test Added and modified appropriate tests. |
777 | |
778 | * README.txt Added a bullet about snit::compile. |
779 | |
780 | 2004-07-05 Will Duquette <will@wjduquette.com> |
781 | |
782 | * snit.tcl Replaced the old method cacheLookup code with new |
783 | code based on command patterns. All tests pass; |
784 | no test changes were needed. All is now ready to |
785 | add the new "delegate method" "using" keyword. |
786 | * dictionary.txt |
787 | This file documents Snit's private variables. |
788 | It's up-to-date, and checked in for the first |
789 | time. |
790 | |
791 | * snit.tcl Implemented the new "using <pattern>" clause to |
792 | * snit.test "delegate method", and added relevant tests. |
793 | |
794 | * snit.man Documented the new "delegate method" syntax. |
795 | * README.txt |
796 | |
797 | 2004-07-04 Will Duquette <will@wjduquette.com> |
798 | |
799 | * snit.tcl Re-implemented the option and method delegation |
800 | * snit.test syntax so that the order of clauses is no longer |
801 | important. Along the way, I made the relevant |
802 | error messages more specific. |
803 | |
804 | 2004-06-26 Will Duquette <will@wjduquette.com> |
805 | |
806 | * snit.tcl Added the "component" statement, with two options, |
807 | * snit.test -public and -inherit. Added all relevant tests. |
808 | * snit.man Updated the man page to describe it. |
809 | |
810 | 2004-05-30 Will Duquette <will@wjduquette.com> |
811 | |
812 | * snit.man Updated per 0.94 changes to date; also I made a |
813 | sweep through the whole document and cleaned |
814 | things up here and there for readability. |
815 | |
816 | 2004-05-29 Will Duquette <will@wjduqette.com> |
817 | |
818 | * snit.tcl Moved Snit_component to snit::Component. |
819 | |
820 | Removed the "type" argument from all of the |
821 | "Type.*" procs. Instead, the compilation type |
822 | is available as $compile(type). Consequently, |
823 | the Type.* procs can now be aliased into the |
824 | compiler just once, instead of with every type |
825 | definition. (Did that.) |
826 | |
827 | Defined snit::macro. |
828 | |
829 | * snit.test Added tests for snit::macro. |
830 | |
831 | 2004-05-23 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
832 | |
833 | * |
834 | * Released and tagged Tcllib 1.6.1 ======================== |
835 | * |
836 | |
837 | 2004-05-15 Will Duquette <will@wjduquette.com> |
838 | |
839 | * snit.tcl: Updated version to 0.94 |
840 | * pkgIndex.tcl: |
841 | |
842 | * snit.tcl: Modified the Snit_dispatcher function to |
843 | use a method command cache. Method commands |
844 | are assembled in Snit_cacheLookup only if |
845 | they aren't found in the cache. The |
846 | new Snit_dispatcher was much shorter, |
847 | so its code was moved into the object's |
848 | instance command, and Snit_dispatcher |
849 | was deleted altogether. These changes |
850 | speed up method calls considerably. |
851 | |
852 | Snit_tracer was then modified to clear the |
853 | method cache when the instance command is |
854 | renamed--the cached commands contained the |
855 | old instance command name. |
856 | |
857 | * snit.test: Components can be changed dynamically; the |
858 | method cache breaks this, because the |
859 | previous component's command is still |
860 | cached. Added a test that checks whether |
861 | the method cache is cleared properly when |
862 | a component is changed. |
863 | |
864 | * snit.tcl: Snit_comptrace now clears the method cache |
865 | when a component is redefined. |
866 | |
867 | * snit.tcl: Added a type method cache. Type methods |
868 | (with the exception of implicit "create") are |
869 | now as fast as instance methods. This is a |
870 | naive implementation, though--for typemethods, |
871 | the cache could be populated at definition |
872 | time, since there's no delegation. Of course, |
873 | if I added typemethod delegation then what I'm |
874 | doing is appropriate. |
875 | |
876 | * snit.tcl: Reorganized some things, in preparation to move |
877 | shared code from the type definition to the |
878 | snit:: namespace. |
879 | |
880 | * snit.tcl: Made %TYPE%::mymethod an alias to snit::MyMethod. |
881 | |
882 | * snit.tcl: Added %TYPE%::myproc, as an alias to |
883 | * snit.test: snit::MyProc. "codename" is now deprecated. |
884 | Added tests for myproc. |
885 | |
886 | * snit.tcl: %TYPE%::codename is now an alias to |
887 | snit::CodeName. |
888 | |
889 | * snit.tcl: Added %TYPE%::myvar and %TYPE%::mytypevar; these |
890 | replace %TYPE%::varname and %TYPE%::typevarname, |
891 | which are now deprecated. All are now implemented |
892 | as aliases to calls in snit::. |
893 | |
894 | * snit.tcl: %TYPE%::variable is now an alias to |
895 | snit::variable. |
896 | |
897 | * snit.tcl: %TYPE%::from is now an alias to snit::From. |
898 | |
899 | 2004-02-26 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
900 | |
901 | * snit.test: Codified the requirement of Tcl 8.4 into |
902 | * pkgIndex.tcl: package index and test suite. |
903 | |
904 | 2004-02-15 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
905 | |
906 | * |
907 | * Released and tagged Tcllib 1.6 ======================== |
908 | * |
909 | |
910 | 2004-02-07 Will Duquette <will@wjduquette.com> |
911 | |
912 | * README.txt: Added 0.93 information to README.txt. |
913 | |
914 | * snit.tcl: Fixed bug: "$obj info vars" used to leave out "options" |
915 | * snit.test: if no options were defined. It's clearer if the |
916 | behavior is always the same. |
917 | |
918 | Fixed tcllib bugs item #852945: variable. The |
919 | statement "variable ::my::qualified::name" in an |
920 | instance method now makes "name" available, just |
921 | as the standard "variable" command does. |
922 | |
923 | Fixed bug: in some cases the type command was |
924 | created even if there was an error defining the |
925 | type. The type command is now cleaned up in these |
926 | cases. (Credit Andy Goth) |
927 | |
928 | * snit.tcl: Implemented RFE 844766: need ability to split class |
929 | * snit.test: defs across files. Added the snit::typemethod and |
930 | * snit.html: snit::method commands; these allow typemethods and |
931 | methods to be defined after the class already exists. |
932 | |
933 | 2004-02-07 Will Duquette <will@wjduquette.com> |
934 | |
935 | * All: Updated version to 0.93. |
936 | * snit.tcl: The %AUTO% name counter wraps around to 0 when it |
937 | reaches 2^31 - 1, to prevent integer overflow |
938 | errors. |
939 | * snit.html: Minor corrections and updates. |
940 | * faq.html |
941 | |
942 | 2003-12-06 Will Duquette <will@wjduquette.com> |
943 | |
944 | * All: Updated version to 0.92. |
945 | |
946 | * snit.tcl Snit now propagates errorCode properly when |
947 | * snit.test propagating errors. |
948 | |
949 | 2003-12-01 Andreas Kupries <andreas_kupries@users.sourceforge.net> |
950 | |
951 | * snit.man: Updated to changes in the .html files. |
952 | * snitfaq.man: |
953 | |
954 | 2003-11-21 Will Duquette <will@wjduquette.com> |
955 | |
956 | * snit.tcl: Updated version to 0.91. |
957 | * pkgIndex.tcl: |
958 | |
959 | * snit.tcl: Added the "expose" statement to type and widget |
960 | definitions. |
961 | * snit.test: Added appropriate tests. |
962 | * snit.html: Added documentation for "expose". |
963 | * faq.html: Updated the FAQ entries. |
964 | |
965 | * snit.tcl: Added "string match" patterns to the Snit info |
966 | methods. |
967 | * snit.test: Added appropriate tests. |
968 | * snit.html: Updated documentation. |
969 | |
970 | |
971 | 2003-10-28 Andreas Kupries <andreask@activestate.com> |
972 | |
973 | * snit.man: Fixed typos in documentation. |
974 | * snitfaq.man: |
975 | |
976 | 2003-10-27 Will Duquette <will@wjduquette.com> |
977 | |
978 | * snit.html: Fixed typos in documentation. |
979 | * faq.html: |
980 | |
981 | 2003-10-27 Andreas Kupries <andreask@activestate.com> |
982 | |
983 | * snit.man: Updated to changes in the .html files. |
984 | * snitfaq.man: |
985 | |
986 | 2003-10-25 Will Duquette <will@wjduquette.com> |
987 | |
988 | * snit.tcl: Added the "except" clause for "delegate method *" and |
989 | * snit.test: "delegate option *". This allows the user to |
990 | explicitly exclude certain methods and options. |
991 | Added appropriate tests. |
992 | |
993 | * snit.html: Gave the Snit FAQ a bit of an overhaul, and added |
994 | * faq.html: information corresponding to the recent code |
995 | changes, including a great deal of material on Snit |
996 | and the Tk option database. Updated the Snit man |
997 | page to be consistent with the recent code changes. |
998 | |
999 | 2003-10-23 Andreas Kupries <andreask@activestate.com> |
1000 | |
1001 | * snit.man: Updated from Will's html doc's. |
1002 | |
1003 | 2003-10-23 Will Duquette <will@wjduquette.com> |
1004 | |
1005 | * snit.html: Added documentation for the new "hulltype", |
1006 | "widgetclass", and "install" commands. Updated the |
1007 | documentation for "installhull" to show the new |
1008 | "installhull using" syntax. Updated the |
1009 | documentation for "option" and "delegate option" to |
1010 | show how to specify the resource and class names for |
1011 | options. Added a section on the interaction between |
1012 | Snit and the Tk option database. |
1013 | |
1014 | 2003-10-21 Will Duquette <will@wjduquette.com> |
1015 | |
1016 | * snit.tcl: Add the "hulltype" command. This allows the snit::widget |
1017 | * snit.test: author to choose whether the hull should be a frame |
1018 | or a toplevel. Tests have been updated as usual. |
1019 | |
1020 | 2003-10-20 Will Duquette <will@wjduquette.com> |
1021 | |
1022 | * snit.tcl: The new "install" command can now be used to install |
1023 | * snit.test: components for snit::types as well. It doesn't add |
1024 | any value, since there's no option database, but at |
1025 | least the syntax will be the same. |
1026 | |
1027 | "install" now initializes the component properly |
1028 | from the option database when "option *" has been |
1029 | delegated to it. |
1030 | |
1031 | Tests have been updated as usual. |
1032 | |
1033 | 2003-10-19 Will Duquette <will@wjduquette.com> |
1034 | |
1035 | * snit.tcl: During normal widget creation, the default values |
1036 | * snit.test: for a widget's local options are overridden by |
1037 | values from the option database. |
1038 | |
1039 | Array %TYPE%::Snit_compoptions now lists delegated |
1040 | option names for each component. |
1041 | |
1042 | Added a new command, "install", for use in widget |
1043 | and widgetadaptor constructors. Install creates a |
1044 | widget, assigning it to a component; it also queries |
1045 | the option database for any option values that are |
1046 | delegated to this component. |
1047 | |
1048 | Modified installhull, adding a new form that queries |
1049 | the option database as appropriate for options |
1050 | delegated to the hull widget. |
1051 | |
1052 | At this point, the only options whose default values |
1053 | do not come from the option database in the proper |
1054 | way are those implicitly delegated by "delegate |
1055 | option *" to a non-hull widget. I need to think |
1056 | about those. |
1057 | |
1058 | Of course, new tests have been added for all of this. |
1059 | |
1060 | The version number in snit.tcl has been updated to 0.84. |
1061 | |
1062 | 2003-10-18 Will Duquette <will@wjduquette.com> |
1063 | |
1064 | * snit.tcl: Added the "widgetclass" statement; this allows |
1065 | * snit.test: snit::widgets (and nothing else) to explicitly set |
1066 | the widget class name passed to the hull as "-class". |
1067 | In addition, the hull's -class is set automatically, |
1068 | to the explicit widgetclass, if any, or to the |
1069 | widget type name with an initial capital letter. |
1070 | |
1071 | Next, an object's options now have real resource |
1072 | and class names, which are reported correctly by |
1073 | "$obj configure". By default, the resource name |
1074 | is just the option name minus the hyphen, and |
1075 | the class name is just the resource name with an |
1076 | initial capital. |
1077 | |
1078 | In both the "option" and "delegate option" |
1079 | statements, the option name may be specified as |
1080 | a pair or a triple, e.g., |
1081 | |
1082 | option {-name name Name} |
1083 | |
1084 | Thus, the resource name and class name can be |
1085 | specified explicitly. |
1086 | |
1087 | In previous versions, the resource name and |
1088 | class name returned by configure for delegated |
1089 | options was the resource name and class name |
1090 | returned by the component. This is no longer |
1091 | true; configure now returns the resource and |
1092 | class name defined in the type definition. |
1093 | |
1094 | 2003-10-17 Will Duquette <will@wjduquette.com> |
1095 | |
1096 | * snit.html: Added typeconstructor documentation. |
1097 | * faq.html: |
1098 | |
1099 | * snit.tcl: Implemented typeconstructors. A typeconstructor's |
1100 | body is executed as part of the compiled type |
1101 | definition; it has access to all of the typevariables |
1102 | and typemethods. Its job is to initialize arrays, |
1103 | set option database values, and like that. |
1104 | |
1105 | * snit.test: Added tests for typeconstructors. |
1106 | |
1107 | 2003-10-16 Will Duquette <will@wjduquette.com> |
1108 | |
1109 | * README.txt: Updated to reflect snit's presence in tcllib, and |
1110 | to point to this ChangeLog file. |
1111 | |
1112 | 2003-09-30 Andreas Kupries <andreask@activestate.com> |
1113 | |
1114 | * snit.tcl: A number of changes to the code generation part. |
1115 | - Usage of [subst]'s was superfluous, removed, simple string |
1116 | interpolation now. |
1117 | |
1118 | - Now 'namespace eval type' enclosing the generated code |
1119 | anymore. Such an eval is now done only at the top of the |
1120 | generated code to define the namespace, and to |
1121 | define/initialize the typevariables. All procedure definitions |
1122 | are now outside of 'namespace eval' and use fully qualified |
1123 | command names instead. |
1124 | |
1125 | - Moved the code in [snit::Define] which instantiated the class |
1126 | using the generated code into it own helper command, |
1127 | [snit::DefineDo]. Overiding this command allows users of the |
1128 | snit package perform other actions on the newly defined |
1129 | class. One example is that of a snit-compiler which goes |
1130 | through a file containing tcl code and replaces all snit::* |
1131 | definitions with the generated code. |
1132 | |
1133 | Motivation for the change: When applying procomp to procedure |
1134 | definitions inside of a 'namespace eval' they are not |
1135 | byte-compiled, but kept as encoded literal. This is a direct |
1136 | consequence of 'namespace eval' not having a compile |
1137 | function. It also means that introspection, i.e. [info body] |
1138 | does recover the actual procedure definition. By using procedure |
1139 | definitions outside of namespace eval, but fully qualified names |
1140 | this limitation of procomp is avoided. The aforementioned snit |
1141 | compiler application is another part for this, ensuring that |
1142 | instead of keeping the whole class definition as one literal for |
1143 | the snit::* call we actually have tcl code to compile and hide. |
1144 | |
1145 | * snit.tcl: Updated the version number to 0.83 |
1146 | * pkgIndex.tcl: |
1147 | * snit.man: |
1148 | * snitfaq.man: |
1149 | |
1150 | 2003-07-18 Andreas Kupries <andreask@activestate.com> |
1151 | |
1152 | * snit.test: Fixed SF tcllib bug #772535. Instead of using a |
1153 | * snit.tcl: variable reference in the callback a regular command |
1154 | is called, with the unchanging 'selfns' as argument. |
1155 | From there things go through the regular dispatching |
1156 | mechanism after the actual instance name was obtained. |
1157 | Updated all affected tests. |
1158 | |
1159 | Updated dmethod-1.5 also, 'string' delivers a |
1160 | different error message. |
1161 | |
1162 | 2003-07-16 Andreas Kupries <andreask@activestate.com> |
1163 | |
1164 | * snit.man: Added references to bug trackers, as part of |
1165 | * snitfaq.man: caveats. Also added note about bwidget/snit |
1166 | interaction. |
1167 | |
1168 | * snit.tcl: Integrated latest (small) change to original code base |
1169 | (was not released yet). Removes bad trial to fix up error stack. |
1170 | We are now at version 0.82. Added note to developers explaining |
1171 | the catch in Snit_tracer. |
1172 | |
1173 | 2003-07-15 Andreas Kupries <andreask@activestate.com> |
1174 | |
1175 | * snit.tcl: Imported new module into tcllib. |
1176 | * snit.test: snit = Snit Is Not IncrTcl |
1177 | * snit.html: Author: William Duquette |
1178 | * faq.html: OO package + megawidget framework. |
1179 | * README.txt: |
1180 | * license.txt: |
1181 | * pkgIndex.tcl: |
1182 | * snit.man: |
1183 | * snitfaq.man: |