├── .gitignore ├── 8.x ├── itcl │ ├── Makefile.in │ ├── aclocal.m4 │ ├── configure │ ├── configure.in │ ├── doc │ │ ├── Class.3 │ │ ├── List.3 │ │ ├── Object.3 │ │ ├── Preserve.3 │ │ ├── RegisterC.3 │ │ ├── Stack.3 │ │ ├── body.n │ │ ├── class.n │ │ ├── code.n │ │ ├── configbody.n │ │ ├── delete.n │ │ ├── ensemble.n │ │ ├── find.n │ │ ├── is.n │ │ ├── itcl.n │ │ ├── itclvars.n │ │ ├── license.terms │ │ ├── local.n │ │ ├── man.macros │ │ └── scope.n │ ├── generic │ │ ├── itcl.decls │ │ ├── itcl.h │ │ ├── itclDecls.h │ │ ├── itclInt.decls │ │ ├── itclInt.h │ │ ├── itclIntDecls.h │ │ ├── itclStubInit.c │ │ ├── itclStubLib.c │ │ ├── itcl_bicmds.c │ │ ├── itcl_class.c │ │ ├── itcl_cmds.c │ │ ├── itcl_ensemble.c │ │ ├── itcl_linkage.c │ │ ├── itcl_methods.c │ │ ├── itcl_migrate.c │ │ ├── itcl_objects.c │ │ ├── itcl_parse.c │ │ └── itcl_util.c │ ├── itclConfig.sh.in │ ├── library │ │ └── itcl.tcl │ ├── license.terms │ ├── pkgIndex.tcl.in │ ├── tclconfig │ │ ├── install-sh │ │ └── tcl.m4 │ ├── tests │ │ ├── all.tcl │ │ ├── basic.test │ │ ├── body.test │ │ ├── chain.test │ │ ├── delete.test │ │ ├── ensemble.test │ │ ├── import.test │ │ ├── info.test │ │ ├── inherit.test │ │ ├── interp.test │ │ ├── local.test │ │ ├── methods.test │ │ ├── mkindex.itcl │ │ ├── mkindex.test │ │ ├── namespace.test │ │ ├── old │ │ │ ├── AAA.test │ │ │ ├── Bar.tcl │ │ │ ├── BarFoo.tcl │ │ │ ├── Baz.tcl │ │ │ ├── Foo.tcl │ │ │ ├── FooBar.tcl │ │ │ ├── Geek.tcl │ │ │ ├── Mongrel.tcl │ │ │ ├── VirtualErr.tcl │ │ │ ├── all │ │ │ ├── basic.test │ │ │ ├── inherit.test │ │ │ ├── tclIndex │ │ │ ├── testlib.tcl │ │ │ ├── toaster.test │ │ │ ├── toasters │ │ │ │ ├── Appliance.tcl │ │ │ │ ├── Hazard.tcl │ │ │ │ ├── Outlet.tcl │ │ │ │ ├── SmartToaster.tcl │ │ │ │ ├── Toaster.tcl │ │ │ │ ├── tclIndex │ │ │ │ └── usualway.tcl │ │ │ ├── uplevel.test │ │ │ └── upvar.test │ │ ├── protection.test │ │ ├── scope.test │ │ └── tclIndex │ └── win │ │ ├── dllEntryPoint.c │ │ ├── makefile.vc │ │ ├── nmakehlp.c │ │ ├── rc │ │ └── itcl.rc │ │ ├── rules.vc │ │ └── toaster.bmp ├── mk │ ├── CHANGES │ ├── NOTES-2.3.4 │ ├── README │ ├── builds │ │ └── !keepme.txt │ ├── demos │ │ ├── demo.cpp │ │ ├── dump.cpp │ │ ├── myio.cpp │ │ └── struct.cpp │ ├── doc │ │ ├── api │ │ │ ├── c4_Bytes.html │ │ │ ├── c4_BytesProp.html │ │ │ ├── c4_BytesProp_desc.html │ │ │ ├── c4_BytesProp_info.html │ │ │ ├── c4_BytesRef.html │ │ │ ├── c4_BytesRef_desc.html │ │ │ ├── c4_BytesRef_info.html │ │ │ ├── c4_Bytes___NONAME.html │ │ │ ├── c4_Bytes___NONAME_desc.html │ │ │ ├── c4_Bytes___NONAME_info.html │ │ │ ├── c4_Bytes_desc.html │ │ │ ├── c4_Bytes_info.html │ │ │ ├── c4_Cursor.html │ │ │ ├── c4_Cursor_desc.html │ │ │ ├── c4_Cursor_info.html │ │ │ ├── c4_CustomViewer.html │ │ │ ├── c4_CustomViewer_desc.html │ │ │ ├── c4_CustomViewer_info.html │ │ │ ├── c4_DoubleProp.html │ │ │ ├── c4_DoubleProp_desc.html │ │ │ ├── c4_DoubleProp_info.html │ │ │ ├── c4_DoubleRef.html │ │ │ ├── c4_DoubleRef_desc.html │ │ │ ├── c4_DoubleRef_info.html │ │ │ ├── c4_FloatProp.html │ │ │ ├── c4_FloatProp_desc.html │ │ │ ├── c4_FloatProp_info.html │ │ │ ├── c4_FloatRef.html │ │ │ ├── c4_FloatRef_desc.html │ │ │ ├── c4_FloatRef_info.html │ │ │ ├── c4_IntProp.html │ │ │ ├── c4_IntProp_desc.html │ │ │ ├── c4_IntProp_info.html │ │ │ ├── c4_IntRef.html │ │ │ ├── c4_IntRef_desc.html │ │ │ ├── c4_IntRef_info.html │ │ │ ├── c4_MemoProp.html │ │ │ ├── c4_MemoProp_desc.html │ │ │ ├── c4_MemoProp_info.html │ │ │ ├── c4_MemoRef.html │ │ │ ├── c4_MemoRef_desc.html │ │ │ ├── c4_MemoRef_info.html │ │ │ ├── c4_Property.html │ │ │ ├── c4_Property_desc.html │ │ │ ├── c4_Property_info.html │ │ │ ├── c4_Reference.html │ │ │ ├── c4_Reference_desc.html │ │ │ ├── c4_Reference_info.html │ │ │ ├── c4_Row.html │ │ │ ├── c4_RowRef.html │ │ │ ├── c4_RowRef_desc.html │ │ │ ├── c4_RowRef_info.html │ │ │ ├── c4_Row_desc.html │ │ │ ├── c4_Row_info.html │ │ │ ├── c4_Sequence.html │ │ │ ├── c4_Sequence_desc.html │ │ │ ├── c4_Sequence_info.html │ │ │ ├── c4_Storage.html │ │ │ ├── c4_Storage_desc.html │ │ │ ├── c4_Storage_info.html │ │ │ ├── c4_Strategy.html │ │ │ ├── c4_Strategy_desc.html │ │ │ ├── c4_Strategy_info.html │ │ │ ├── c4_Stream.html │ │ │ ├── c4_Stream_desc.html │ │ │ ├── c4_Stream_info.html │ │ │ ├── c4_StringProp.html │ │ │ ├── c4_StringProp_desc.html │ │ │ ├── c4_StringProp_info.html │ │ │ ├── c4_StringRef.html │ │ │ ├── c4_StringRef_desc.html │ │ │ ├── c4_StringRef_info.html │ │ │ ├── c4_View.html │ │ │ ├── c4_ViewProp.html │ │ │ ├── c4_ViewProp_desc.html │ │ │ ├── c4_ViewProp_info.html │ │ │ ├── c4_ViewRef.html │ │ │ ├── c4_ViewRef_desc.html │ │ │ ├── c4_ViewRef_info.html │ │ │ ├── c4_View_desc.html │ │ │ ├── c4_View_info.html │ │ │ ├── classes.html │ │ │ ├── doc_catfish.html │ │ │ ├── doc_catrecv.html │ │ │ ├── doc_catsend.html │ │ │ ├── doc_dbf2mk.html │ │ │ ├── doc_demo.html │ │ │ ├── doc_discat.html │ │ │ ├── doc_dump.html │ │ │ ├── doc_ftpcat.html │ │ │ ├── doc_kbind.html │ │ │ ├── doc_mkoptim.html │ │ │ ├── doc_myio.html │ │ │ ├── doc_struct.html │ │ │ ├── index.html │ │ │ ├── navbar.html │ │ │ ├── roadmap.html │ │ │ ├── samples.html │ │ │ └── tips.html │ │ ├── e4s.gif │ │ ├── format.html │ │ ├── metakit.png │ │ ├── python.html │ │ ├── python.jpg │ │ ├── tcl.gif │ │ └── tcl.html │ ├── examples │ │ ├── README │ │ ├── aside.py │ │ ├── bigblock.tcl │ │ ├── blockdels.tcl │ │ ├── case.py │ │ ├── demo.py │ │ ├── demo.tcl │ │ ├── demold.tcl │ │ ├── derived.py │ │ ├── find.py │ │ ├── mapped.tcl │ │ ├── millions.py │ │ ├── mkbug.cpp │ │ ├── mkhash.cpp │ │ ├── mkmemoio.py │ │ ├── pair.py │ │ ├── random.tcl │ │ ├── remap.py │ │ ├── selfref.py │ │ ├── selmap.tcl │ │ ├── slow.tcl │ │ ├── sort.tcl │ │ └── wrap.py │ ├── include │ │ ├── mk4.h │ │ ├── mk4.inl │ │ ├── mk4dll.h │ │ ├── mk4io.h │ │ ├── mk4str.h │ │ └── mk4str.inl │ ├── license.terms │ ├── python │ │ ├── .cvsignore │ │ ├── PyHead.h │ │ ├── PyProperty.cpp │ │ ├── PyProperty.h │ │ ├── PyRowRef.cpp │ │ ├── PyRowRef.h │ │ ├── PyStorage.cpp │ │ ├── PyStorage.h │ │ ├── PyView.cpp │ │ ├── PyView.h │ │ ├── README-dmn │ │ ├── metakit.py │ │ ├── scxx │ │ │ ├── PWOBase.h │ │ │ ├── PWOCallable.h │ │ │ ├── PWOImp.cpp │ │ │ ├── PWOMSequence.h │ │ │ ├── PWOMapping.h │ │ │ ├── PWONumber.h │ │ │ ├── PWOSequence.h │ │ │ └── README.txt │ │ ├── setup.py │ │ └── test │ │ │ ├── .cvsignore │ │ │ ├── all.py │ │ │ ├── mktestsupport.py │ │ │ ├── test_hash.py │ │ │ ├── test_inttypes.py │ │ │ ├── test_stringtype.py │ │ │ └── test_unittest.py │ ├── src │ │ ├── borc.h │ │ ├── column.cpp │ │ ├── column.h │ │ ├── column.inl │ │ ├── custom.cpp │ │ ├── custom.h │ │ ├── derived.cpp │ │ ├── derived.h │ │ ├── doxy.h │ │ ├── field.cpp │ │ ├── field.h │ │ ├── field.inl │ │ ├── fileio.cpp │ │ ├── format.cpp │ │ ├── format.h │ │ ├── gnuc.h │ │ ├── handler.cpp │ │ ├── handler.h │ │ ├── handler.inl │ │ ├── header.h │ │ ├── mfc.h │ │ ├── msvc.h │ │ ├── mwcw.h │ │ ├── persist.cpp │ │ ├── persist.h │ │ ├── remap.cpp │ │ ├── remap.h │ │ ├── std.cpp │ │ ├── std.h │ │ ├── store.cpp │ │ ├── store.h │ │ ├── store.inl │ │ ├── string.cpp │ │ ├── table.cpp │ │ ├── univ.cpp │ │ ├── univ.h │ │ ├── univ.inl │ │ ├── view.cpp │ │ ├── viewx.cpp │ │ └── win.h │ ├── tcl │ │ ├── .gitignore │ │ ├── Makefile.in │ │ ├── aclocal.m4 │ │ ├── config.h.in │ │ ├── configure │ │ ├── configure.in │ │ ├── mk4tcl.cpp │ │ ├── mk4tcl.h │ │ ├── mk4too.cpp │ │ ├── mkshow.tcl │ │ ├── pkgIndex.tcl.in │ │ ├── stubtcl.h │ │ ├── tclconfig │ │ │ ├── README.txt │ │ │ ├── install-sh │ │ │ └── tcl.m4 │ │ ├── tequila │ │ │ ├── README │ │ │ ├── proxy.tcl │ │ │ ├── tequical.tcl │ │ │ ├── tequila.tcl │ │ │ └── tequilas.tcl │ │ └── tests │ │ │ ├── all.tcl │ │ │ ├── basic.test │ │ │ ├── commit.test │ │ │ ├── fixed.test │ │ │ ├── initests.tcl │ │ │ ├── limit.test │ │ │ └── object.test │ ├── tests │ │ ├── ok │ │ │ ├── b00.txt │ │ │ ├── b01.txt │ │ │ ├── b02.txt │ │ │ ├── b03.txt │ │ │ ├── b04.txt │ │ │ ├── b05.txt │ │ │ ├── b06.txt │ │ │ ├── b07.txt │ │ │ ├── b08.txt │ │ │ ├── b09.txt │ │ │ ├── b10.txt │ │ │ ├── b11.txt │ │ │ ├── b12.txt │ │ │ ├── b13.txt │ │ │ ├── b14.txt │ │ │ ├── b15.txt │ │ │ ├── b16.txt │ │ │ ├── b17.txt │ │ │ ├── b18.txt │ │ │ ├── b19.txt │ │ │ ├── b20.txt │ │ │ ├── b21.txt │ │ │ ├── b22.txt │ │ │ ├── b23.txt │ │ │ ├── b24.txt │ │ │ ├── b25.txt │ │ │ ├── b26.txt │ │ │ ├── b27.txt │ │ │ ├── c01.txt │ │ │ ├── c02.txt │ │ │ ├── c03.txt │ │ │ ├── c04.txt │ │ │ ├── c05.txt │ │ │ ├── c06.txt │ │ │ ├── c07.txt │ │ │ ├── c08.txt │ │ │ ├── c09.txt │ │ │ ├── c10.txt │ │ │ ├── c11.txt │ │ │ ├── c12.txt │ │ │ ├── c13.txt │ │ │ ├── c14.txt │ │ │ ├── c15.txt │ │ │ ├── c16.txt │ │ │ ├── c17.txt │ │ │ ├── c18.txt │ │ │ ├── c19.txt │ │ │ ├── c20.txt │ │ │ ├── c21.txt │ │ │ ├── c22.txt │ │ │ ├── d01.txt │ │ │ ├── d01a.txt │ │ │ ├── d01b.txt │ │ │ ├── e01.txt │ │ │ ├── e01a.txt │ │ │ ├── e02.txt │ │ │ ├── e02a.txt │ │ │ ├── e03.txt │ │ │ ├── e03a.txt │ │ │ ├── e04.txt │ │ │ ├── e04a.txt │ │ │ ├── e05.txt │ │ │ ├── e05a.txt │ │ │ ├── e06.txt │ │ │ ├── e06a.txt │ │ │ ├── f01.txt │ │ │ ├── f01a.txt │ │ │ ├── f02.txt │ │ │ ├── f02a.txt │ │ │ ├── f03.txt │ │ │ ├── f03a.txt │ │ │ ├── f04.txt │ │ │ ├── f04a.txt │ │ │ ├── f05.txt │ │ │ ├── f05a.txt │ │ │ ├── f06.txt │ │ │ ├── f07.txt │ │ │ ├── f07a.txt │ │ │ ├── f08.txt │ │ │ ├── f08a.txt │ │ │ ├── f09.txt │ │ │ ├── f09a.txt │ │ │ ├── f10.txt │ │ │ ├── f10a.txt │ │ │ ├── f11.txt │ │ │ ├── f11a.txt │ │ │ ├── l00.txt │ │ │ ├── l00a.txt │ │ │ ├── l01.txt │ │ │ ├── l01a.txt │ │ │ ├── l02.txt │ │ │ ├── l02a.txt │ │ │ ├── l03.txt │ │ │ ├── l03a.txt │ │ │ ├── l03b.txt │ │ │ ├── l04.txt │ │ │ ├── l04a.txt │ │ │ ├── l05.txt │ │ │ ├── l05a.txt │ │ │ ├── l06.txt │ │ │ ├── l06a.txt │ │ │ ├── l07.txt │ │ │ ├── l07a.txt │ │ │ ├── m01.txt │ │ │ ├── m02.txt │ │ │ ├── m02a.txt │ │ │ ├── m03.txt │ │ │ ├── m03a.txt │ │ │ ├── m04.txt │ │ │ ├── m04a.txt │ │ │ ├── m05.txt │ │ │ ├── m05a.txt │ │ │ ├── m06.txt │ │ │ ├── m06a.txt │ │ │ ├── m07.txt │ │ │ ├── n01.txt │ │ │ ├── n02.txt │ │ │ ├── n03.txt │ │ │ ├── n04.txt │ │ │ ├── n05.txt │ │ │ ├── n06.txt │ │ │ ├── n07.txt │ │ │ ├── n08.txt │ │ │ ├── n09.txt │ │ │ ├── n10.txt │ │ │ ├── n11.txt │ │ │ ├── n12.txt │ │ │ ├── n13.txt │ │ │ ├── n14.txt │ │ │ ├── n14a.txt │ │ │ ├── r00.txt │ │ │ ├── r00a.txt │ │ │ ├── r01.txt │ │ │ ├── r01a.txt │ │ │ ├── r02.txt │ │ │ ├── r02a.txt │ │ │ ├── r03.txt │ │ │ ├── r03a.txt │ │ │ ├── r04.txt │ │ │ ├── r04a.txt │ │ │ ├── reversed.txt │ │ │ ├── s00.txt │ │ │ ├── s00a.txt │ │ │ ├── s01.txt │ │ │ ├── s01a.txt │ │ │ ├── s02.txt │ │ │ ├── s02a.txt │ │ │ ├── s03.txt │ │ │ ├── s03a.txt │ │ │ ├── s04.txt │ │ │ ├── s04a.txt │ │ │ ├── s05.txt │ │ │ ├── s05a.txt │ │ │ ├── s06.txt │ │ │ ├── s06a.txt │ │ │ ├── s07.txt │ │ │ ├── s07a.txt │ │ │ ├── s08.txt │ │ │ ├── s08a.txt │ │ │ ├── s09.txt │ │ │ ├── s09a.txt │ │ │ ├── s09b.txt │ │ │ ├── s10.txt │ │ │ ├── s10a.txt │ │ │ ├── s10b.txt │ │ │ ├── s10c.txt │ │ │ ├── s11.txt │ │ │ ├── s11a.txt │ │ │ ├── s12.txt │ │ │ ├── s12a.txt │ │ │ ├── s13.txt │ │ │ ├── s13a.txt │ │ │ ├── s14.txt │ │ │ ├── s14a.txt │ │ │ ├── s15.txt │ │ │ ├── s15a.txt │ │ │ ├── s16.txt │ │ │ ├── s16a.txt │ │ │ ├── s17.txt │ │ │ ├── s17a.txt │ │ │ ├── s18.txt │ │ │ ├── s18a.txt │ │ │ ├── s19.txt │ │ │ ├── s19a.txt │ │ │ ├── s20.txt │ │ │ ├── s20a.txt │ │ │ ├── s21.txt │ │ │ ├── s21a.txt │ │ │ ├── s22.txt │ │ │ ├── s22a.txt │ │ │ ├── s23.txt │ │ │ ├── s23a.txt │ │ │ ├── s24.txt │ │ │ ├── s24a.txt │ │ │ ├── s25.txt │ │ │ ├── s25a.txt │ │ │ ├── s26.txt │ │ │ ├── s26a.txt │ │ │ ├── s27.txt │ │ │ ├── s27a.txt │ │ │ ├── s28.txt │ │ │ ├── s28a.txt │ │ │ ├── s29.txt │ │ │ ├── s29a.txt │ │ │ ├── s30.txt │ │ │ ├── s30a.txt │ │ │ ├── s31.txt │ │ │ ├── s31a.txt │ │ │ ├── s32.txt │ │ │ ├── s32a.txt │ │ │ ├── s33.txt │ │ │ ├── s33a.txt │ │ │ ├── s33b.txt │ │ │ ├── s33c.txt │ │ │ ├── s34.txt │ │ │ ├── s34a.txt │ │ │ ├── s35.txt │ │ │ ├── s35a.txt │ │ │ ├── s36.txt │ │ │ ├── s36a.txt │ │ │ ├── s36b.txt │ │ │ ├── s37.txt │ │ │ ├── s37a.txt │ │ │ ├── s38.txt │ │ │ ├── s38a.txt │ │ │ ├── s39.txt │ │ │ ├── s39a.txt │ │ │ ├── s40.txt │ │ │ ├── s40a.txt │ │ │ ├── s41.txt │ │ │ ├── s41a.txt │ │ │ ├── s42.txt │ │ │ ├── s43.txt │ │ │ ├── s43a.txt │ │ │ ├── s44.txt │ │ │ ├── s44a.txt │ │ │ ├── s45.txt │ │ │ ├── s45a.txt │ │ │ ├── s46.txt │ │ │ ├── s46a.txt │ │ │ ├── s47.txt │ │ │ ├── s48.txt │ │ │ ├── s48a.txt │ │ │ ├── s48b.txt │ │ │ ├── s49.txt │ │ │ ├── s49a.txt │ │ │ ├── s50.txt │ │ │ └── s50a.txt │ │ ├── regress.cpp │ │ ├── regress.h │ │ ├── tbasic1.cpp │ │ ├── tbasic2.cpp │ │ ├── tcusto1.cpp │ │ ├── tcusto2.cpp │ │ ├── tdiffer.cpp │ │ ├── textend.cpp │ │ ├── tformat.cpp │ │ ├── tlimits.cpp │ │ ├── tmapped.cpp │ │ ├── tnotify.cpp │ │ ├── tresize.cpp │ │ ├── tstore1.cpp │ │ ├── tstore2.cpp │ │ ├── tstore3.cpp │ │ ├── tstore4.cpp │ │ └── tstore5.cpp │ ├── unix │ │ ├── Doxyfile │ │ ├── Doxytail.html │ │ ├── Makefile.in │ │ ├── README │ │ ├── config.h.in │ │ ├── configure │ │ ├── configure.in │ │ ├── cpprt0_stubs.s │ │ ├── metakit.spec │ │ ├── reversed │ │ └── scripts │ │ │ ├── config.guess │ │ │ ├── config.sub │ │ │ └── install-sh │ └── win │ │ ├── config.h │ │ ├── makefile.vc │ │ ├── msvc60 │ │ ├── mkbug.dsp │ │ ├── mkdemo.dsp │ │ ├── mkdist.dsp │ │ ├── mkdll.dsp │ │ ├── mkdump.dsp │ │ ├── mkhash.dsp │ │ ├── mklib.dsp │ │ ├── mkpython.dsp │ │ ├── mksrc.dsw │ │ ├── mktcl.dsp │ │ ├── mktest.dsp │ │ └── reversed │ │ ├── msvc70 │ │ ├── mkbug.vcproj │ │ ├── mkdemo.vcproj │ │ ├── mkdist.vcproj │ │ ├── mkdll.vcproj │ │ ├── mkdump.vcproj │ │ ├── mkhash.vcproj │ │ ├── mklib.vcproj │ │ ├── mkpython.vcproj │ │ ├── mksrc.sln │ │ ├── mktcl.vcproj │ │ ├── mktest.vcproj │ │ ├── reversed │ │ └── tests │ │ │ └── !keepme.txt │ │ ├── nmakehlp.c │ │ └── rules.vc ├── tclvfs │ ├── ChangeLog │ ├── DESCRIPTION.txt │ ├── Makefile.in │ ├── README.cygwin │ ├── Readme.txt │ ├── aclocal.m4 │ ├── configure │ ├── configure.in │ ├── doc │ │ ├── vfs-filesystems.man │ │ ├── vfs-fsapi.man │ │ ├── vfs.man │ │ ├── vfs.n │ │ └── vfslib.n │ ├── examples │ │ └── simpleExamples.tcl │ ├── generic │ │ └── vfs.c │ ├── http2.6 │ │ ├── http.n │ │ ├── http.tcl │ │ └── pkgIndex.tcl │ ├── library │ │ ├── ftpvfs.tcl │ │ ├── httpvfs.tcl │ │ ├── mk4vfs.tcl │ │ ├── starkit.tcl │ │ ├── tarvfs.tcl │ │ ├── tclprocvfs.tcl │ │ ├── template │ │ │ ├── chrootvfs.tcl │ │ │ ├── collatevfs.tcl │ │ │ ├── deltavfs.tcl │ │ │ ├── fishvfs.tcl │ │ │ ├── globfind.tcl │ │ │ ├── quotavfs.tcl │ │ │ ├── tclIndex │ │ │ ├── tdelta.tcl │ │ │ ├── templatevfs.tcl │ │ │ └── versionvfs.tcl │ │ ├── testvfs.tcl │ │ ├── tkvfs.tcl │ │ ├── vfs.tcl.in │ │ ├── vfsUrl.tcl │ │ ├── vfsUtils.tcl │ │ ├── vfslib.tcl │ │ ├── webdavvfs.tcl │ │ └── zipvfs.tcl │ ├── license.terms │ ├── make55.tcl │ ├── pkgIndex.tcl.in │ ├── tclconfig │ │ ├── README.txt │ │ ├── install-sh │ │ └── tcl.m4 │ ├── tests │ │ ├── all.tcl │ │ ├── vfs.test │ │ ├── vfsArchive.test │ │ ├── vfsFtp.test │ │ ├── vfsTar.test │ │ ├── vfsUrl.test │ │ └── vfsZip.test │ └── win │ │ ├── makefile.vc │ │ ├── nmakehlp.c │ │ ├── rules.vc │ │ └── tclvfs.rc ├── thread │ ├── .cvsignore │ ├── ChangeLog │ ├── Makefile.in │ ├── README │ ├── aclocal.m4 │ ├── aolserver.m4 │ ├── configure │ ├── configure.in │ ├── doc │ │ ├── format.tcl │ │ ├── html │ │ │ ├── thread.html │ │ │ ├── tpool.html │ │ │ ├── tsv.html │ │ │ └── ttrace.html │ │ ├── man.macros │ │ ├── man │ │ │ ├── thread.n │ │ │ ├── tpool.n │ │ │ ├── tsv.n │ │ │ └── ttrace.n │ │ ├── thread.man │ │ ├── tpool.man │ │ ├── tsv.man │ │ └── ttrace.man │ ├── generic │ │ ├── aolstub.cpp │ │ ├── psGdbm.c │ │ ├── psGdbm.h │ │ ├── tclThread.h │ │ ├── tclXkeylist.c │ │ ├── tclXkeylist.h │ │ ├── threadCmd.c │ │ ├── threadPoolCmd.c │ │ ├── threadSpCmd.c │ │ ├── threadSpCmd.h │ │ ├── threadSvCmd.c │ │ ├── threadSvCmd.h │ │ ├── threadSvKeylistCmd.c │ │ ├── threadSvKeylistCmd.h │ │ ├── threadSvListCmd.c │ │ └── threadSvListCmd.h │ ├── lib │ │ └── ttrace.tcl │ ├── license.terms │ ├── pkgIndex.tcl.in │ ├── tcl │ │ ├── README │ │ ├── cmdsrv │ │ │ └── cmdsrv.tcl │ │ ├── phttpd │ │ │ ├── index.htm │ │ │ ├── phttpd.tcl │ │ │ └── uhttpd.tcl │ │ └── tpool │ │ │ └── tpool.tcl │ ├── tclconfig │ │ ├── ChangeLog │ │ ├── README.txt │ │ ├── install-sh │ │ └── tcl.m4 │ ├── tests │ │ ├── all.tcl │ │ ├── thread.test │ │ ├── tpool.test │ │ ├── tsv.test │ │ └── ttrace.test │ ├── unix │ │ ├── CONFIG │ │ ├── README │ │ └── threadUnix.c │ └── win │ │ ├── CONFIG │ │ ├── README.txt │ │ ├── thread.rc │ │ ├── threadWin.c │ │ └── vc │ │ ├── .cvsignore │ │ ├── README.txt │ │ ├── makefile.vc │ │ ├── nmakehlp.c │ │ ├── nmakehlp.exe │ │ ├── nmakehlp.obj │ │ ├── pkg.vc │ │ ├── rules.vc │ │ ├── thread_win.dsp │ │ └── thread_win.dsw ├── vqtcl │ ├── ChangeLog │ ├── Makefile.in │ ├── README │ ├── aclocal.m4 │ ├── configure │ ├── configure.in │ ├── data │ │ ├── gtest.db │ │ ├── lkit-be.db │ │ ├── lkit-le.db │ │ └── mkblk.db │ ├── doc │ │ ├── ratcl.html │ │ ├── ratcl.man │ │ ├── ratcl.n │ │ ├── vlerq.html │ │ ├── vlerq.man │ │ └── vlerq.n │ ├── generic │ │ └── vlerq.c │ ├── library │ │ ├── m2mvfs.tcl │ │ ├── mkclvfs.tcl │ │ ├── mklite.tcl │ │ └── ratcl.tcl │ ├── license.terms │ ├── pkgIndex.tcl.in │ ├── tclconfig │ │ ├── install-sh │ │ └── tcl.m4 │ ├── tests │ │ ├── all.tcl │ │ ├── basic.test │ │ ├── bits.test │ │ ├── blocked.test │ │ ├── column.test │ │ ├── commit.test │ │ ├── emit.test │ │ ├── error.test │ │ ├── file.test │ │ ├── get.test │ │ ├── hash.test │ │ ├── indirect.test │ │ ├── initests.tcl │ │ ├── kitten.test │ │ ├── l.large.test │ │ ├── l.leaks.test │ │ ├── loop.test │ │ ├── m2m.test │ │ ├── mkcl.test │ │ ├── mklite.test │ │ ├── mutable.test │ │ ├── ops.test │ │ ├── ratcl.test │ │ ├── ref.test │ │ ├── sorted.test │ │ └── view.test │ └── win │ │ ├── makefile.vc │ │ ├── nmakehlp.c │ │ ├── rules.vc │ │ └── unistd.h └── zlib │ ├── CMakeLists.txt │ ├── ChangeLog │ ├── FAQ │ ├── INDEX │ ├── Makefile │ ├── Makefile.in │ ├── README │ ├── adler32.c │ ├── amiga │ ├── Makefile.pup │ └── Makefile.sas │ ├── compress.c │ ├── configure │ ├── contrib │ ├── README.contrib │ ├── ada │ │ ├── buffer_demo.adb │ │ ├── mtest.adb │ │ ├── read.adb │ │ ├── readme.txt │ │ ├── test.adb │ │ ├── zlib-streams.adb │ │ ├── zlib-streams.ads │ │ ├── zlib-thin.adb │ │ ├── zlib-thin.ads │ │ ├── zlib.adb │ │ ├── zlib.ads │ │ └── zlib.gpr │ ├── amd64 │ │ └── amd64-match.S │ ├── asm686 │ │ ├── README.686 │ │ └── match.S │ ├── blast │ │ ├── Makefile │ │ ├── README │ │ ├── blast.c │ │ ├── blast.h │ │ ├── test.pk │ │ └── test.txt │ ├── delphi │ │ ├── ZLib.pas │ │ ├── ZLibConst.pas │ │ ├── readme.txt │ │ └── zlibd32.mak │ ├── dotzlib │ │ ├── DotZLib.build │ │ ├── DotZLib.chm │ │ ├── DotZLib.sln │ │ ├── DotZLib │ │ │ ├── AssemblyInfo.cs │ │ │ ├── ChecksumImpl.cs │ │ │ ├── CircularBuffer.cs │ │ │ ├── CodecBase.cs │ │ │ ├── Deflater.cs │ │ │ ├── DotZLib.cs │ │ │ ├── DotZLib.csproj │ │ │ ├── GZipStream.cs │ │ │ ├── Inflater.cs │ │ │ └── UnitTests.cs │ │ ├── LICENSE_1_0.txt │ │ └── readme.txt │ ├── gcc_gvmat64 │ │ └── gvmat64.S │ ├── infback9 │ │ ├── README │ │ ├── infback9.c │ │ ├── infback9.h │ │ ├── inffix9.h │ │ ├── inflate9.h │ │ ├── inftree9.c │ │ └── inftree9.h │ ├── inflate86 │ │ ├── inffas86.c │ │ └── inffast.S │ ├── iostream │ │ ├── test.cpp │ │ ├── zfstream.cpp │ │ └── zfstream.h │ ├── iostream2 │ │ ├── zstream.h │ │ └── zstream_test.cpp │ ├── iostream3 │ │ ├── README │ │ ├── TODO │ │ ├── test.cc │ │ ├── zfstream.cc │ │ └── zfstream.h │ ├── masmx64 │ │ ├── bld_ml64.bat │ │ ├── gvmat64.asm │ │ ├── inffas8664.c │ │ ├── inffasx64.asm │ │ └── readme.txt │ ├── masmx86 │ │ ├── bld_ml32.bat │ │ ├── inffas32.asm │ │ ├── match686.asm │ │ └── readme.txt │ ├── minizip │ │ ├── Makefile │ │ ├── Makefile.am │ │ ├── MiniZip64_Changes.txt │ │ ├── MiniZip64_info.txt │ │ ├── configure.ac │ │ ├── crypt.h │ │ ├── ioapi.c │ │ ├── ioapi.h │ │ ├── iowin32.c │ │ ├── iowin32.h │ │ ├── make_vms.com │ │ ├── miniunz.c │ │ ├── miniunzip.1 │ │ ├── minizip.1 │ │ ├── minizip.c │ │ ├── minizip.pc.in │ │ ├── mztools.c │ │ ├── mztools.h │ │ ├── unzip.c │ │ ├── unzip.h │ │ ├── zip.c │ │ └── zip.h │ ├── pascal │ │ ├── example.pas │ │ ├── readme.txt │ │ ├── zlibd32.mak │ │ └── zlibpas.pas │ ├── puff │ │ ├── Makefile │ │ ├── README │ │ ├── puff.c │ │ ├── puff.h │ │ ├── pufftest.c │ │ └── zeros.raw │ ├── testzlib │ │ ├── testzlib.c │ │ └── testzlib.txt │ ├── untgz │ │ ├── Makefile │ │ ├── Makefile.msc │ │ └── untgz.c │ └── vstudio │ │ ├── readme.txt │ │ ├── vc10 │ │ ├── miniunz.vcxproj │ │ ├── miniunz.vcxproj.filters │ │ ├── minizip.vcxproj │ │ ├── minizip.vcxproj.filters │ │ ├── testzlib.vcxproj │ │ ├── testzlib.vcxproj.filters │ │ ├── testzlibdll.vcxproj │ │ ├── testzlibdll.vcxproj.filters │ │ ├── zlib.rc │ │ ├── zlibstat.vcxproj │ │ ├── zlibstat.vcxproj.filters │ │ ├── zlibvc.def │ │ ├── zlibvc.sln │ │ ├── zlibvc.vcxproj │ │ └── zlibvc.vcxproj.filters │ │ ├── vc11 │ │ ├── miniunz.vcxproj │ │ ├── minizip.vcxproj │ │ ├── testzlib.vcxproj │ │ ├── testzlibdll.vcxproj │ │ ├── zlib.rc │ │ ├── zlibstat.vcxproj │ │ ├── zlibvc.def │ │ ├── zlibvc.sln │ │ └── zlibvc.vcxproj │ │ ├── vc12 │ │ ├── miniunz.vcxproj │ │ ├── minizip.vcxproj │ │ ├── testzlib.vcxproj │ │ ├── testzlibdll.vcxproj │ │ ├── zlib.rc │ │ ├── zlibstat.vcxproj │ │ ├── zlibvc.def │ │ ├── zlibvc.sln │ │ └── zlibvc.vcxproj │ │ ├── vc14 │ │ ├── miniunz.vcxproj │ │ ├── minizip.vcxproj │ │ ├── testzlib.vcxproj │ │ ├── testzlibdll.vcxproj │ │ ├── zlib.rc │ │ ├── zlibstat.vcxproj │ │ ├── zlibvc.def │ │ ├── zlibvc.sln │ │ └── zlibvc.vcxproj │ │ └── vc9 │ │ ├── miniunz.vcproj │ │ ├── minizip.vcproj │ │ ├── testzlib.vcproj │ │ ├── testzlibdll.vcproj │ │ ├── zlib.rc │ │ ├── zlibstat.vcproj │ │ ├── zlibvc.def │ │ ├── zlibvc.sln │ │ └── zlibvc.vcproj │ ├── crc32.c │ ├── crc32.h │ ├── deflate.c │ ├── deflate.h │ ├── doc │ ├── algorithm.txt │ ├── rfc1950.txt │ ├── rfc1951.txt │ ├── rfc1952.txt │ └── txtvsbin.txt │ ├── examples │ ├── README.examples │ ├── enough.c │ ├── fitblk.c │ ├── gun.c │ ├── gzappend.c │ ├── gzjoin.c │ ├── gzlog.c │ ├── gzlog.h │ ├── zlib_how.html │ ├── zpipe.c │ └── zran.c │ ├── gzclose.c │ ├── gzguts.h │ ├── gzlib.c │ ├── gzread.c │ ├── gzwrite.c │ ├── infback.c │ ├── inffast.c │ ├── inffast.h │ ├── inffixed.h │ ├── inflate.c │ ├── inflate.h │ ├── inftrees.c │ ├── inftrees.h │ ├── make_vms.com │ ├── msdos │ ├── Makefile.bor │ ├── Makefile.dj2 │ ├── Makefile.emx │ ├── Makefile.msc │ └── Makefile.tc │ ├── nintendods │ ├── Makefile │ └── README │ ├── old │ ├── Makefile.emx │ ├── Makefile.riscos │ ├── README │ ├── descrip.mms │ ├── os2 │ │ ├── Makefile.os2 │ │ └── zlib.def │ └── visual-basic.txt │ ├── os400 │ ├── README400 │ ├── bndsrc │ ├── make.sh │ └── zlib.inc │ ├── qnx │ └── package.qpg │ ├── test │ ├── example.c │ ├── infcover.c │ └── minigzip.c │ ├── treebuild.xml │ ├── trees.c │ ├── trees.h │ ├── uncompr.c │ ├── watcom │ ├── watcom_f.mak │ └── watcom_l.mak │ ├── win32 │ ├── DLL_FAQ.txt │ ├── Makefile.bor │ ├── Makefile.gcc │ ├── Makefile.msc │ ├── README-WIN32.txt │ ├── VisualC.txt │ ├── zlib.def │ └── zlib1.rc │ ├── zconf.h │ ├── zconf.h.cmakein │ ├── zconf.h.in │ ├── zlib.3 │ ├── zlib.3.pdf │ ├── zlib.h │ ├── zlib.map │ ├── zlib.pc.cmakein │ ├── zlib.pc.in │ ├── zlib2ansi │ ├── zutil.c │ └── zutil.h ├── Makefile ├── Makefile.vc ├── README ├── README.swisskit ├── config.sh ├── extdefs ├── Img.kbs ├── Itcl.kbs ├── Itk.kbs ├── Iwidgets.kbs ├── Memchan.kbs ├── Mk4tcl.kbs ├── Tclx.kbs ├── Tkhtml.kbs ├── Tktable.kbs ├── XOTcl.kbs ├── mentry.kbs ├── ral.kbs ├── snack.kbs ├── sqlite3.kbs ├── tablelist.kbs ├── tcllib.kbs ├── tdom.kbs ├── thread.kbs ├── tklib.kbs ├── tls.kbs ├── trofs.kbs ├── udp.kbs ├── vfs.kbs ├── vlerq.kbs └── wcb.kbs ├── files ├── boot.tcl ├── config.tcl ├── tclkit-old.ico ├── tclkit.ico ├── tk8.4-pkgIndex.tcl ├── tk8.5-pkgIndex.tcl └── vqtcl4.1-pkgIndex.tcl ├── genswiss.tcl ├── kbs.tcl ├── kitInit.c ├── makefile.include ├── pwb.c ├── rechan.c ├── setupvfs.tcl ├── tclkit.rc ├── validate.tcl └── zlib.c /.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore directories created by the tools 2 | /sources 3 | /downloads 4 | /sources 5 | 6 | # Ignore the build directories but not the 8.x extensions directory 7 | /8.*/ 8 | !/8.x 9 | 10 | # Ignore nmake temporary files 11 | _junk.pch 12 | nmakehlp.exe 13 | nmakehlp.obj 14 | vercl.i 15 | vercl.x 16 | versions.vc 17 | *.pdb 18 | /8.x/vqtcl/win/version.vc 19 | /8.x/thread/win/vc/version.vc 20 | 21 | # Ignore zlib build products when using msvc 22 | /8.x/zlib/*.obj 23 | /8.x/zlib/zlib.lib 24 | /8.x/zlib/zlib1.lib 25 | 26 | # Metakit build products 27 | /8.x/mk/builds/ 28 | /8.x/mk/win/Debug/ 29 | /8.x/mk/win/Release/ 30 | -------------------------------------------------------------------------------- /8.x/itcl/aclocal.m4: -------------------------------------------------------------------------------- 1 | builtin(include,tclconfig/tcl.m4) 2 | -------------------------------------------------------------------------------- /8.x/itcl/doc/Object.3: -------------------------------------------------------------------------------- 1 | '\" 2 | '\" Copyright (c) 1993-1998 Lucent Technologies, Inc. 3 | '\" 4 | '\" See the file "license.terms" for information on usage and redistribution 5 | '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. 6 | '\" 7 | .so man.macros 8 | .TH Itcl_CreateObject 3 3.0 itcl "[incr\ Tcl] Library Procedures" 9 | .BS 10 | '\" Note: do not modify the .SH NAME line immediately below! 11 | .SH NAME 12 | Itcl_CreateObject, Itcl_DeleteObject, Itcl_FindObject, Itcl_IsObject, Itcl_IsObjectIsa \- Manipulate an class instance. 13 | .SH SYNOPSIS 14 | .nf 15 | \fB#include \fR 16 | .sp 17 | void 18 | \fBItcl_PreserveData\fR(\fIcdata\fR) 19 | .sp 20 | void 21 | \fBItcl_ReleaseData\fR(\fIcdata\fR) 22 | .sp 23 | void 24 | \fBItcl_EventuallyFree\fR(\fIcdata, fproc\fR) 25 | .SH ARGUMENTS 26 | .AP Tcl_FreeProc *fproc in 27 | Address of function to call when the block is to be freed. 28 | .AP ClientData clientData in 29 | Arbitrary one-word value. 30 | .BE 31 | 32 | .SH DESCRIPTION 33 | .PP 34 | 35 | .SH KEYWORDS 36 | free, memory 37 | 38 | -------------------------------------------------------------------------------- /8.x/itcl/doc/Preserve.3: -------------------------------------------------------------------------------- 1 | '\" 2 | '\" Copyright (c) 1993-1998 Lucent Technologies, Inc. 3 | '\" 4 | '\" See the file "license.terms" for information on usage and redistribution 5 | '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. 6 | '\" 7 | .so man.macros 8 | .TH Itcl_PreserveData 3 3.0 itcl "[incr\ Tcl] Library Procedures" 9 | .BS 10 | '\" Note: do not modify the .SH NAME line immediately below! 11 | .SH NAME 12 | Itcl_PreserveData, Itcl_ReleaseData, Itcl_EventuallyFree \- Manipulate an Itcl list object. 13 | .SH SYNOPSIS 14 | .nf 15 | \fB#include \fR 16 | .sp 17 | void 18 | \fBItcl_PreserveData\fR(\fIcdata\fR) 19 | .sp 20 | void 21 | \fBItcl_ReleaseData\fR(\fIcdata\fR) 22 | .sp 23 | void 24 | \fBItcl_EventuallyFree\fR(\fIcdata, fproc\fR) 25 | .SH ARGUMENTS 26 | .AP Tcl_FreeProc *fproc in 27 | Address of function to call when the block is to be freed. 28 | .AP ClientData clientData in 29 | Arbitrary one-word value. 30 | .BE 31 | 32 | .SH DESCRIPTION 33 | .PP 34 | 35 | .SH KEYWORDS 36 | free, memory 37 | 38 | -------------------------------------------------------------------------------- /8.x/itcl/pkgIndex.tcl.in: -------------------------------------------------------------------------------- 1 | # Tcl package index file, version 1.0 2 | 3 | if {![package vsatisfies [package present Tcl] @TCL_VERSION@]} {return} 4 | package ifneeded Itcl @PACKAGE_VERSION@ [list load [file join $dir "@PKG_LIB_FILE@"] Itcl] 5 | -------------------------------------------------------------------------------- /8.x/itcl/tests/all.tcl: -------------------------------------------------------------------------------- 1 | # all.tcl -- 2 | # 3 | # This file contains a top-level script to run all of the Tcl 4 | # tests. Execute it by invoking "source all.test" when running tcltest 5 | # in this directory. 6 | # 7 | # Copyright (c) 1998-2000 by Ajuba Solutions 8 | # All rights reserved. 9 | 10 | package require Tcl 8.4 11 | package require tcltest 2.1 12 | 13 | tcltest::testsDirectory [file dir [info script]] 14 | tcltest::runAllTests 15 | 16 | return 17 | -------------------------------------------------------------------------------- /8.x/itcl/tests/old/Bar.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # Old test suite for [incr Tcl] v1.5 3 | # ---------------------------------------------------------------------- 4 | # AUTHOR: Michael J. McLennan 5 | # Bell Labs Innovations for Lucent Technologies 6 | # mmclennan@lucent.com 7 | # http://www.tcltk.com/itcl 8 | # ---------------------------------------------------------------------- 9 | # Copyright (c) 1993-1998 Lucent Technologies, Inc. 10 | # ====================================================================== 11 | # See the file "license.terms" for information on usage and 12 | # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. 13 | 14 | itcl_class Bar { 15 | # 16 | # Constructor/destructor add their name to a global var for 17 | # tracking implicit constructors/destructors 18 | # 19 | constructor {config} { 20 | global WATCH 21 | lappend WATCH [namespace current] 22 | } 23 | destructor { 24 | global WATCH 25 | lappend WATCH [namespace current] 26 | } 27 | 28 | method config {config} { 29 | return $config 30 | } 31 | 32 | # 33 | # Define variables that will be shadowed by another class. 34 | # 35 | public blit 36 | protected _blit 37 | } 38 | -------------------------------------------------------------------------------- /8.x/itcl/tests/old/BarFoo.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # Old test suite for [incr Tcl] v1.5 3 | # ---------------------------------------------------------------------- 4 | # AUTHOR: Michael J. McLennan 5 | # Bell Labs Innovations for Lucent Technologies 6 | # mmclennan@lucent.com 7 | # http://www.tcltk.com/itcl 8 | # ---------------------------------------------------------------------- 9 | # Copyright (c) 1993-1998 Lucent Technologies, Inc. 10 | # ====================================================================== 11 | # See the file "license.terms" for information on usage and 12 | # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. 13 | 14 | itcl_class BarFoo { 15 | inherit Bar Foo 16 | 17 | # 18 | # Constructor/destructor add their name to a global var for 19 | # tracking implicit constructors/destructors 20 | # 21 | constructor {config} { 22 | global WATCH 23 | lappend WATCH [namespace current] 24 | } 25 | destructor { 26 | global WATCH 27 | lappend WATCH [namespace current] 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /8.x/itcl/tests/old/Baz.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # Old test suite for [incr Tcl] v1.5 3 | # ---------------------------------------------------------------------- 4 | # AUTHOR: Michael J. McLennan 5 | # Bell Labs Innovations for Lucent Technologies 6 | # mmclennan@lucent.com 7 | # http://www.tcltk.com/itcl 8 | # ---------------------------------------------------------------------- 9 | # Copyright (c) 1993-1998 Lucent Technologies, Inc. 10 | # ====================================================================== 11 | # See the file "license.terms" for information on usage and 12 | # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. 13 | 14 | itcl_class Baz { 15 | # 16 | # Avoid defining constructor/destructor 17 | # 18 | 19 | # 20 | # Generic method for doing something in "Baz" interp 21 | # 22 | method do {cmds} { 23 | return "Baz says '[eval $cmds]'" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /8.x/itcl/tests/old/FooBar.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # Old test suite for [incr Tcl] v1.5 3 | # ---------------------------------------------------------------------- 4 | # AUTHOR: Michael J. McLennan 5 | # Bell Labs Innovations for Lucent Technologies 6 | # mmclennan@lucent.com 7 | # http://www.tcltk.com/itcl 8 | # ---------------------------------------------------------------------- 9 | # Copyright (c) 1993-1998 Lucent Technologies, Inc. 10 | # ====================================================================== 11 | # See the file "license.terms" for information on usage and 12 | # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. 13 | 14 | itcl_class FooBar { 15 | inherit Foo Bar 16 | 17 | # 18 | # Constructor/destructor add their name to a global var for 19 | # tracking implicit constructors/destructors 20 | # 21 | constructor {config} { 22 | global WATCH 23 | lappend WATCH [namespace current] 24 | } 25 | destructor { 26 | global WATCH 27 | lappend WATCH [namespace current] 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /8.x/itcl/tests/old/Geek.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # Old test suite for [incr Tcl] v1.5 3 | # ---------------------------------------------------------------------- 4 | # AUTHOR: Michael J. McLennan 5 | # Bell Labs Innovations for Lucent Technologies 6 | # mmclennan@lucent.com 7 | # http://www.tcltk.com/itcl 8 | # ---------------------------------------------------------------------- 9 | # Copyright (c) 1993-1998 Lucent Technologies, Inc. 10 | # ====================================================================== 11 | # See the file "license.terms" for information on usage and 12 | # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. 13 | 14 | itcl_class Geek { 15 | 16 | # 17 | # Constructor/destructor add their name to a global var for 18 | # tracking implicit constructors/destructors 19 | # 20 | constructor {config} { 21 | global WATCH 22 | lappend WATCH [namespace current] 23 | } 24 | destructor { 25 | global WATCH 26 | lappend WATCH [namespace current] 27 | } 28 | 29 | method do {cmds} { 30 | return "Geek says '[eval $cmds]'" 31 | } 32 | 33 | method config {config} { 34 | return $config 35 | } 36 | 37 | # 38 | # Define variables that will be shadowed by another class. 39 | # 40 | public blat 41 | protected _blat 42 | } 43 | -------------------------------------------------------------------------------- /8.x/itcl/tests/old/Mongrel.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # Old test suite for [incr Tcl] v1.5 3 | # ---------------------------------------------------------------------- 4 | # AUTHOR: Michael J. McLennan 5 | # Bell Labs Innovations for Lucent Technologies 6 | # mmclennan@lucent.com 7 | # http://www.tcltk.com/itcl 8 | # ---------------------------------------------------------------------- 9 | # Copyright (c) 1993-1998 Lucent Technologies, Inc. 10 | # ====================================================================== 11 | # See the file "license.terms" for information on usage and 12 | # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. 13 | 14 | itcl_class Mongrel { 15 | inherit FooBar Geek 16 | 17 | # 18 | # Constructor/destructor add their name to a global var for 19 | # tracking implicit constructors/destructors 20 | # 21 | constructor {config} { 22 | global WATCH 23 | lappend WATCH [namespace current] 24 | } 25 | destructor { 26 | global WATCH 27 | lappend WATCH [namespace current] 28 | } 29 | 30 | public blit nonnull 31 | public tag 32 | } 33 | -------------------------------------------------------------------------------- /8.x/itcl/tests/old/VirtualErr.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # Old test suite for [incr Tcl] v1.5 3 | # ---------------------------------------------------------------------- 4 | # AUTHOR: Michael J. McLennan 5 | # Bell Labs Innovations for Lucent Technologies 6 | # mmclennan@lucent.com 7 | # http://www.tcltk.com/itcl 8 | # ---------------------------------------------------------------------- 9 | # Copyright (c) 1993-1998 Lucent Technologies, Inc. 10 | # ====================================================================== 11 | # See the file "license.terms" for information on usage and 12 | # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. 13 | 14 | itcl_class VirtualErr { 15 | # 16 | # The following inherit statement will cause an error, 17 | # since it will find the same base class "Foo" inherited 18 | # from several places. 19 | # 20 | inherit Mongrel Foo BarFoo 21 | } 22 | -------------------------------------------------------------------------------- /8.x/itcl/tests/old/all: -------------------------------------------------------------------------------- 1 | # 2 | # Old test suite for [incr Tcl] v1.5 3 | # ---------------------------------------------------------------------- 4 | # AUTHOR: Michael J. McLennan 5 | # Bell Labs Innovations for Lucent Technologies 6 | # mmclennan@lucent.com 7 | # http://www.tcltk.com/itcl 8 | # ---------------------------------------------------------------------- 9 | # Copyright (c) 1993-1998 Lucent Technologies, Inc. 10 | # ====================================================================== 11 | # See the file "license.terms" for information on usage and 12 | # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. 13 | 14 | variable WATCH 15 | 16 | global TEST_ABS_TOL TEST_REL_TOL 17 | set TEST_ABS_TOL 1.0e-6 18 | set TEST_REL_TOL 1.0e-5 19 | 20 | if {![file readable "testlib.tcl"]} { 21 | error "ERROR: execute test suite in \"tests\" directory" 22 | } 23 | 24 | lappend auto_path . 25 | 26 | foreach i [lsort [glob ./*.test]] { 27 | source $i 28 | } 29 | puts stdout "== ALL TESTS SUCCESSFUL ==" 30 | exit 31 | -------------------------------------------------------------------------------- /8.x/itcl/tests/old/tclIndex: -------------------------------------------------------------------------------- 1 | # Tcl autoload index file, version 2.0 2 | # This file is generated by the "auto_mkindex" command 3 | # and sourced to set up indexing information for one or 4 | # more commands. Typically each line is a command that 5 | # sets an element in the auto_index array, where the 6 | # element name is the name of a command and the value is 7 | # a script that loads the command. 8 | 9 | set auto_index(Bar) "source $dir/Bar.tcl" 10 | set auto_index(Foo) "source $dir/Foo.tcl" 11 | set auto_index(BarFoo) "source $dir/BarFoo.tcl" 12 | set auto_index(FooBar) "source $dir/FooBar.tcl" 13 | set auto_index(Geek) "source $dir/Geek.tcl" 14 | set auto_index(Mongrel) "source $dir/Mongrel.tcl" 15 | set auto_index(VirtualErr) "source $dir/VirtualErr.tcl" 16 | set auto_index(test) "source $dir/testlib.tcl" 17 | set auto_index(test_cmp_nums) "source $dir/testlib.tcl" 18 | set auto_index(test_cmp_vectors) "source $dir/testlib.tcl" 19 | set auto_index(test_cmp_lists) "source $dir/testlib.tcl" 20 | set auto_index(upvarTest_show_var) "source $dir/upvar.test" 21 | set auto_index(upvarTest_upvar_in_procs) "source $dir/upvar.test" 22 | set auto_index(uplevelTest_show_var) "source $dir/uplevel.test" 23 | set auto_index(uplevelTest_do) "source $dir/uplevel.test" 24 | set auto_index(Baz) "source $dir/Baz.tcl" 25 | -------------------------------------------------------------------------------- /8.x/itcl/tests/old/toasters/tclIndex: -------------------------------------------------------------------------------- 1 | # Tcl autoload index file, version 2.0 2 | # This file is generated by the "auto_mkindex" command 3 | # and sourced to set up indexing information for one or 4 | # more commands. Typically each line is a command that 5 | # sets an element in the auto_index array, where the 6 | # element name is the name of a command and the value is 7 | # a script that loads the command. 8 | 9 | set auto_index(Appliance) "source $dir/Appliance.tcl" 10 | set auto_index(HazardRec) "source $dir/Hazard.tcl" 11 | set auto_index(Hazard) "source $dir/Hazard.tcl" 12 | set auto_index(Outlet) "source $dir/Outlet.tcl" 13 | set auto_index(SmartToaster) "source $dir/SmartToaster.tcl" 14 | set auto_index(Toaster) "source $dir/Toaster.tcl" 15 | set auto_index(make_toaster) "source $dir/usualway.tcl" 16 | set auto_index(toast_bread) "source $dir/usualway.tcl" 17 | set auto_index(clean_toaster) "source $dir/usualway.tcl" 18 | set auto_index(destroy_toaster) "source $dir/usualway.tcl" 19 | -------------------------------------------------------------------------------- /8.x/itcl/win/toaster.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/itcl/win/toaster.bmp -------------------------------------------------------------------------------- /8.x/mk/builds/!keepme.txt: -------------------------------------------------------------------------------- 1 | placeholder 2 | -------------------------------------------------------------------------------- /8.x/mk/demos/struct.cpp: -------------------------------------------------------------------------------- 1 | // This command-line utility displays the data structure of a datafile 2 | // created with the Metakit library as a one-line description. 3 | 4 | #include "mk4.h" 5 | 6 | #include 7 | 8 | #if defined (macintosh) 9 | #include /**/ 10 | #define d4_InitMain(c,v) c = ccommand(&v) 11 | #endif 12 | 13 | ///////////////////////////////////////////////////////////////////////////// 14 | 15 | int main(int argc, char** argv) 16 | { 17 | #ifdef d4_InitMain 18 | d4_InitMain(argc, argv); 19 | #endif 20 | 21 | if (argc != 2) 22 | fputs("Usage: STRUCT datafile", stderr); 23 | else 24 | { 25 | c4_Storage store (argv[1], false); 26 | puts(store.Description()); 27 | } 28 | 29 | return 0; 30 | } 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_Bytes.html: -------------------------------------------------------------------------------- 1 | class c4_Bytes 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_BytesProp.html: -------------------------------------------------------------------------------- 1 | class c4_BytesProp 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_BytesRef.html: -------------------------------------------------------------------------------- 1 | class c4_BytesRef 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_Bytes___NONAME.html: -------------------------------------------------------------------------------- 1 | class c4_Bytes::NONAME 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_Bytes___NONAME_desc.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | class c4_Bytes::NONAME 7 |

8 | 9 |
10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 24 | 27 | 34 | 35 | 36 | 37 | 40 | 47 | 48 | 49 |
19 | Public members 20 |
25 | t4_byte* 26 | 28 | 29 | _contents; 30 | 31 | 32 | 33 |
38 | double 39 | 41 | 42 | _aligner; 43 | 44 | 45 | 46 |
50 | 51 | 52 | 53 | 54 | 55 | 56 |

57 | 58 | 59 | 60 | 63 | 66 | 67 | 68 | 69 | 70 | 71 |
61 | Header file 62 | 64 | "mk4.h"   --   Dec 9, 1999 65 |
72 | 73 |
74 | 75 |
76 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_Bytes___NONAME_info.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | class c4_Bytes::NONAME - 6 | 7 |
8 | 9 |
10 | 11 | 12 |
13 | 14 | double 15 | _aligner; 16 | 17 |
18 | 19 | on a Sparc, the int below wasn't enough... 20 |
21 | 22 |

23 | 24 | 25 | 26 |

27 | 28 | t4_byte* 29 | _contents; 30 | 31 |
32 | 33 | 34 | 35 |

36 | 37 | 38 |

39 | 40 |
41 | class 42 | c4_Bytes::NONAME 43 |
44 | 45 | 46 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_Cursor.html: -------------------------------------------------------------------------------- 1 | class c4_Cursor 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_CustomViewer.html: -------------------------------------------------------------------------------- 1 | class c4_CustomViewer 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_DoubleProp.html: -------------------------------------------------------------------------------- 1 | class c4_DoubleProp 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_DoubleRef.html: -------------------------------------------------------------------------------- 1 | class c4_DoubleRef 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_FloatProp.html: -------------------------------------------------------------------------------- 1 | class c4_FloatProp 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_FloatRef.html: -------------------------------------------------------------------------------- 1 | class c4_FloatRef 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_IntProp.html: -------------------------------------------------------------------------------- 1 | class c4_IntProp 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_IntRef.html: -------------------------------------------------------------------------------- 1 | class c4_IntRef 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_MemoProp.html: -------------------------------------------------------------------------------- 1 | class c4_MemoProp 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_MemoRef.html: -------------------------------------------------------------------------------- 1 | class c4_MemoRef 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_Property.html: -------------------------------------------------------------------------------- 1 | class c4_Property 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_Reference.html: -------------------------------------------------------------------------------- 1 | class c4_Reference 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_Row.html: -------------------------------------------------------------------------------- 1 | class c4_Row 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_RowRef.html: -------------------------------------------------------------------------------- 1 | class c4_RowRef 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_Sequence.html: -------------------------------------------------------------------------------- 1 | class c4_Sequence 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_Storage.html: -------------------------------------------------------------------------------- 1 | class c4_Storage 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_Strategy.html: -------------------------------------------------------------------------------- 1 | class c4_Strategy 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_Stream.html: -------------------------------------------------------------------------------- 1 | class c4_Stream 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_Stream_info.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 |
10 | 11 | 12 |
13 | 14 | virtual int 15 | Read (void* buffer_, int length_); 16 | 17 |
18 | 19 | 20 | Fetch some bytes sequentially 21 |

22 | 23 | 24 | 25 |

26 | 27 | virtual void 28 | Write (const void* buffer_, int length_); 29 | 30 |
31 | 32 | 33 | Store some bytes sequentially 34 |

35 | 36 | 37 | 38 |

39 | 40 | virtual 41 | ~c4_Stream (); 42 | 43 |
44 | 45 | 46 | 47 |

48 | 49 | 50 |

51 | 52 |
53 | class 54 | c4_Stream 55 |
56 | 57 | 58 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_StringProp.html: -------------------------------------------------------------------------------- 1 | class c4_StringProp 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_StringRef.html: -------------------------------------------------------------------------------- 1 | class c4_StringRef 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_View.html: -------------------------------------------------------------------------------- 1 | class c4_View 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_ViewProp.html: -------------------------------------------------------------------------------- 1 | class c4_ViewProp 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/c4_ViewRef.html: -------------------------------------------------------------------------------- 1 | class c4_ViewRef 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/doc_dbf2mk.html: -------------------------------------------------------------------------------- 1 | 2 | Metakit sample code - Dump 3 | 4 | 5 | 6 | 7 | 8 |

App Icon 9 | Metakit sample code - Dbf2mk


10 | 11 |

This is a generic utility for the Metakit library.

12 | 13 |

What it does: Dbf2mk is a utility program which reads data from one 14 | or more industry-standard DBF files and saves the data in a Metakit datafile.

15 | 16 |

What it illustrates: ***TBD***

17 | 18 |

How to use it: ***TBD***. 19 |

20 | 21 |

Known problems: None. This utility has not yet been extensively 22 | tested. This version can handle files of any size, but it does not load 23 | DBase "memo" fields and ignores all index files and calculated fields.

24 | 25 |

Files in EXAMPLES\DBF2MK:

26 | 27 |

DBF2MK.CPP - Dbf2mk main program 28 |
DBF2MK.MAK, DBF2MK.DSP - MSVC 5.0 project makefiles for Win32

29 | 30 | 31 |


32 | || 33 |  
Roadmap 34 |   Class Index 35 |   Sample Index 36 |   || 37 |   Introduction 38 |   Tips and Tricks 39 |   || 40 | 41 |
42 |
43 | 44 | 45 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/doc_mkoptim.html: -------------------------------------------------------------------------------- 1 | 2 | Metakit sample code - Dump 3 | 4 | 5 | 6 | 7 | 8 |

App Icon 9 | Metakit sample code - MkOptim


10 | 11 |

This a generic utility for the Metakit library.

12 | 13 |

What it does: MkOptim is a utility program which copies data from 14 | one Metakit file to another. This has the effect of optimizing the datafile 15 | (automatic integer sizing and compaction to remove all unused space) and of 16 | converting old datafile formats to the current one.

17 | 18 |

What it illustrates: ***TBD***

19 | 20 |

How to use it: ***TBD***. 21 |

22 | 23 |

Known problems: None.

24 | 25 |

Files in EXAMPLES\MKOPTIM:

26 | 27 |

MKOPTIM.CPP - MkOptim main program 28 |
MKOPTIM.MAK, MKOPTIM.DSP - MSVC 5.0 project makefiles for Win32

29 | 30 | 31 |


32 | || 33 |   Roadmap 34 |   Class Index 35 |   Sample Index 36 |   || 37 |   Introduction 38 |   Tips and Tricks 39 |   || 40 | 41 |
42 |
43 | 44 | 45 | -------------------------------------------------------------------------------- /8.x/mk/doc/api/index.html: -------------------------------------------------------------------------------- 1 | 2 | The Metakit class library for persistent structured data 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /8.x/mk/doc/e4s.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/mk/doc/e4s.gif -------------------------------------------------------------------------------- /8.x/mk/doc/metakit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/mk/doc/metakit.png -------------------------------------------------------------------------------- /8.x/mk/doc/python.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/mk/doc/python.jpg -------------------------------------------------------------------------------- /8.x/mk/doc/tcl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/mk/doc/tcl.gif -------------------------------------------------------------------------------- /8.x/mk/examples/README: -------------------------------------------------------------------------------- 1 | Sample scripts 2 | 3 | aside.py commit extend and commit aside 4 | bigblock.tcl storing 100,000,000 integers 5 | blockdels.tcl blocked view deletion tests 6 | case.py case sensitivity can be a bit tricky 7 | demo.py trivial demo in Python 8 | demo.tcl trivial demo in Tcl, new OO interface 9 | demold.tcl trivial demo in Tcl, original API 10 | derived.py derived views propagate changes 11 | find.py find, binary search, and hashing performance 12 | mapped.tcl performance of plain, hashed, ordered, blocked views 13 | millions.py storing millions of row, using a trick (by Christian Tismer) 14 | mkhash.cpp hashed / blocked / ordered view performance in C++ 15 | mkmemoio.py treating a memo (binary) property as an I/O stream 16 | pair.py pairwise view combination 17 | random.tcl test of 100,000 adds/mods/dels using a bytes property 18 | remap.py new mapping views (like mapped.tcl), in Python 19 | selfref.py defining a self-referential (recursive) structure 20 | selmap.tcl illustrates mapping select results back to a view 21 | slow.tcl hashed views performance in Tcl 22 | sort.tcl sorting performance in Tcl 23 | wrap.py wrapping provides a MK layer around anything 24 | -------------------------------------------------------------------------------- /8.x/mk/examples/bigblock.tcl: -------------------------------------------------------------------------------- 1 | # Let's store 100 million integers 2 | 3 | catch { load ../builds/.libs/libmk4tcl[info sharedlibextension] Mk4tcl } 4 | puts "[info script] - Mk4tcl [package require Mk4tcl] - $tcl_platform(os)" 5 | 6 | file delete bigdata.mk 7 | mk::file open db bigdata.mk 8 | mk::view layout db.v {{_B {a:I}}} 9 | 10 | set bv [[mk::view open db.v] view blocked] 11 | 12 | set n 0 13 | 14 | puts " filled commit #blocks filesize memuse total" 15 | 16 | for {set i 0} {$i < 20} {incr i} { 17 | 18 | set s [clock seconds] 19 | for {set j 0} {$j < 5000000} {incr j} { 20 | $bv insert end a [incr n] 21 | } 22 | set t [expr {[clock seconds] - $s}] 23 | set u [expr {[lindex [time {mk::file commit db}] 0]/1000.0}] 24 | set v [mk::view size db.v] 25 | set w [file size bigdata.mk] 26 | set x [lindex [exec ps l --noheader [pid]] 7] 27 | set y [$bv size] 28 | 29 | puts [format {%6s s %7.1f ms %6d %10d b %6d K %10d rows} $t $u $v $w $x $y] 30 | } 31 | -------------------------------------------------------------------------------- /8.x/mk/examples/case.py: -------------------------------------------------------------------------------- 1 | # Properties are case-insensitive, but this can lead to some 2 | # surprising behavior: the first way a property is used will 3 | # determine how it ends up in the global symbol table. 4 | # 5 | # Sample output: 6 | # Property('S', 'HeLLo') Property('S', 'HeLLo') 7 | # 2 8 | # 2 9 | # 135099576 10 | # 135033272 11 | # 0 12 | 13 | import metakit 14 | db = metakit.storage() 15 | v1 = db.getas('lo[HeLLo:S]') 16 | v2 = db.getas('hi[hello:S]') 17 | 18 | # surprise: this prints two mixed-case names 19 | print v1.HeLLo, v2.hello 20 | 21 | # this shows that the Metakit property is the same for both 22 | # reason: there is a single global case-insensitive symbol table 23 | print metakit.property('S','HeLLo').id 24 | print metakit.property('S','hello').id 25 | 26 | # this shows that the Python objects differ 27 | # reason: these are two wrapper objects around the same thing 28 | print id(metakit.property('S','HeLLo')) 29 | print id(metakit.property('S','hello')) 30 | 31 | # this causes a mismatch, it will have to be fixed one day 32 | print metakit.property('S','HeLLo') == metakit.property('S','hello') 33 | -------------------------------------------------------------------------------- /8.x/mk/examples/demo.py: -------------------------------------------------------------------------------- 1 | # Simple demo, can be used to verify proper Mk4py installation 2 | 3 | import Mk4py, sys 4 | mk = Mk4py 5 | print sys.argv[0], '- Mk4py', mk.version, '-', sys.platform 6 | 7 | # On first run, output should consist of 5 lines: 8 | # John Lennon 44 9 | # Flash Gordon 42 10 | # Flash Gordon 42 11 | # John Lennon 44 12 | # John Lennon 44 13 | # Each following run will generate 5 more lines of output 14 | 15 | # create a file called "demo.db" 16 | db = mk.storage("demo.db",1) 17 | # define a view in it called "people", containing three fields 18 | vw = db.getas("people[first:S,last:S,shoesize:I]") 19 | 20 | # let's append two rows to the end of the view 21 | vw.append(first='John',last='Lennon',shoesize=44) 22 | vw.append(first='Flash',last='Gordon',shoesize=42) 23 | 24 | # commit the structure and data to file 25 | db.commit() 26 | 27 | # a simple loop to print out all rows 28 | for r in vw: 29 | print r.first, r.last, r.shoesize 30 | 31 | # another way to loop, in sorted order 32 | for r in vw.sort(vw.last): 33 | print r.first, r.last, r.shoesize 34 | 35 | # this loop iterates over a selection 36 | for r in vw.select(first='John'): 37 | print r.first, r.last, r.shoesize 38 | -------------------------------------------------------------------------------- /8.x/mk/examples/demo.tcl: -------------------------------------------------------------------------------- 1 | # Simple demo, can be used to verify proper Mk4tcl installation 2 | 3 | load ../builds/Mk4tcl[info sharedlibextension] Mk4tcl 4 | puts "[info script] - Mk4tcl [package require Mk4tcl] - $tcl_platform(os)" 5 | 6 | # On first run, output should consist of 5 lines: 7 | # John Lennon 44 8 | # Flash Gordon 42 9 | # Flash Gordon 42 10 | # John Lennon 44 11 | # John Lennon 44 12 | # Each following run will generate 5 more lines of output 13 | 14 | # create a file called "demo.db" 15 | mk::file open db demo.db -nocommit 16 | # define a view in it called "people", containing three fields 17 | mk::view layout db.people {first last shoesize:I} 18 | set vw [mk::view open db.people] 19 | 20 | # let's append two rows to the end of the view 21 | $vw insert end first John last Lennon shoesize 44 22 | $vw insert end first Flash last Gordon shoesize 42 23 | 24 | # commit the structure and data to file 25 | mk::file commit db 26 | 27 | # a simple loop to print out all rows 28 | for {set r 0} {$r < [$vw size]} {incr r} { 29 | puts [$vw get $r first last shoesize] 30 | } 31 | 32 | # another way to loop, in sorted order 33 | foreach r [$vw select -sort last] { 34 | puts [$vw get $r first last shoesize] 35 | } 36 | 37 | # this loop iterates over a selection 38 | foreach r [$vw select first John] { 39 | puts [$vw get $r first last shoesize] 40 | } 41 | -------------------------------------------------------------------------------- /8.x/mk/examples/demold.tcl: -------------------------------------------------------------------------------- 1 | # Simple demo, can be used to verify proper Mk4tcl/TclKit installation 2 | # 3 | # On first run, output should consist of 5 lines: 4 | # John Lennon 44 5 | # Flash Gordon 42 6 | # first Flash last Gordon shoesize 42 7 | # first John last Lennon shoesize 44 8 | # first John last Lennon shoesize 44 9 | # 10 | # Every following run will generate 5 more lines of output 11 | 12 | package require Mk4tcl 13 | 14 | # create a file called "demo.db" 15 | mk::file open db demo.db 16 | # define a view in it called "people", containing three fields 17 | set vw [mk::view layout db.people {first last shoesize:I}] 18 | 19 | # let's append two rows to the end of the view 20 | mk::row append $vw first John last Lennon shoesize 44 21 | mk::row append $vw first Flash last Gordon shoesize 42 22 | 23 | # commit the structure and data to file 24 | mk::file commit db 25 | 26 | # a simple loop to print out all rows 27 | mk::loop c $vw { 28 | puts [mk::get $c first last shoesize] 29 | } 30 | 31 | # another way to loop, in sorted order 32 | foreach r [mk::select $vw -sort last] { 33 | puts [mk::get $vw!$r] 34 | } 35 | 36 | # this loop iterates over a selection 37 | foreach r [mk::select $vw first John] { 38 | puts [mk::get $vw!$r] 39 | } 40 | -------------------------------------------------------------------------------- /8.x/mk/examples/derived.py: -------------------------------------------------------------------------------- 1 | # Demo of derived view dynamics 2 | # 3 | # Output: 4 | # [1, 2, 3, 4, 5, 6] 5 | # [2, 3, 4, 5] 6 | # [2, 4, 5] 7 | # [2, 5] 8 | # [1, 2, 5, 6] 9 | 10 | import metakit 11 | db = metakit.storage() 12 | vw = db.getas('data[value:I]') 13 | 14 | def fill(l): 15 | vw[:] = [] 16 | for i in l: 17 | vw.append(value=i) 18 | 19 | def show(v): 20 | print map((lambda x: x.value), v) 21 | 22 | fill([1,2,3,4,5,6]) 23 | show(vw) 24 | 25 | # select values in range [2..5] 26 | v2 = vw.select({'value':2},{'value':5}) 27 | show(v2) 28 | 29 | # a deletion in original "vw" affects derived "v2" 30 | vw.delete(2) 31 | show(v2) 32 | 33 | # deletion in derived "v2" affects both (new in 2.3) 34 | v2.delete(1) 35 | show(v2) 36 | show(vw) 37 | -------------------------------------------------------------------------------- /8.x/mk/examples/mkbug.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "mk4.h" 3 | #include "mk4str.h" 4 | 5 | void QuickTest(int pos_, int len_) 6 | { 7 | c4_ViewProp p1 ("_B"); 8 | c4_IntProp p2 ("p2"); 9 | 10 | c4_Storage s1; 11 | c4_View v1 = s1.GetAs("v1[_B[p2:I]]"); 12 | 13 | int n = 0; 14 | static int sizes[] = {999, 999, 999, 3, 0}; 15 | 16 | for (int i = 0; sizes[i]; ++i) { 17 | c4_View v; 18 | for (int j = 0; j < sizes[i]; ++j) 19 | v.Add(p2 [++n]); 20 | v1.Add(p1 [v]); 21 | } 22 | 23 | c4_View v2 = v1.Blocked(); 24 | printf("%d\n", v2.GetSize()); 25 | 26 | v2.RemoveAt(pos_, len_); 27 | printf("%d\n", v2.GetSize()); 28 | 29 | puts("done"); 30 | } 31 | 32 | int main(int argc, char** argv) 33 | { 34 | QuickTest(999, 1200); 35 | } 36 | -------------------------------------------------------------------------------- /8.x/mk/examples/pair.py: -------------------------------------------------------------------------------- 1 | # Small demo of v1.pair(v2) 2 | # 3 | # Expected output: 4 | # s i 5 | # ----- - 6 | # zero 0 7 | # one 1 8 | # two 2 9 | # three 3 10 | # four 4 11 | # five 5 12 | # ----- - 13 | # Total: 6 rows 14 | 15 | import metakit 16 | 17 | db = metakit.storage() 18 | v1 = db.getas("one[s:S]") 19 | v2 = db.getas("two[i:I]") 20 | 21 | for v in ['zero','one','two','three','four','five']: 22 | v1.append(s=v) 23 | for v in range(6): 24 | v2.append(i=v) 25 | 26 | metakit.dump(v1.pair(v2)) 27 | -------------------------------------------------------------------------------- /8.x/mk/examples/remap.py: -------------------------------------------------------------------------------- 1 | # Small demo of v1.remapwith(v2) 2 | # 3 | # Expected output: 4 | # s 5 | # ----- 6 | # one 7 | # three 8 | # five 9 | # two 10 | # four 11 | # one 12 | # three 13 | # five 14 | # ----- 15 | # Total: 8 rows 16 | 17 | import metakit 18 | 19 | db = metakit.storage() 20 | v1 = db.getas("counts[s:S]") 21 | v2 = db.getas("map[i:I]") 22 | 23 | for v in ['zero','one','two','three','four','five']: 24 | v1.append(s=v) 25 | for v in [1,3,5,2,4,1,3,5]: 26 | v2.append(i=v) 27 | 28 | metakit.dump(v1.remapwith(v2)) 29 | -------------------------------------------------------------------------------- /8.x/mk/examples/selfref.py: -------------------------------------------------------------------------------- 1 | # Demo of the new 2.3 self-referential view structures. 2 | # 3 | # Output: 4 | # 0 5 | # 00000 1 6 | # 11111 1 7 | # 22222 0 8 | # [Property('S', 's'), Property('V', 'sub')] 9 | # 00000 1 10 | # 11111 1 11 | # 22222 0 12 | # [Property('S', 's'), Property('I', 'i'), Property('V', 'sub')] 13 | # ok 14 | 15 | import os 16 | try: os.remove("_selfref.mk") 17 | except: pass 18 | 19 | import metakit 20 | db = metakit.storage('_selfref.mk',1) 21 | vw = db.getas('data[s:S,sub[^]]') 22 | 23 | print len(vw) 24 | 25 | v = vw 26 | for i in range(3): 27 | v.append(s=`i`*5) 28 | v = v[0].sub 29 | 30 | def show(vw): 31 | for v in [vw[0], vw[0].sub[0], vw[0].sub[0].sub[0]]: 32 | print v.s, len(v.sub) 33 | print vw[0].sub[0].sub[0].sub.structure() 34 | assert len(vw[0].sub[0].sub[0].sub) == 0 35 | try: 36 | metakit.dump(vw[0].sub[0].sub[0].sub[0].sub) 37 | except IndexError: 38 | pass 39 | 40 | show(vw) 41 | 42 | # note that (recursive!) on-the-fly restructuring works 43 | show(db.getas('data[s:S,i:I,sub[^]]')) 44 | 45 | db.commit() 46 | print 'ok' 47 | 48 | os.remove("_selfref.mk") 49 | -------------------------------------------------------------------------------- /8.x/mk/examples/sort.tcl: -------------------------------------------------------------------------------- 1 | # Timing of the view sort operation 2 | 3 | package require Mk4tcl 4 | 5 | proc timedRun {tag count args} { 6 | set usec [lindex [time $args $count] 0] 7 | append ::stats($tag) [format {%9.2f} [expr {$count*$usec/1000.0}]] 8 | } 9 | 10 | proc fill {seq} { 11 | global warray 12 | foreach {k v} [array get warray] { 13 | mk::row append db.words text $k$seq 14 | } 15 | } 16 | 17 | set step 40000 18 | set mult 7 19 | 20 | #set fd [open /usr/share/dict/words] 21 | set fd [open words] 22 | for {set i 0} {$i < $step && [gets $fd line] >= 0} {incr i} { 23 | set warray($line) $i 24 | } 25 | close $fd 26 | 27 | puts [clock format [clock seconds]] 28 | 29 | file delete _large.mk 30 | mk::file open db _large.mk -nocommit 31 | mk::view layout db.words text 32 | 33 | for {set i 0} {$i < $mult} {incr i} { 34 | append stats(count) [format {%9d} [expr {($i+1)*$step}]] 35 | timedRun fill 1 fill $i 36 | timedRun sort 1 mk::select db.words -sort text 37 | puts -nonewline stderr . 38 | } 39 | 40 | timedRun commit 1 mk::file commit db 41 | puts stderr " [mk::view size db.words] rows, [file size _large.mk] b" 42 | 43 | for {set i 0} {$i < 3} {incr i} { 44 | puts " $i: [mk::get db.words!$i]" 45 | } 46 | 47 | mk::file close db 48 | 49 | puts [clock format [clock seconds]] 50 | 51 | puts "" 52 | parray stats 53 | puts "" 54 | puts [clock format [clock seconds]] 55 | -------------------------------------------------------------------------------- /8.x/mk/examples/wrap.py: -------------------------------------------------------------------------------- 1 | # Wrapping Python data as Metakit views 2 | # 3 | # Expected output (3 times): 4 | # a b c 5 | # ----- ----- - 6 | # one un 1 7 | # two deux 2 8 | # three trois 3 9 | # ----- ----- - 10 | # Total: 3 rows 11 | 12 | import metakit 13 | 14 | class C: 15 | def __init__(self, a, b, c): 16 | self.a, self.b, self.c = a, b, c 17 | 18 | dc = [ C ('one', 'un', 1), 19 | C ('two', 'deux', 2), 20 | C ('three', 'trois', 3) ] 21 | 22 | dd = [ {'a':'one', 'b':'un', 'c':1}, 23 | {'a':'two', 'b':'deux', 'c':2}, 24 | {'a':'three', 'b':'trois', 'c':3} ] 25 | 26 | dt = [ ('one', 'un', 1), 27 | ('two', 'deux', 2), 28 | ('three', 'trois', 3) ] 29 | 30 | pl = [ metakit.property('S','a'), 31 | metakit.property('S','b'), 32 | metakit.property('I','c') ] 33 | 34 | vc = metakit.wrap(dc, pl) 35 | vd = metakit.wrap(dd, pl) 36 | vt = metakit.wrap(dt, pl, 1) 37 | 38 | metakit.dump(vc, 'class objects:') 39 | metakit.dump(vd, 'dictionary elements:') 40 | metakit.dump(vt, 'tuples (by position):') 41 | -------------------------------------------------------------------------------- /8.x/mk/license.terms: -------------------------------------------------------------------------------- 1 | Copyright (c) 1996-2007 Jean-Claude Wippler 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a 4 | copy of this software and associated documentation files (the "Software"), 5 | to deal in the Software without restriction, including without limitation 6 | the rights to use, copy, modify, merge, publish, distribute, sublicense, 7 | and/or sell copies of the Software, and to permit persons to whom the 8 | Software is furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included 11 | in all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 14 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 16 | THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 18 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 19 | DEALINGS IN THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /8.x/mk/python/.cvsignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | -------------------------------------------------------------------------------- /8.x/mk/python/PyHead.h: -------------------------------------------------------------------------------- 1 | // PyHead.h -- 2 | // $Id: PyHead.h 1230 2007-03-09 15:58:53Z jcw $ 3 | // This is part of MetaKit, see http://www.equi4.com/metakit.html 4 | // Copyright (C) 1999-2004 Gordon McMillan and Jean-Claude Wippler. 5 | // 6 | // Common object header class 7 | 8 | #if !defined INCLUDE_PYHEAD_H 9 | #define INCLUDE_PYHEAD_H 10 | 11 | #include 12 | 13 | class PyHead: public PyObject { 14 | public: 15 | PyHead(PyTypeObject &t) { 16 | #ifdef Py_TRACE_REFS 17 | _ob_next = 0; 18 | _ob_prev = 0; 19 | _Py_AddToAllObjects(this, 0); 20 | #endif 21 | ob_refcnt = 1; 22 | ob_type = &t; 23 | } 24 | }; 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /8.x/mk/python/PyProperty.h: -------------------------------------------------------------------------------- 1 | // PyProperty.h -- 2 | // $Id: PyProperty.h 1230 2007-03-09 15:58:53Z jcw $ 3 | // This is part of MetaKit, see http://www.equi4.com/metakit.html 4 | // Copyright (C) 1999-2004 Gordon McMillan and Jean-Claude Wippler. 5 | // 6 | // Property class header 7 | 8 | #if !defined INCLUDE_PYPROPERTY_H 9 | #define INCLUDE_PYPROPERTY_H 10 | 11 | #include 12 | #include "PyHead.h" 13 | 14 | #define PyProperty_Check(ob) ((ob)->ob_type == &PyPropertytype) 15 | 16 | extern PyTypeObject PyPropertytype; 17 | 18 | class PyProperty: public PyHead, public c4_Property { 19 | public: 20 | //PyProperty(); 21 | PyProperty(const c4_Property &o): PyHead(PyPropertytype), c4_Property(o){} 22 | PyProperty(char t, const char *n): PyHead(PyPropertytype), c4_Property(t, n) 23 | {} 24 | ~PyProperty(){} 25 | }; 26 | 27 | PyObject *PyProperty_new(PyObject *o, PyObject *_args); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /8.x/mk/python/PyStorage.h: -------------------------------------------------------------------------------- 1 | // PyStorage.h -- 2 | // $Id: PyStorage.h 1230 2007-03-09 15:58:53Z jcw $ 3 | // This is part of MetaKit, see http://www.equi4.com/metakit.html 4 | // Copyright (C) 1999-2004 Gordon McMillan and Jean-Claude Wippler. 5 | // 6 | // Storage class header 7 | 8 | #if !defined INCLUDE_PYSTORAGE_H 9 | #define INCLUDE_PYSTORAGE_H 10 | 11 | #include 12 | #include "PyHead.h" 13 | 14 | extern PyTypeObject PyStoragetype; 15 | class SiasStrategy; 16 | 17 | #define PyStorage_Check(v) ((v)->ob_type==&PyStoragetype) 18 | 19 | class PyStorage: public PyHead, public c4_Storage { 20 | public: 21 | PyStorage(): PyHead(PyStoragetype){} 22 | PyStorage(c4_Strategy &strategy_, bool owned_ = false, int mode_ = 1): 23 | PyHead(PyStoragetype), c4_Storage(strategy_, owned_, mode_){} 24 | PyStorage(const char *fnm, int mode): PyHead(PyStoragetype), c4_Storage(fnm, 25 | mode){} 26 | PyStorage(const c4_Storage &storage_): PyHead(PyStoragetype), c4_Storage 27 | (storage_){} 28 | // PyStorage(const char *fnm, const char *descr) 29 | // : PyHead(PyStoragetype), c4_Storage(fnm, descr) { } 30 | ~PyStorage(){} 31 | }; 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /8.x/mk/python/scxx/PWOCallable.h: -------------------------------------------------------------------------------- 1 | /******************************************** 2 | copyright 2000 McMillan Enterprises, Inc. 3 | www.mcmillan-inc.com 4 | *********************************************/ 5 | #if !defined(PWOCALLABLE_H_INCLUDED_) 6 | #define PWOCALLABLE_H_INCLUDED_ 7 | 8 | #include "PWOBase.h" 9 | #include "PWOSequence.h" 10 | #include "PWOMapping.h" 11 | 12 | class PWOCallable: public PWOBase { 13 | public: 14 | PWOCallable(): PWOBase(){} 15 | ; 16 | PWOCallable(PyObject *obj): PWOBase(obj) { 17 | _violentTypeCheck(); 18 | }; 19 | virtual ~PWOCallable(){} 20 | ; 21 | virtual PWOCallable &operator = (const PWOCallable &other) { 22 | GrabRef(other); 23 | return *this; 24 | }; 25 | PWOCallable &operator = (const PWOBase &other) { 26 | GrabRef(other); 27 | _violentTypeCheck(); 28 | return *this; 29 | }; 30 | virtual void _violentTypeCheck() { 31 | if (!isCallable()) { 32 | GrabRef(0); 33 | Fail(PyExc_TypeError, "Not a callable object"); 34 | } 35 | }; 36 | PWOBase call()const; 37 | PWOBase call(PWOTuple &args)const; 38 | PWOBase call(PWOTuple &args, PWOMapping &kws)const; 39 | }; 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /8.x/mk/python/test/.cvsignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | -------------------------------------------------------------------------------- /8.x/mk/python/test/all.py: -------------------------------------------------------------------------------- 1 | # all.py -- Run all tests for the Metakit Python bindings 2 | # $Id: all.py 1230 2007-03-09 15:58:53Z jcw $ 3 | # This is part of Metakit, see http://www.equi4.com/metakit/ 4 | 5 | import sys 6 | import os 7 | import test.regrtest 8 | 9 | def canonicalPath(path): 10 | """Do everything but resolve symbolic links to create an absolute path.""" 11 | return os.path.abspath(os.path.expanduser(os.path.expandvars(path))) 12 | 13 | # from Python 2.2's test.regrtest module 14 | def findtestdir(): 15 | if __name__ == '__main__': 16 | file = sys.argv[0] 17 | else: 18 | file = __file__ 19 | testdir = os.path.dirname(file) or os.curdir 20 | return testdir 21 | 22 | testdir = canonicalPath(findtestdir()) 23 | 24 | # Make sure 'import metakit' works, assuming metakit modules are 25 | # in the directory above that containing this script. 26 | sys.path.insert(0, os.path.dirname(testdir)) 27 | 28 | # Make sure we're using modules from the builds directory, assuming 29 | # that's the current directory at the time we're run. (While this 30 | # directory is probably named 'test', it isn't a module, so it 31 | # shouldn't interfere with references to the Python 'test' module). 32 | sys.path.insert(0, os.getcwd()) 33 | 34 | # Don't run the standard Python tests, just run Metakit tests 35 | test.regrtest.STDTESTS = [] 36 | test.regrtest.NOTTESTS = [] 37 | 38 | # Run all tests 39 | test.regrtest.main(testdir=testdir) 40 | -------------------------------------------------------------------------------- /8.x/mk/python/test/test_hash.py: -------------------------------------------------------------------------------- 1 | # test_hash.py -- Test Metakit Python bindings for hashed views 2 | # $Id: test_hash.py 1230 2007-03-09 15:58:53Z jcw $ 3 | # This is part of Metakit, see http://www.equi4.com/metakit/ 4 | 5 | from mktestsupport import * 6 | 7 | works = 't[z:I,pizza:S]', 'pizza' 8 | fails = 't[z:I,a:S]', 'a' 9 | 10 | for struc, field in (works, fails): 11 | v = HashedViewTester(struc, 1) 12 | for i in range(4): 13 | v.insert(1, 'A') 14 | for i in range(4): 15 | v.insert(**{field: 'A', 'z': 1}) 16 | v.finished() 17 | -------------------------------------------------------------------------------- /8.x/mk/python/test/test_stringtype.py: -------------------------------------------------------------------------------- 1 | # test_stringtype.py -- Test Metakit Python bindings for string type 2 | # $Id: test_stringtype.py 1230 2007-03-09 15:58:53Z jcw $ 3 | # This is part of Metakit, see http://www.equi4.com/metakit/ 4 | 5 | from mktestsupport import * 6 | 7 | v = ViewTester('test[a:S,b:S]') 8 | 9 | # defaults 10 | v.insert(a='', b='') 11 | 12 | # ASCII strings 13 | v.insert(a='asdasdfasdfasdfsa', b='!@*%$#@#$%^&*()') 14 | v.reject(TypeError, a=3, b='') 15 | 16 | # Null termination 17 | v.reject(ValueError, a='\0', b='hi\0') 18 | v.reject(ValueError, a='abcdabcdabcd\0hi', b='lo') 19 | v.reject(ValueError, a='\0\0hi', b='lo') 20 | 21 | # Unicode and UTF-8 strings 22 | if UnicodeType: 23 | v.insert(a=unicode('hi there', 'utf-8'), b='hi') 24 | v.insert(a=unicode('\xe2\x82\xac', 'utf-8'), b='hi') 25 | v.insert(a=unicode('Sample\xe2\x82\xacTesting', 'utf-8'), b='') 26 | v.reject(ValueError, a=unicode('Sample\0blahblah', 'utf-8'), b='yo') 27 | 28 | # Non-ASCII 8-bit strings 29 | v.insert(a='', b='\xe2\x82\xacHi there') 30 | 31 | v.finished() 32 | -------------------------------------------------------------------------------- /8.x/mk/src/borc.h: -------------------------------------------------------------------------------- 1 | // borc.h -- 2 | // $Id: borc.h 1230 2007-03-09 15:58:53Z jcw $ 3 | // This is part of Metakit, see http://www.equi4.com/metakit.html 4 | 5 | /** @file 6 | * Configuration header for Borland C++ 7 | */ 8 | 9 | #define q4_BORC 1 10 | 11 | // get rid of several common warning messages 12 | #if !q4_STRICT 13 | #pragma warn -aus // 'identifier' is assigned a value that is never used 14 | #pragma warn -par // Parameter 'parameter' is never used. 15 | #pragma warn -sig // Conversion may lose significant digits 16 | #pragma warn -use // 'identifier' declared but never used 17 | #endif 18 | 19 | #if __BORLANDC__ >= 0x500 20 | #define q4_BOOL 1 // supports the bool datatype 21 | // undo previous defaults, because q4_BOOL is not set early enough 22 | #undef false 23 | #undef true 24 | #undef bool 25 | #endif 26 | 27 | #if !defined (q4_EXPORT) 28 | #define q4_EXPORT 1 // requires export/import specifiers 29 | #endif 30 | 31 | #if defined (__MT__) 32 | #define q4_MULTI 1 // uses multi-threading 33 | #endif 34 | -------------------------------------------------------------------------------- /8.x/mk/src/derived.h: -------------------------------------------------------------------------------- 1 | // derived.h -- 2 | // $Id: derived.h 1230 2007-03-09 15:58:53Z jcw $ 3 | // This is part of Metakit, the homepage is http://www.equi4.com/metakit.html 4 | 5 | /** @file 6 | * Encapsulation of derived view classes 7 | */ 8 | 9 | #ifndef __DERIVED_H__ 10 | #define __DERIVED_H__ 11 | 12 | ///////////////////////////////////////////////////////////////////////////// 13 | // Declarations in this file 14 | 15 | class c4_Cursor; // not defined here 16 | class c4_Sequence; // not defined here 17 | 18 | extern c4_Sequence *f4_CreateFilter(c4_Sequence &, c4_Cursor, c4_Cursor); 19 | extern c4_Sequence *f4_CreateSort(c4_Sequence &, c4_Sequence * = 0); 20 | extern c4_Sequence *f4_CreateProject(c4_Sequence &, c4_Sequence &, bool, 21 | c4_Sequence * = 0); 22 | 23 | ///////////////////////////////////////////////////////////////////////////// 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /8.x/mk/src/doxy.h: -------------------------------------------------------------------------------- 1 | // doxy.h -- 2 | // $Id: doxy.h 1230 2007-03-09 15:58:53Z jcw $ 3 | // This is part of Metakit, see http://www.equi4.com/metakit.html 4 | 5 | /** @mainpage Metakit API Reference 6 | 7 | The is the reference documentation for the public C++ API of Metakit. 8 | 9 | - For the documentation of Metakit, see http://www.equi4.com/mkdocs.html 10 | - To use Metakit from Python, see http://www.equi4.com/metakit/python.html 11 | - To use Metakit from Tcl, see http://www.equi4.com/metakit/tcl.html 12 | 13 | @section install Installation 14 | 15 | - Windows: open "win/msvc60/mksrc.dsw" with Microsoft Visual C++ 6.0 16 | - Unix: "cd builds; ../unix/configure; make; make test; make install" 17 | 18 | @section using Using the library 19 | 20 | - There are some examples in the "demo/" and "examples/" directories. 21 | - The "tests/" directory contains a test suite with 140+ small samples. 22 | 23 | @section news News, releases, discussions 24 | 25 | - See the Metakit homepage at http://www.equi4.com/metakit.html 26 | */ 27 | 28 | // vim:wm=5 29 | -------------------------------------------------------------------------------- /8.x/mk/src/field.inl: -------------------------------------------------------------------------------- 1 | // field.inl -- 2 | // $Id: field.inl 1230 2007-03-09 15:58:53Z jcw $ 3 | // This is part of Metakit, the homepage is http://www.equi4.com/metakit.html 4 | 5 | /** @file 6 | * Inlined members of the field class 7 | */ 8 | 9 | d4_inline bool c4_Field::IsRepeating() const 10 | { 11 | return _type == 'V'; 12 | } 13 | 14 | d4_inline int c4_Field::NumSubFields() const 15 | { 16 | return _indirect->_subFields.GetSize(); 17 | } 18 | 19 | d4_inline c4_Field& c4_Field::SubField(int index_) const 20 | { 21 | return *(c4_Field*) _indirect->_subFields.GetAt(index_); 22 | } 23 | 24 | d4_inline const c4_String& c4_Field::Name() const 25 | { 26 | return _name; 27 | } 28 | 29 | d4_inline char c4_Field::OrigType() const 30 | { 31 | return _type; 32 | } 33 | 34 | d4_inline char c4_Field::Type() const 35 | { 36 | return _type == 'M' ? 'B' : _type; 37 | } 38 | -------------------------------------------------------------------------------- /8.x/mk/src/format.h: -------------------------------------------------------------------------------- 1 | // format.h -- 2 | // $Id: format.h 1230 2007-03-09 15:58:53Z jcw $ 3 | // This is part of Metakit, see http://www.equi4.com/metakit.html 4 | 5 | /** @file 6 | * Encapsulation of all format handlers 7 | */ 8 | 9 | #ifndef __FORMAT_H__ 10 | #define __FORMAT_H__ 11 | 12 | ///////////////////////////////////////////////////////////////////////////// 13 | // Declarations in this file 14 | 15 | class c4_Handler; // not defined here 16 | 17 | extern c4_Handler *f4_CreateFormat(const c4_Property &, c4_HandlerSeq &); 18 | extern int f4_ClearFormat(char); 19 | extern int f4_CompareFormat(char, const c4_Bytes &, const c4_Bytes &); 20 | 21 | ///////////////////////////////////////////////////////////////////////////// 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /8.x/mk/src/gnuc.h: -------------------------------------------------------------------------------- 1 | // gnuc.h -- 2 | // $Id: gnuc.h 1230 2007-03-09 15:58:53Z jcw $ 3 | // This is part of Metakit, the homepage is http://www.equi4.com/metakit.html 4 | 5 | /** @file 6 | * Configuration header for GNU C++ 7 | */ 8 | 9 | #define q4_GNUC 1 10 | 11 | #if !defined (q4_BOOL) 12 | #define q4_BOOL 1 13 | #endif 14 | -------------------------------------------------------------------------------- /8.x/mk/src/mfc.h: -------------------------------------------------------------------------------- 1 | // mfc.h -- 2 | // $Id: mfc.h 1230 2007-03-09 15:58:53Z jcw $ 3 | // This is part of Metakit, see http://www.equi4.com/metakit.html 4 | 5 | /** @file 6 | * Configuration header for MFC-based builds 7 | */ 8 | 9 | #define q4_MFC 1 10 | 11 | #if q4_WIN && !q4_WIN32 12 | #include 13 | #else 14 | #include 15 | #endif 16 | 17 | #undef d4_assert 18 | #define d4_assert ASSERT 19 | 20 | #undef d4_assertThis 21 | #define d4_assertThis d4_assert(AfxIsValidAddress(this, sizeof *this, FALSE)) 22 | 23 | #undef d4_new 24 | #define d4_new DEBUG_NEW 25 | 26 | typedef class CString c4_String; 27 | typedef class CPtrArray c4_PtrArray; 28 | typedef class CDWordArray c4_DWordArray; 29 | typedef class CStringArray c4_StringArray; 30 | 31 | // MSVC 1.52 thinks a typedef has no constructor, so use a define instead 32 | #if !q4_OK && q4_MSVC && _MSC_VER == 800 33 | #define c4_String CString 34 | #endif 35 | -------------------------------------------------------------------------------- /8.x/mk/src/mwcw.h: -------------------------------------------------------------------------------- 1 | // mwcw.h -- 2 | // $Id: mwcw.h 1230 2007-03-09 15:58:53Z jcw $ 3 | // This is part of Metakit, see http://www.equi4.com/metakit.html 4 | 5 | /** @file 6 | * Configuration header for Metrowerks CodeWarrior 7 | */ 8 | 9 | #define q4_MWCW 1 10 | 11 | ///////////////////////////////////////////////////////////////////////////// 12 | 13 | #if q4_68K 14 | #if !__option(IEEEdoubles) 15 | #error Cannot build Metakit with 10-byte doubles 16 | #endif 17 | #endif 18 | 19 | #if __option(bool) 20 | #define q4_BOOL 1 21 | // undo previous defaults, because q4_BOOL is not set early enough 22 | #undef false 23 | #undef true 24 | #undef bool 25 | #endif 26 | 27 | #undef _MSC_VER 28 | 29 | #pragma export on 30 | 31 | ///////////////////////////////////////////////////////////////////////////// 32 | -------------------------------------------------------------------------------- /8.x/mk/src/remap.h: -------------------------------------------------------------------------------- 1 | // remap.h -- 2 | // $Id: remap.h 1230 2007-03-09 15:58:53Z jcw $ 3 | // This is part of Metakit, see http://www.equi4.com/metakit.html 4 | 5 | /** @file 6 | * Encapsulation of the (re)mapping viewers 7 | */ 8 | 9 | #ifndef __REMAP_H__ 10 | #define __REMAP_H__ 11 | 12 | ///////////////////////////////////////////////////////////////////////////// 13 | // Declarations in this file 14 | 15 | class c4_Sequence; // not defined here 16 | 17 | extern c4_CustomViewer *f4_CreateReadOnly(c4_Sequence &); 18 | extern c4_CustomViewer *f4_CreateHash(c4_Sequence &, int, c4_Sequence * = 0); 19 | extern c4_CustomViewer *f4_CreateBlocked(c4_Sequence &); 20 | extern c4_CustomViewer *f4_CreateOrdered(c4_Sequence &, int); 21 | extern c4_CustomViewer *f4_CreateIndexed(c4_Sequence &, c4_Sequence &, const 22 | c4_View &, bool = false); 23 | 24 | ///////////////////////////////////////////////////////////////////////////// 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /8.x/mk/src/store.inl: -------------------------------------------------------------------------------- 1 | // store.inl -- 2 | // $Id: store.inl 1230 2007-03-09 15:58:53Z jcw $ 3 | // This is part of Metakit, the homepage is http://www.equi4.com/metakit.html 4 | 5 | /** @file 6 | * Inlined members of the storage management classes 7 | */ 8 | 9 | ///////////////////////////////////////////////////////////////////////////// 10 | // c4_Notifier 11 | 12 | d4_inline c4_Notifier::c4_Notifier (c4_Sequence* origin_) 13 | : _origin (origin_), _chain (0), _next (0), 14 | _type (kNone), _index (0), _propId (0), _count (0), 15 | _cursor (0), _bytes (0) 16 | { 17 | d4_assert(_origin != 0); 18 | } 19 | 20 | ///////////////////////////////////////////////////////////////////////////// 21 | -------------------------------------------------------------------------------- /8.x/mk/src/win.h: -------------------------------------------------------------------------------- 1 | // win.h -- 2 | // $Id: win.h 1230 2007-03-09 15:58:53Z jcw $ 3 | // This is part of Metakit, the homepage is http://www.equi4.com/metakit.html 4 | 5 | /** @file 6 | * Configuration header for Windows builds 7 | */ 8 | 9 | #if defined (_MSDOS) 10 | #define q4_DOS 1 11 | #endif 12 | 13 | #if defined (_WINDOWS) 14 | #define q4_WIN 1 15 | #endif 16 | 17 | #if defined (_WIN32) 18 | #define q4_WIN32 1 19 | #endif 20 | 21 | #if defined (_WIN32_WCE) // check for Win CE 22 | #define q4_WINCE 1 23 | #define q4_WIN32 1 24 | #endif 25 | 26 | #if q4_WIN32 // WIN32 implies WIN 27 | #undef q4_WIN 28 | #define q4_WIN 1 29 | #endif 30 | 31 | #if q4_WIN // WIN implies not DOS, even for Win3 32 | #undef q4_DOS 33 | #endif 34 | -------------------------------------------------------------------------------- /8.x/mk/tcl/.gitignore: -------------------------------------------------------------------------------- 1 | /*.o 2 | # 3 | # Ignore all msys-cl build intermediates 4 | # 5 | /*.obj 6 | /Mk4tcl2*.dll 7 | /Mk4tcl2*.exp 8 | /Mk4tcl2*.lib 9 | /config.h 10 | /config.log 11 | /config.status 12 | /Makefile 13 | /pkgIndex.tcl 14 | -------------------------------------------------------------------------------- /8.x/mk/tcl/aclocal.m4: -------------------------------------------------------------------------------- 1 | # 2 | # Include the TEA standard macro set 3 | # 4 | 5 | builtin(include,tclconfig/tcl.m4) 6 | 7 | # 8 | # Add here whatever m4 macros you want to define for your package 9 | # 10 | -------------------------------------------------------------------------------- /8.x/mk/tcl/pkgIndex.tcl.in: -------------------------------------------------------------------------------- 1 | # 2 | # Tcl package index file 3 | # 4 | package ifneeded @PACKAGE_NAME@ @PACKAGE_VERSION@ \ 5 | [list load [file join $dir @PKG_LIB_FILE@] @PACKAGE_NAME@] 6 | -------------------------------------------------------------------------------- /8.x/mk/tcl/stubtcl.h: -------------------------------------------------------------------------------- 1 | /* Internal stub code, copied from CritLib */ 2 | 3 | TclStubs *tclStubsPtr; 4 | TclPlatStubs *tclPlatStubsPtr; 5 | struct TclIntStubs *tclIntStubsPtr; 6 | struct TclIntPlatStubs *tclIntPlatStubsPtr; 7 | 8 | static int MyInitStubs(Tcl_Interp *ip) { 9 | typedef struct { 10 | char *result; 11 | Tcl_FreeProc *freeProc; 12 | int errorLine; 13 | TclStubs *stubTable; 14 | } HeadOfInterp; 15 | 16 | HeadOfInterp *hoi = (HeadOfInterp*)ip; 17 | 18 | if (hoi->stubTable == NULL || hoi->stubTable->magic != TCL_STUB_MAGIC) { 19 | ip->result = "This extension requires stubs-support."; 20 | ip->freeProc = TCL_STATIC; 21 | return 0; 22 | } 23 | 24 | tclStubsPtr = hoi->stubTable; 25 | 26 | if (Tcl_PkgRequire(ip, "Tcl", "8.1", 0) == NULL) { 27 | tclStubsPtr = NULL; 28 | return 0; 29 | } 30 | 31 | if (tclStubsPtr->hooks != NULL) { 32 | tclPlatStubsPtr = tclStubsPtr->hooks->tclPlatStubs; 33 | tclIntStubsPtr = tclStubsPtr->hooks->tclIntStubs; 34 | tclIntPlatStubsPtr = tclStubsPtr->hooks->tclIntPlatStubs; 35 | } 36 | 37 | return 1; 38 | } 39 | -------------------------------------------------------------------------------- /8.x/mk/tcl/tclconfig/README.txt: -------------------------------------------------------------------------------- 1 | These files comprise the basic building blocks for a Tcl Extension 2 | Architecture (TEA) extension. For more information on TEA see: 3 | 4 | http://www.tcl.tk/doc/tea/ 5 | 6 | This package is part of the Tcl project at SourceForge, and latest 7 | sources should be available there: 8 | 9 | http://tcl.sourceforge.net/ 10 | 11 | This package is a freely available open source package. You can do 12 | virtually anything you like with it, such as modifying it, redistributing 13 | it, and selling it either in whole or in part. 14 | 15 | CONTENTS 16 | ======== 17 | The following is a short description of the files you will find in 18 | the sample extension. 19 | 20 | README.txt This file 21 | 22 | install-sh Program used for copying binaries and script files 23 | to their install locations. 24 | 25 | tcl.m4 Collection of Tcl autoconf macros. Included by a package's 26 | aclocal.m4 to define SC_* macros. 27 | -------------------------------------------------------------------------------- /8.x/mk/tcl/tequila/proxy.tcl: -------------------------------------------------------------------------------- 1 | # test the proxy interface to tequila 2 | # assume tequilas is running on localhost 3 | 4 | source tequila.tcl 5 | 6 | tequila::open localhost 20458 7 | 8 | tequila::proxy ;# this defines all mk::* procs as proxy calls 9 | # datafile 'tqs' is open and ready for use 10 | 11 | mk::view layout tqs.people {name country} 12 | 13 | mk::row append tqs.people name jc country nl 14 | mk::row append tqs.people name nb country gr 15 | 16 | foreach i [mk::select tqs.people -sort name] { 17 | puts [mk::get tqs.people!$i] 18 | } 19 | 20 | -------------------------------------------------------------------------------- /8.x/mk/tcl/tests/all.tcl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env tclsh 2 | 3 | source [file join [file dir [info script]] initests.tcl] 4 | 5 | runAllTests 6 | 7 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b00.txt: -------------------------------------------------------------------------------- 1 | >>> Should fail 2 | *** Failed: A(false) *** 3 | <<< done. 4 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b01.txt: -------------------------------------------------------------------------------- 1 | >>> Should succeed 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b02.txt: -------------------------------------------------------------------------------- 1 | >>> Int property 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b03.txt: -------------------------------------------------------------------------------- 1 | >>> Float property 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b04.txt: -------------------------------------------------------------------------------- 1 | >>> String property 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b05.txt: -------------------------------------------------------------------------------- 1 | >>> View property 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b06.txt: -------------------------------------------------------------------------------- 1 | >>> View construction 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b07.txt: -------------------------------------------------------------------------------- 1 | >>> Row manipulation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b08.txt: -------------------------------------------------------------------------------- 1 | >>> Row expressions 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b09.txt: -------------------------------------------------------------------------------- 1 | >>> View manipulation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b10.txt: -------------------------------------------------------------------------------- 1 | >>> View sorting 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b11.txt: -------------------------------------------------------------------------------- 1 | >>> View selection 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b12.txt: -------------------------------------------------------------------------------- 1 | >>> Add after remove 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b13.txt: -------------------------------------------------------------------------------- 1 | >>> Clear view entry 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b14.txt: -------------------------------------------------------------------------------- 1 | >>> Empty view outlives temp storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b15.txt: -------------------------------------------------------------------------------- 1 | >>> View outlives temp storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b16.txt: -------------------------------------------------------------------------------- 1 | >>> View outlives cleared temp storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b17.txt: -------------------------------------------------------------------------------- 1 | >>> Double property 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b18.txt: -------------------------------------------------------------------------------- 1 | >>> SetAtGrow usage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b19.txt: -------------------------------------------------------------------------------- 1 | >>> Bytes property 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b20.txt: -------------------------------------------------------------------------------- 1 | >>> Search sorted view 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b21.txt: -------------------------------------------------------------------------------- 1 | >>> Memo property 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b22.txt: -------------------------------------------------------------------------------- 1 | >>> Stored view references 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b23.txt: -------------------------------------------------------------------------------- 1 | >>> Sort comparison fix 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b24.txt: -------------------------------------------------------------------------------- 1 | >>> Custom view comparisons 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b25.txt: -------------------------------------------------------------------------------- 1 | >>> Copy row from derived 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b26.txt: -------------------------------------------------------------------------------- 1 | >>> Partial memo field access 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/b27.txt: -------------------------------------------------------------------------------- 1 | >>> Copy value to another row 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c01.txt: -------------------------------------------------------------------------------- 1 | >>> Slice forward 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c02.txt: -------------------------------------------------------------------------------- 1 | >>> Slice backward 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c03.txt: -------------------------------------------------------------------------------- 1 | >>> Slice reverse 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c04.txt: -------------------------------------------------------------------------------- 1 | >>> Cartesian product 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c05.txt: -------------------------------------------------------------------------------- 1 | >>> Remapping 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c06.txt: -------------------------------------------------------------------------------- 1 | >>> Pairwise combination 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c07.txt: -------------------------------------------------------------------------------- 1 | >>> Concatenate views 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c08.txt: -------------------------------------------------------------------------------- 1 | >>> Rename property 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c09.txt: -------------------------------------------------------------------------------- 1 | >>> GroupBy operation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c10.txt: -------------------------------------------------------------------------------- 1 | >>> Counts operation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c11.txt: -------------------------------------------------------------------------------- 1 | >>> Unique operation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c12.txt: -------------------------------------------------------------------------------- 1 | >>> Union operation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c13.txt: -------------------------------------------------------------------------------- 1 | >>> Intersect operation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c14.txt: -------------------------------------------------------------------------------- 1 | >>> Different operation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c15.txt: -------------------------------------------------------------------------------- 1 | >>> Minus operation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c16.txt: -------------------------------------------------------------------------------- 1 | >>> View comparisons 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c17.txt: -------------------------------------------------------------------------------- 1 | >>> Join operation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c18.txt: -------------------------------------------------------------------------------- 1 | >>> Groupby sort fix 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c19.txt: -------------------------------------------------------------------------------- 1 | >>> JoinProp operation 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c20.txt: -------------------------------------------------------------------------------- 1 | >>> Wide cartesian product 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c21.txt: -------------------------------------------------------------------------------- 1 | >>> Join on compound key 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/c22.txt: -------------------------------------------------------------------------------- 1 | >>> Groupby with selection 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/d01.txt: -------------------------------------------------------------------------------- 1 | >>> Commit aside 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/d01a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/d01b.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = _C:V 2 | 0: subview '_C' 3 | VIEW 4 rows = _O:I _D:V 4 | 0: 8 5 | 0: subview '_D' 6 | VIEW 1 rows = _K:I _R:I _B:B 7 | 0: 0 0 (4b) 8 | 1: 0 9 | 1: subview '_D' 10 | VIEW 1 rows = _K:I _R:I _B:B 11 | 0: 0 0 (5b) 12 | 2: 0 13 | 2: subview '_D' 14 | VIEW 1 rows = _K:I _R:I _B:B 15 | 0: 0 0 (13b) 16 | 3: 0 17 | 3: subview '_D' 18 | VIEW 1 rows = _K:I _R:I _B:B 19 | 0: 0 0 (13b) 20 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/e01.txt: -------------------------------------------------------------------------------- 1 | >>> Extend new file 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/e01a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 2 rows = p1:I 4 | 0: 123 5 | 1: 456 6 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/e02.txt: -------------------------------------------------------------------------------- 1 | >>> Extend committing twice 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/e02a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 2 rows = p1:I 4 | 0: 123 5 | 1: 456 6 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/e03.txt: -------------------------------------------------------------------------------- 1 | >>> Read during extend 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/e03a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 2 rows = p1:I 4 | 0: 123 5 | 1: 456 6 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/e04.txt: -------------------------------------------------------------------------------- 1 | >>> Extend during read 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/e04a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 2 rows = p1:I 4 | 0: 123 5 | 1: 123 6 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/e05.txt: -------------------------------------------------------------------------------- 1 | >>> Test memory mapping 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/e05a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = 2 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/e06.txt: -------------------------------------------------------------------------------- 1 | >>> Rollback during extend 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/e06a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 2 rows = p1:I 4 | 0: 123 5 | 1: 456 6 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f01.txt: -------------------------------------------------------------------------------- 1 | >>> Add view to format 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f01a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V b:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | 0: subview 'b' 6 | VIEW 2 rows = p2:I 7 | 0: 345 8 | 1: 567 9 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f02.txt: -------------------------------------------------------------------------------- 1 | >>> Remove view from format 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f02a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = b:V 2 | 0: subview 'b' 3 | VIEW 2 rows = p2:I 4 | 0: 345 5 | 1: 567 6 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f03.txt: -------------------------------------------------------------------------------- 1 | >>> Rollback format change 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f03a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f04.txt: -------------------------------------------------------------------------------- 1 | >>> Rearrange format 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f04a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = b:V a:V 2 | 0: subview 'b' 3 | VIEW 2 rows = p2:I 4 | 0: 345 5 | 1: 567 6 | 0: subview 'a' 7 | VIEW 1 rows = p1:I 8 | 0: 123 9 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f05.txt: -------------------------------------------------------------------------------- 1 | >>> Nested reformat 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f05a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V b:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | 0: subview 'b' 6 | VIEW 2 rows = p1:I p2:I 7 | 0: 543 345 8 | 1: 765 567 9 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f06.txt: -------------------------------------------------------------------------------- 1 | >>> Flip foreign data 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f07.txt: -------------------------------------------------------------------------------- 1 | >>> Automatic structure info (obsolete) 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f07a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = dict:V 2 | 0: subview 'dict' 3 | VIEW 0 rows = parent:I index:I view:V 4 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f08.txt: -------------------------------------------------------------------------------- 1 | >>> Automatic storage format 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f08a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = dict:V 2 | 0: subview 'dict' 3 | VIEW 3 rows = p1:S p2:S 4 | 0: 'One' 'Two' 5 | 1: '' '' 6 | 2: 'One' 'Two' 7 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f09.txt: -------------------------------------------------------------------------------- 1 | >>> Partial restructuring 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f09a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 10 rows = p1:I p2:I p3:I 4 | 0: 1000 2000 3000 5 | 1: 1001 0 0 6 | 2: 1002 2002 0 7 | 3: 1003 0 3003 8 | 4: 1004 2004 0 9 | 5: 1005 0 0 10 | 6: 1006 2006 3006 11 | 7: 1007 0 0 12 | 8: 1008 2008 0 13 | 9: 1009 0 3009 14 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f10.txt: -------------------------------------------------------------------------------- 1 | >>> Committed restructuring 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f10a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 10 rows = p1:I p2:I p3:I 4 | 0: 1000 2000 3000 5 | 1: 1001 0 0 6 | 2: 1002 2002 0 7 | 3: 1003 0 3003 8 | 4: 1004 2004 0 9 | 5: 1005 0 0 10 | 6: 1006 2006 3006 11 | 7: 1007 0 0 12 | 8: 1008 2008 0 13 | 9: 1009 0 3009 14 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f11.txt: -------------------------------------------------------------------------------- 1 | >>> Delete missing view 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/f11a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = 2 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/l00.txt: -------------------------------------------------------------------------------- 1 | >>> Lots of properties 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/l00a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I p2:I p3:I p4:I p5:I p6:I p7:I p8:I p9:I p10:I p11:I p12:I p13:I p14:I p15:I p16:I p17:I p18:I p19:I p20:I p21:I p22:I p23:I p24:I p25:I p26:I p27:I p28:I p29:I p30:I p31:I p32:I p33:I p34:I p35:I p36:I p37:I p38:I p39:I p40:I p41:I p42:I p43:I p44:I p45:I p46:I p47:I p48:I p49:I p50:I p51:I p52:I p53:I p54:I p55:I p56:I p57:I p58:I p59:I p60:I p61:I p62:I p63:I p64:I p65:I p66:I p67:I p68:I p69:I p70:I p71:I p72:I p73:I p74:I p75:I p76:I p77:I p78:I p79:I p80:I p81:I p82:I p83:I p84:I p85:I p86:I p87:I p88:I p89:I p90:I p91:I p92:I p93:I p94:I p95:I p96:I p97:I p98:I p99:I p100:I p101:I p102:I p103:I p104:I p105:I p106:I p107:I p108:I p109:I p110:I p111:I p112:I p113:I p114:I p115:I p116:I p117:I p118:I p119:I p120:I p121:I p122:I p123:I p124:I p125:I p126:I p127:I p128:I p129:I p130:I p131:I p132:I p133:I p134:I p135:I p136:I p137:I p138:I p139:I p140:I p141:I p142:I p143:I p144:I p145:I p146:I p147:I p148:I p149:I 4 | 0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 123 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/l01.txt: -------------------------------------------------------------------------------- 1 | >>> Over 32 Kb of integers 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/l02.txt: -------------------------------------------------------------------------------- 1 | >>> Over 64 Kb of strings 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/l03.txt: -------------------------------------------------------------------------------- 1 | >>> Force sections in storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/l04.txt: -------------------------------------------------------------------------------- 1 | >>> Modify sections in storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/l05.txt: -------------------------------------------------------------------------------- 1 | >>> Delete from 32 Kb of strings 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/l05a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I p2:S p3:S 4 | 0: 1747 'The wizard of Oz' 'The wizard of Oz' 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/l06.txt: -------------------------------------------------------------------------------- 1 | >>> Bit field manipulations 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/l07.txt: -------------------------------------------------------------------------------- 1 | >>> Huge description 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/m01.txt: -------------------------------------------------------------------------------- 1 | >>> Hash mapping 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/m02.txt: -------------------------------------------------------------------------------- 1 | >>> Blocked view bug 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/m02a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = v1:V 2 | 0: subview 'v1' 3 | VIEW 2 rows = _B:V 4 | 0: subview '_B' 5 | VIEW 15 rows = p1:B 6 | 0: (3490b) 7 | 1: (3491b) 8 | 2: (3492b) 9 | 3: (3493b) 10 | 4: (3494b) 11 | 5: (3495b) 12 | 6: (3496b) 13 | 7: (3497b) 14 | 8: (3498b) 15 | 9: (3499b) 16 | 10: (3500b) 17 | 11: (3501b) 18 | 12: (3502b) 19 | 13: (3503b) 20 | 14: (3504b) 21 | 1: subview '_B' 22 | VIEW 0 rows = p1:B 23 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/m03.txt: -------------------------------------------------------------------------------- 1 | >>> Hash adds 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/m03a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = d1:V m1:V d2:V m2:V d3:V m3:V d4:V m4:V 2 | 0: subview 'd1' 3 | VIEW 4 rows = p1:S 4 | 0: 'one' 5 | 1: 'two' 6 | 2: 'three' 7 | 3: 'four' 8 | 0: subview 'm1' 9 | VIEW 9 rows = _H:I _R:I 10 | 0: 0 -1 11 | 1: -1413211378 1 12 | 2: -153687682 2 13 | 3: 0 -1 14 | 4: 0 -1 15 | 5: 0 -1 16 | 6: -1614533319 3 17 | 7: -245760992 0 18 | 8: 11 0 19 | 0: subview 'd2' 20 | VIEW 3 rows = p1:S 21 | 0: 'two' 22 | 1: 'three' 23 | 2: 'four' 24 | 0: subview 'm2' 25 | VIEW 9 rows = _H:I _R:I 26 | 0: 0 -1 27 | 1: -1413211378 0 28 | 2: -153687682 1 29 | 3: 0 -1 30 | 4: 0 -1 31 | 5: 0 -1 32 | 6: -1614533319 2 33 | 7: 0 -1 34 | 8: 11 0 35 | 0: subview 'd3' 36 | VIEW 2 rows = p1:S 37 | 0: 'three' 38 | 1: 'four' 39 | 0: subview 'm3' 40 | VIEW 5 rows = _H:I _R:I 41 | 0: 0 -1 42 | 1: -153687682 0 43 | 2: -1614533319 1 44 | 3: 0 -1 45 | 4: 7 0 46 | 0: subview 'd4' 47 | VIEW 1 rows = p1:S 48 | 0: 'four' 49 | 0: subview 'm4' 50 | VIEW 5 rows = _H:I _R:I 51 | 0: 0 -1 52 | 1: 0 -1 53 | 2: -1614533319 0 54 | 3: 0 -1 55 | 4: 7 0 56 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/m04.txt: -------------------------------------------------------------------------------- 1 | >>> Locate bug 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/m04a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = v1:V 2 | 0: subview 'v1' 3 | VIEW 6 rows = p1:I p2:S 4 | 0: 1 'one' 5 | 1: 2 'two' 6 | 2: 3 'three' 7 | 3: 4 'four' 8 | 4: 5 'five' 9 | 5: 6 'six' 10 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/m05.txt: -------------------------------------------------------------------------------- 1 | >>> Blocked view with subviews 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/m06.txt: -------------------------------------------------------------------------------- 1 | >>> Blocked view multi-row deletion 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/n01.txt: -------------------------------------------------------------------------------- 1 | >>> Add to selection 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/n02.txt: -------------------------------------------------------------------------------- 1 | >>> Remove from selection 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/n03.txt: -------------------------------------------------------------------------------- 1 | >>> Modify into selection 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/n04.txt: -------------------------------------------------------------------------------- 1 | >>> Modify out of selection 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/n05.txt: -------------------------------------------------------------------------------- 1 | >>> Add to sorted 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/n06.txt: -------------------------------------------------------------------------------- 1 | >>> Remove from sorted 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/n07.txt: -------------------------------------------------------------------------------- 1 | >>> New property through sort 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/n08.txt: -------------------------------------------------------------------------------- 1 | >>> Nested project and select 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/n09.txt: -------------------------------------------------------------------------------- 1 | >>> Multiple dependencies 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/n10.txt: -------------------------------------------------------------------------------- 1 | >>> Modify sorted duplicates 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/n11.txt: -------------------------------------------------------------------------------- 1 | >>> Resize compound derived view 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/n12.txt: -------------------------------------------------------------------------------- 1 | >>> Alter multiply derived view 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/n13.txt: -------------------------------------------------------------------------------- 1 | >>> Project without 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/n14.txt: -------------------------------------------------------------------------------- 1 | >>> Insert in non-mapped position 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/n14a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 12 rows = p1:I 4 | 0: 0 5 | 1: 1 6 | 2: 2 7 | 3: 6 8 | 4: 0 9 | 5: 1 10 | 6: 2 11 | 7: 1 12 | 8: 0 13 | 9: 1 14 | 10: 2 15 | 11: 0 16 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/r00.txt: -------------------------------------------------------------------------------- 1 | >>> Simple insert 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/r01.txt: -------------------------------------------------------------------------------- 1 | >>> Simple removes 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/r01a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 15 rows = p1:I 4 | 0: 9 5 | 1: 10 6 | 2: 11 7 | 3: 12 8 | 4: 13 9 | 5: 14 10 | 6: 15 11 | 7: 16 12 | 8: 17 13 | 9: 18 14 | 10: 19 15 | 11: 20 16 | 12: 21 17 | 13: 22 18 | 14: 23 19 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/r02.txt: -------------------------------------------------------------------------------- 1 | >>> Large inserts and removes 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/r02a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 5 rows = p1:I 4 | 0: 37 5 | 1: 38 6 | 2: 39 7 | 3: 95 8 | 4: 96 9 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/r03.txt: -------------------------------------------------------------------------------- 1 | >>> Binary property insertions 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/r03a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 5 rows = p1:B 4 | 0: (1024b) 5 | 1: (256b) 6 | 2: (1024b) 7 | 3: (1024b) 8 | 4: (341b) 9 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/r04.txt: -------------------------------------------------------------------------------- 1 | >>> Scripted string property tests 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/r04a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 0 rows = p1:S 4 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/reversed.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = address:V info:V 2 | 0: subview 'address' 3 | VIEW 8 rows = name:S country:S age:I 4 | 0: 'John Williams' 'UK' 0 5 | 1: 'Paco Pena' 'Spain' 44 6 | 2: 'Julian Bream' '' 50 7 | 3: 'Julian Bream' '' 0 8 | 4: 'Julien Coco' 'Netherlands' 0 9 | 5: 'John Williams' 'UK' 0 10 | 6: 'Paco Pena' 'Spain' 0 11 | 7: 'Julien Coco' 'Netherlands' 0 12 | 0: subview 'info' 13 | VIEW 1 rows = version:I 14 | 0: 100 15 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s00.txt: -------------------------------------------------------------------------------- 1 | >>> Simple storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s00a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 0 rows = p1:I 4 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s01.txt: -------------------------------------------------------------------------------- 1 | >>> Integer storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s01a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:I 4 | 0: 123 5 | 1: 789 6 | 2: 456 7 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s02.txt: -------------------------------------------------------------------------------- 1 | >>> Float storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s02a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:F 4 | 0: 12.3 5 | 1: 78.9 6 | 2: 45.6 7 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s03.txt: -------------------------------------------------------------------------------- 1 | >>> String storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s03a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:S 4 | 0: 'one' 5 | 1: 'three' 6 | 2: 'two' 7 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s04.txt: -------------------------------------------------------------------------------- 1 | >>> View storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s04a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:S p2:V 4 | 0: 'one' 5 | 0: subview 'p2' 6 | VIEW 1 rows = p3:I 7 | 0: 1 8 | 1: 'three' 9 | 1: subview 'p2' 10 | VIEW 3 rows = p3:I 11 | 0: 111 12 | 1: 222 13 | 2: 333 14 | 2: 'two' 15 | 2: subview 'p2' 16 | VIEW 2 rows = p3:I 17 | 0: 11 18 | 1: 22 19 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s05.txt: -------------------------------------------------------------------------------- 1 | >>> Store and reload 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s05a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s06.txt: -------------------------------------------------------------------------------- 1 | >>> Commit twice 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s06a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 2 rows = p1:I 4 | 0: 123 5 | 1: 234 6 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s07.txt: -------------------------------------------------------------------------------- 1 | >>> Commit modified 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s07a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 234 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s08.txt: -------------------------------------------------------------------------------- 1 | >>> View after storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s08a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s09.txt: -------------------------------------------------------------------------------- 1 | >>> Copy storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s09a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s09b.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s10.txt: -------------------------------------------------------------------------------- 1 | >>> Stream storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s10a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:S p2:V 4 | 0: 'one' 5 | 0: subview 'p2' 6 | VIEW 1 rows = p3:I 7 | 0: 1 8 | 1: 'three' 9 | 1: subview 'p2' 10 | VIEW 3 rows = p3:I 11 | 0: 111 12 | 1: 222 13 | 2: 333 14 | 2: 'two' 15 | 2: subview 'p2' 16 | VIEW 2 rows = p3:I 17 | 0: 11 18 | 1: 22 19 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s10b.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:S p2:V 4 | 0: 'one' 5 | 0: subview 'p2' 6 | VIEW 1 rows = p3:I 7 | 0: 1 8 | 1: 'three' 9 | 1: subview 'p2' 10 | VIEW 3 rows = p3:I 11 | 0: 111 12 | 1: 222 13 | 2: 333 14 | 2: 'two' 15 | 2: subview 'p2' 16 | VIEW 2 rows = p3:I 17 | 0: 11 18 | 1: 22 19 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s10c.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 4 rows = p1:S p2:V 4 | 0: 'one' 5 | 0: subview 'p2' 6 | VIEW 1 rows = p3:I 7 | 0: 1 8 | 1: 'three' 9 | 1: subview 'p2' 10 | VIEW 3 rows = p3:I 11 | 0: 111 12 | 1: 222 13 | 2: 333 14 | 2: 'two' 15 | 2: subview 'p2' 16 | VIEW 2 rows = p3:I 17 | 0: 11 18 | 1: 22 19 | 3: 'four' 20 | 3: subview 'p2' 21 | VIEW 0 rows = p3:I 22 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s11.txt: -------------------------------------------------------------------------------- 1 | >>> Commit and rollback 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s11a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s12.txt: -------------------------------------------------------------------------------- 1 | >>> Remove subview 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s12a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 0 rows = p1:I p2:V 4 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s13.txt: -------------------------------------------------------------------------------- 1 | >>> Remove middle subview 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s13a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 2 rows = p1:I p2:V 4 | 0: 123 5 | 0: subview 'p2' 6 | VIEW 1 rows = p3:I 7 | 0: 234 8 | 1: 125 9 | 1: subview 'p2' 10 | VIEW 3 rows = p3:I 11 | 0: 456 12 | 1: 457 13 | 2: 458 14 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s14.txt: -------------------------------------------------------------------------------- 1 | >>> Replace attached subview 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s14a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I p2:V 4 | 0: 0 5 | 0: subview 'p2' 6 | VIEW 0 rows = p3:I 7 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s15.txt: -------------------------------------------------------------------------------- 1 | >>> Add after removed subviews 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s15a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I p2:V 4 | 0: 111 5 | 0: subview 'p2' 6 | VIEW 1 rows = p3:I 7 | 0: 234 8 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s16.txt: -------------------------------------------------------------------------------- 1 | >>> Add after removed ints 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s16a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I p2:V 4 | 0: 4 5 | 0: subview 'p2' 6 | VIEW 0 rows = p3:I 7 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s17.txt: -------------------------------------------------------------------------------- 1 | >>> Add after removed strings 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s17a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:S p2:V 4 | 0: 'four' 5 | 0: subview 'p2' 6 | VIEW 0 rows = p3:I 7 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s18.txt: -------------------------------------------------------------------------------- 1 | >>> Empty storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s18a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = 2 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s19.txt: -------------------------------------------------------------------------------- 1 | >>> Empty view outlives storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s19a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = 2 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s20.txt: -------------------------------------------------------------------------------- 1 | >>> View outlives storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s20a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = 2 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s21.txt: -------------------------------------------------------------------------------- 1 | >>> Test demo scenario 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s21a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V b:V 2 | 0: subview 'a' 3 | VIEW 4 rows = p1:S p2:S p3:I 4 | 0: 'One' 'Un' 0 5 | 1: 'Two' 'Deux' 123 6 | 2: 'Four' '' 0 7 | 3: 'Three' 'Trois' 0 8 | 0: subview 'b' 9 | VIEW 1 rows = p4:I 10 | 0: 234 11 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s22.txt: -------------------------------------------------------------------------------- 1 | >>> Double storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s22a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:D 4 | 0: 1234.5678 5 | 1: 3456.789 6 | 2: 2345.6789 7 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s23.txt: -------------------------------------------------------------------------------- 1 | >>> Find absent record 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s23a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = 2 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s24.txt: -------------------------------------------------------------------------------- 1 | >>> Bitwise storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s24a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a1:V a2:V a3:V a4:V 2 | 0: subview 'a1' 3 | VIEW 9 rows = p1:I 4 | 0: 1 5 | 1: 0 6 | 2: 1 7 | 3: 0 8 | 4: 1 9 | 5: 0 10 | 6: 1 11 | 7: 0 12 | 8: 1 13 | 0: subview 'a2' 14 | VIEW 9 rows = p1:I 15 | 0: 3 16 | 1: 0 17 | 2: 1 18 | 3: 2 19 | 4: 3 20 | 5: 0 21 | 6: 1 22 | 7: 2 23 | 8: 3 24 | 0: subview 'a3' 25 | VIEW 9 rows = p1:I 26 | 0: 7 27 | 1: 8 28 | 2: 9 29 | 3: 10 30 | 4: 11 31 | 5: 12 32 | 6: 13 33 | 7: 14 34 | 8: 15 35 | 0: subview 'a4' 36 | VIEW 9 rows = p1:I 37 | 0: 119 38 | 1: 120 39 | 2: 121 40 | 3: 122 41 | 4: 123 42 | 5: 124 43 | 6: 125 44 | 7: 126 45 | 8: 127 46 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s25.txt: -------------------------------------------------------------------------------- 1 | >>> Bytes storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s25a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:B 4 | 0: (2b) 5 | 1: (4b) 6 | 2: (5b) 7 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s26.txt: -------------------------------------------------------------------------------- 1 | >>> Bitwise autosizing 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s26a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I p2:I p3:I p4:I 4 | 0: 100000 100000 100000 100000 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s27.txt: -------------------------------------------------------------------------------- 1 | >>> Bytes restructuring 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s27a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:B 4 | 0: (4b) 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s28.txt: -------------------------------------------------------------------------------- 1 | >>> Doubles added later 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s28a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:F p2:D p3:V 4 | 0: 123 123 5 | 0: subview 'p3' 6 | VIEW 1 rows = p1:F p2:D 7 | 0: 234 234 8 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s29.txt: -------------------------------------------------------------------------------- 1 | >>> Delete bytes property 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s29a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 0 rows = p1:B 4 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s30.txt: -------------------------------------------------------------------------------- 1 | >>> Memo storage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s30a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:B 4 | 0: (2b) 5 | 1: (4b) 6 | 2: (5b) 7 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s31.txt: -------------------------------------------------------------------------------- 1 | >>> Check sort buffer use 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s31a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:I 4 | 0: 3 5 | 1: 1 6 | 2: 2 7 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s32.txt: -------------------------------------------------------------------------------- 1 | >>> Set memo empty or same size 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s32a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:B 4 | 0: (4b) 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s33.txt: -------------------------------------------------------------------------------- 1 | >>> Serialize memo fields 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s33a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:B 4 | 0: (2b) 5 | 1: (4b) 6 | 2: (5b) 7 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s33b.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:B 4 | 0: (2b) 5 | 1: (4b) 6 | 2: (5b) 7 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s33c.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:B 4 | 0: (2b) 5 | 1: (4b) 6 | 2: (5b) 7 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s34.txt: -------------------------------------------------------------------------------- 1 | >>> Smart and failed commits 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s34a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 111 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s35.txt: -------------------------------------------------------------------------------- 1 | >>> Datafile with preamble 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s35a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 111 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s36.txt: -------------------------------------------------------------------------------- 1 | >>> Commit after load 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s36a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 111 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s36b.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 111 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s37.txt: -------------------------------------------------------------------------------- 1 | >>> Change short partial fields 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s37a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = v1:V 2 | 0: subview 'v1' 3 | VIEW 1 rows = key:I p1:B 4 | 0: 0 (6b) 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s38.txt: -------------------------------------------------------------------------------- 1 | >>> Lots of empty subviews 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s38a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = v:V 2 | 0: subview 'v' 3 | VIEW 2 rows = v1:V 4 | 0: subview 'v1' 5 | VIEW 0 rows = p1:S 6 | 1: subview 'v1' 7 | VIEW 0 rows = p1:S 8 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s39.txt: -------------------------------------------------------------------------------- 1 | >>> Do not detach empty top-level views 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s39a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = v1:V 2 | 0: subview 'v1' 3 | VIEW 1 rows = p1:I 4 | 0: 123 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s40.txt: -------------------------------------------------------------------------------- 1 | >>> LoadFrom after commit 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s40a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I 4 | 0: 456 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s41.txt: -------------------------------------------------------------------------------- 1 | >>> Partial modify blocked 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s41a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 2 rows = _B:V 4 | 0: subview '_B' 5 | VIEW 1 rows = p1:B 6 | 0: (8b) 7 | 1: subview '_B' 8 | VIEW 0 rows = p1:B 9 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s42.txt: -------------------------------------------------------------------------------- 1 | >>> Get descriptions 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s43.txt: -------------------------------------------------------------------------------- 1 | >>> View reuse after sub-byte ints 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s43a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 2 rows = p1:I 4 | 0: 0 5 | 1: 12345 6 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s44.txt: -------------------------------------------------------------------------------- 1 | >>> Bad memo free space 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s44a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I p2:B 4 | 0: 0 (12345b) 5 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s45.txt: -------------------------------------------------------------------------------- 1 | >>> Bad subview memo free space 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s45a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 1 rows = p1:I p2:V 4 | 0: 0 5 | 0: subview 'p2' 6 | VIEW 1 rows = p3:B 7 | 0: (12345b) 8 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s46.txt: -------------------------------------------------------------------------------- 1 | >>> LoadFrom after commit 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s46a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 12 rows = p1:I 4 | 0: 11 5 | 1: 22 6 | 2: 33 7 | 3: 44 8 | 4: 0 9 | 5: 55 10 | 6: 66 11 | 7: 77 12 | 8: 0 13 | 9: 88 14 | 10: 99 15 | 11: 1000 16 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s47.txt: -------------------------------------------------------------------------------- 1 | >>> Defining bad property type 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s48.txt: -------------------------------------------------------------------------------- 1 | >>> Resize subview to zero and back 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s48a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = v1:V 2 | 0: subview 'v1' 3 | VIEW 1 rows = v2:V 4 | 0: subview 'v2' 5 | VIEW 0 rows = p1:I 6 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s48b.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = v1:V 2 | 0: subview 'v1' 3 | VIEW 1 rows = v2:V 4 | 0: subview 'v2' 5 | VIEW 0 rows = p1:I 6 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s49.txt: -------------------------------------------------------------------------------- 1 | >>> Specify conflicting properties 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s49a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = v1:V v2:V v3:V 2 | 0: subview 'v1' 3 | VIEW 0 rows = p1:I 4 | 0: subview 'v2' 5 | VIEW 0 rows = p1:I 6 | 0: subview 'v3' 7 | VIEW 0 rows = v3:V 8 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s50.txt: -------------------------------------------------------------------------------- 1 | >>> Free space usage 2 | <<< done. 3 | -------------------------------------------------------------------------------- /8.x/mk/tests/ok/s50a.txt: -------------------------------------------------------------------------------- 1 | VIEW 1 rows = a:V 2 | 0: subview 'a' 3 | VIEW 3 rows = p1:I 4 | 0: 12345 5 | 1: 2345 6 | 2: 345 7 | -------------------------------------------------------------------------------- /8.x/mk/unix/Doxytail.html: -------------------------------------------------------------------------------- 1 |

2 |
3 | Metakit C++ API Reference - 4 | http://www.equi4.com/metakit.html 5 | - extracted with 6 | Doxygen 7 |
8 | 9 | -------------------------------------------------------------------------------- /8.x/mk/unix/README: -------------------------------------------------------------------------------- 1 | To keep the unix/ directory as is, please build Metakit using: 2 | 3 | cd ../builds 4 | ../unix/configure 5 | make 6 | make test 7 | make install 8 | 9 | Further documentation and install notes are in "../README". 10 | -------------------------------------------------------------------------------- /8.x/mk/unix/cpprt0_stubs.s: -------------------------------------------------------------------------------- 1 | 2 | .code 3 | ; stubs for static constructors in a.out 4 | .export __StaticCtorTable_Start,data 5 | .export __StaticCtorTable_End,data 6 | __StaticCtorTable_Start 7 | __StaticCtorTable_End 8 | 9 | .data 10 | ; stubs for static constructors in a.out, compiled with +z/+Z 11 | .export __ZStaticCtorTable_Start,data 12 | .export __ZStaticCtorTable_End,data 13 | __ZStaticCtorTable_Start 14 | __ZStaticCtorTable_End 15 | -------------------------------------------------------------------------------- /8.x/mk/unix/reversed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/mk/unix/reversed -------------------------------------------------------------------------------- /8.x/mk/win/config.h: -------------------------------------------------------------------------------- 1 | #if _MSC_VER >= 1000 2 | #define HAVE_MMAP 1 3 | #define HAVE_MEMMOVE 1 4 | #define HAVE_BCOPY 0 5 | #define SIZEOF_LONG 4 6 | #define LONG_LONG __int64 7 | #else 8 | #define HAVE_MMAP 0 9 | #define HAVE_MEMMOVE 1 10 | #define HAVE_BCOPY 0 11 | #define SIZEOF_LONG 4 12 | #endif 13 | -------------------------------------------------------------------------------- /8.x/mk/win/msvc60/reversed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/mk/win/msvc60/reversed -------------------------------------------------------------------------------- /8.x/mk/win/msvc70/reversed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/mk/win/msvc70/reversed -------------------------------------------------------------------------------- /8.x/mk/win/msvc70/tests/!keepme.txt: -------------------------------------------------------------------------------- 1 | placeholder 2 | -------------------------------------------------------------------------------- /8.x/tclvfs/DESCRIPTION.txt: -------------------------------------------------------------------------------- 1 | Identifier: vfs 2 | Version: 1.3.0 3 | Title: Interface to Virtual File Systems for Tcl 8.4 4 | Creator: Vince Darley 5 | Description: The goal of this extension is to expose Tcl 8.4's new 6 | filesystem C API to the Tcl level. 7 | Rights: BSD 8 | URL: http://sourceforge.net/projects/tclvfs 9 | Date: 2003-10-08 10 | Architecture: tcl 11 | Architecture: Linux-x86 12 | Require: tcl 8.4 13 | Recommend: tcl 8.5 14 | Recommend: Trf 15 | Recommend: http 2.6 16 | Recommend: base64 17 | Recommend: Memchan 18 | Recommend: Mk4tcl 19 | Recommend: ftp 20 | Subject: filesystem 21 | -------------------------------------------------------------------------------- /8.x/tclvfs/README.cygwin: -------------------------------------------------------------------------------- 1 | The contents of this file were out of date and misleading. 2 | They have been removed until someone contributes something 3 | which works and is up to date. 4 | -------------------------------------------------------------------------------- /8.x/tclvfs/aclocal.m4: -------------------------------------------------------------------------------- 1 | builtin(include,tclconfig/tcl.m4) 2 | -------------------------------------------------------------------------------- /8.x/tclvfs/http2.6/pkgIndex.tcl: -------------------------------------------------------------------------------- 1 | # pkgIndex.tcl - index for http package 2 | # 3 | # Use to use lazy loading by defining the load command as: 4 | # package ifneeded http 2.6 [list tclPkgSetup $dir http 2.6 {{http.tcl source {::http::config ::http::formatQuery ::http::geturl ::http::reset ::http::wait ::http::register ::http::unregister}}}] 5 | # 6 | if {![package vsatisfies [package provide Tcl] 8.4]} {return} 7 | package ifneeded http 2.6.9 [list source [file join $dir http.tcl]] 8 | 9 | -------------------------------------------------------------------------------- /8.x/tclvfs/library/template/tclIndex: -------------------------------------------------------------------------------- 1 | # Tcl autoload index file, version 2.0 2 | # This file is generated by the "auto_mkindex" command 3 | # and sourced to set up indexing information for one or 4 | # more commands. Typically each line is a command that 5 | # sets an element in the auto_index array, where the 6 | # element name is the name of a command and the value is 7 | # a script that loads the command. 8 | 9 | set auto_index(::vfs::template::mount) [list package require vfs::template 1.5.3] 10 | set auto_index(::vfs::template::collate::mount) [list source [file join $dir collatevfs.tcl]] 11 | set auto_index(::vfs::template::quota::mount) [list source [file join $dir quotavfs.tcl]] 12 | set auto_index(::vfs::template::version::mount) [list source [file join $dir versionvfs.tcl]] 13 | set auto_index(::vfs::template::version::delta::mount) [list source [file join $dir deltavfs.tcl]] 14 | set auto_index(::vfs::template::chroot::mount) [list source [file join $dir chrootvfs.tcl]] 15 | set auto_index(::vfs::template::fish::mount) [list source [file join $dir fishvfs.tcl]] 16 | -------------------------------------------------------------------------------- /8.x/tclvfs/library/vfs.tcl.in: -------------------------------------------------------------------------------- 1 | # -*- tcl -*- 2 | 3 | # Activate the binary and Tcl parts of the package, in the proper 4 | # order. 5 | 6 | # The location of the Tcl parts can be redirected via the environment 7 | # variable VFS_LIBRARY. This is for use by testing of tclvfs without 8 | # having to actually install the package. In that case the location of 9 | # the binary part is redirected through the environment variable 10 | # TCLLIBPATH (indirect modification of the auto_path). Not used here 11 | # however, but by Tcl's package management code itself when searching 12 | # for the package. 13 | 14 | namespace eval ::vfs { 15 | variable self [file dirname [info script]] 16 | variable redir [info exists ::env(VFS_LIBRARY)] 17 | variable corezip [package vsatisfies [package provide Tcl] 8.6] 18 | } 19 | 20 | if {[lsearch -exact $::auto_path $::vfs::self] == -1} { 21 | lappend ::auto_path $::vfs::self 22 | } 23 | 24 | load [file join $::vfs::self @PKG_LIB_FILE@] 25 | 26 | if {$::vfs::redir} { 27 | set ::vfs::self $::env(VFS_LIBRARY) 28 | } 29 | 30 | source [file join $::vfs::self vfsUtils.tcl] 31 | 32 | if {$::vfs::corezip} { 33 | source [file join $::vfs::self vfslib.tcl] 34 | } 35 | 36 | unset ::vfs::self ::vfs::redir ::vfs::corezip 37 | -------------------------------------------------------------------------------- /8.x/tclvfs/tclconfig/README.txt: -------------------------------------------------------------------------------- 1 | These files comprise the basic building blocks for a Tcl Extension 2 | Architecture (TEA) extension. For more information on TEA see: 3 | 4 | http://www.tcl.tk/doc/tea/ 5 | 6 | This package is part of the Tcl project at SourceForge, and latest 7 | sources should be available there: 8 | 9 | http://tcl.sourceforge.net/ 10 | 11 | This package is a freely available open source package. You can do 12 | virtually anything you like with it, such as modifying it, redistributing 13 | it, and selling it either in whole or in part. 14 | 15 | CONTENTS 16 | ======== 17 | The following is a short description of the files you will find in 18 | the sample extension. 19 | 20 | README.txt This file 21 | 22 | install-sh Program used for copying binaries and script files 23 | to their install locations. 24 | 25 | tcl.m4 Collection of Tcl autoconf macros. Included by a package's 26 | aclocal.m4 to define SC_* macros. 27 | -------------------------------------------------------------------------------- /8.x/tclvfs/win/tclvfs.rc: -------------------------------------------------------------------------------- 1 | // tclvfs.rc - Copyright (C) 2008 Pat Thoyts 2 | // 3 | // Note: the version numbers in here are all provided from the makefile. 4 | // No editing required. 5 | // 6 | // $Id: tclvfs.rc,v 1.1 2008/04/30 15:18:56 patthoyts Exp $ 7 | 8 | #include 9 | 10 | VS_VERSION_INFO VERSIONINFO 11 | FILEVERSION COMMAVERSION 12 | PRODUCTVERSION COMMAVERSION 13 | FILEFLAGSMASK 0x3fL 14 | #ifdef DEBUG 15 | FILEFLAGS VS_FF_DEBUG 16 | #else 17 | FILEFLAGS 0x0L 18 | #endif 19 | FILEOS VOS__WINDOWS32 20 | FILETYPE VFT_DLL 21 | FILESUBTYPE 0x0L 22 | BEGIN 23 | BLOCK "StringFileInfo" 24 | BEGIN 25 | BLOCK "040904b0" /* LANG_ENGLISH/SUBLANG_ENGLISH_US, Unicode CP */ 26 | BEGIN 27 | VALUE "FileDescription", "Tcl virtual filesystem support\0" 28 | VALUE "OriginalFilename", "vfs" VERSION ".dll\0" 29 | VALUE "FileVersion", DOTVERSION "\0" 30 | VALUE "LegalCopyright", "Copyright \251 2001 Vince Darley et al.\0" 31 | VALUE "ProductName", "TclVfs " DOTVERSION " for Windows\0" 32 | VALUE "ProductVersion", DOTVERSION "\0" 33 | VALUE "Comments", "http://sourceforge.net/projects/tclvfs\0" 34 | END 35 | END 36 | BLOCK "VarFileInfo" 37 | BEGIN 38 | VALUE "Translation", 0x409, 1200 39 | END 40 | END 41 | -------------------------------------------------------------------------------- /8.x/thread/.cvsignore: -------------------------------------------------------------------------------- 1 | config.status 2 | Makefile 3 | pkgIndex.tcl 4 | *.dll 5 | *.so 6 | autom4te.cache 7 | -------------------------------------------------------------------------------- /8.x/thread/doc/format.tcl: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/tclsh 2 | set mydir [file dirname [info script]] 3 | lappend auto_path /usr/local/lib 4 | package req doctools 5 | doctools::new dt 6 | set wd [pwd] 7 | cd $mydir 8 | file rename html htm 9 | set code [catch { 10 | set f [open man.macros] 11 | set m [read $f] 12 | close $f 13 | foreach file [glob -nocomplain *.man] { 14 | set xx [file root $file] 15 | set f [open $xx.man] 16 | set t [read $f] 17 | close $f 18 | foreach {fmt ext dir} {nroff n man html html htm} { 19 | dt configure -format $fmt 20 | set o [dt format $t] 21 | set f [open $dir/$xx.$ext w] 22 | if {$fmt == "nroff"} { 23 | set o [string map [list {.so man.macros} $m] $o] 24 | } 25 | puts $f $o 26 | close $f 27 | } 28 | } 29 | } err] 30 | file rename htm html 31 | cd $wd 32 | if {$code} { 33 | error $err 34 | } 35 | exit 0 36 | -------------------------------------------------------------------------------- /8.x/thread/generic/psGdbm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * psGdbm.h -- 3 | * 4 | * See the file "license.txt" for information on usage and redistribution 5 | * of this file, and for a DISCLAIMER OF ALL WARRANTIES. 6 | * 7 | * Rcsid: @(#)$Id: psGdbm.h,v 1.1 2003/09/03 11:24:53 vasiljevic Exp $ 8 | * --------------------------------------------------------------------------- 9 | */ 10 | 11 | #ifndef _PSGDBM_H_ 12 | #define _PSGDBM_H_ 13 | 14 | void Sv_RegisterGdbmStore(); 15 | 16 | #endif /* _PSGDBM_H_ */ 17 | 18 | /* EOF $RCSfile */ 19 | 20 | /* Emacs Setup Variables */ 21 | /* Local Variables: */ 22 | /* mode: C */ 23 | /* indent-tabs-mode: nil */ 24 | /* c-basic-offset: 4 */ 25 | /* End: */ 26 | 27 | -------------------------------------------------------------------------------- /8.x/thread/generic/threadSvKeylistCmd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * threadSvKeylistCmd.h -- 3 | * 4 | * See the file "license.txt" for information on usage and redistribution 5 | * of this file, and for a DISCLAIMER OF ALL WARRANTIES. 6 | * 7 | * Rcsid: @(#)$Id: threadSvKeylistCmd.h,v 1.2 2004/08/14 20:36:27 vasiljevic Exp $ 8 | * --------------------------------------------------------------------------- 9 | */ 10 | 11 | #ifndef _KEYLISTCMDS_H_ 12 | #define _KEYLISTCMDS_H_ 13 | 14 | void Sv_RegisterKeylistCommands(void); 15 | void TclX_KeyedListInit(Tcl_Interp *interp); 16 | 17 | #endif /* _KEYLISTCMDS_H_ */ 18 | 19 | /* EOF $RCSfile: threadSvKeylistCmd.h,v $ */ 20 | 21 | /* Emacs Setup Variables */ 22 | /* Local Variables: */ 23 | /* mode: C */ 24 | /* indent-tabs-mode: nil */ 25 | /* c-basic-offset: 4 */ 26 | /* End: */ 27 | 28 | -------------------------------------------------------------------------------- /8.x/thread/generic/threadSvListCmd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2002 by Zoran Vasiljevic. 3 | * 4 | * See the file "license.txt" for information on usage and redistribution 5 | * of this file, and for a DISCLAIMER OF ALL WARRANTIES. 6 | * 7 | * Rcsid: @(#)$Id: threadSvListCmd.h,v 1.2 2002/12/05 15:14:09 vasiljevic Exp $ 8 | * --------------------------------------------------------------------------- 9 | */ 10 | 11 | #ifndef _SV_LIST_H_ 12 | #define _SV_LIST_H_ 13 | 14 | void Sv_RegisterListCommands(); 15 | 16 | #endif /* _SV_LIST_H_ */ 17 | 18 | /* EOF $RCSfile: threadSvListCmd.h,v $ */ 19 | 20 | /* Emacs Setup Variables */ 21 | /* Local Variables: */ 22 | /* mode: C */ 23 | /* indent-tabs-mode: nil */ 24 | /* c-basic-offset: 4 */ 25 | /* End: */ 26 | 27 | -------------------------------------------------------------------------------- /8.x/thread/tcl/phttpd/index.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 |

Hallo World

4 | 5 | 6 | -------------------------------------------------------------------------------- /8.x/thread/tclconfig/README.txt: -------------------------------------------------------------------------------- 1 | These files comprise the basic building blocks for a Tcl Extension 2 | Architecture (TEA) extension. For more information on TEA see: 3 | 4 | http://www.tcl.tk/doc/tea/ 5 | 6 | This package is part of the Tcl project at SourceForge, and latest 7 | sources should be available there: 8 | 9 | http://tcl.sourceforge.net/ 10 | 11 | This package is a freely available open source package. You can do 12 | virtually anything you like with it, such as modifying it, redistributing 13 | it, and selling it either in whole or in part. 14 | 15 | CONTENTS 16 | ======== 17 | The following is a short description of the files you will find in 18 | the sample extension. 19 | 20 | README.txt This file 21 | 22 | install-sh Program used for copying binaries and script files 23 | to their install locations. 24 | 25 | tcl.m4 Collection of Tcl autoconf macros. Included by a package's 26 | aclocal.m4 to define TEA_* macros. 27 | -------------------------------------------------------------------------------- /8.x/thread/tests/tpool.test: -------------------------------------------------------------------------------- 1 | return 2 | -------------------------------------------------------------------------------- /8.x/thread/tests/tsv.test: -------------------------------------------------------------------------------- 1 | return 2 | -------------------------------------------------------------------------------- /8.x/thread/tests/ttrace.test: -------------------------------------------------------------------------------- 1 | return 2 | -------------------------------------------------------------------------------- /8.x/thread/unix/threadUnix.c: -------------------------------------------------------------------------------- 1 | /* 2 | * threadUnix.c -- 3 | * 4 | * Unix specific aspects for the thread extension. 5 | * 6 | * see http://dev.activestate.com/doc/howto/thread_model.html 7 | * 8 | * Some of this code is based on work done by Richard Hipp on behalf of 9 | * Conservation Through Innovation, Limited, with their permission. 10 | * 11 | * Copyright (c) 1998 by Sun Microsystems, Inc. 12 | * Copyright (c) 1999,2000 by Scriptics Corporation. 13 | * 14 | * See the file "license.terms" for information on usage and redistribution 15 | * of this file, and for a DISCLAIMER OF ALL WARRANTIES. 16 | * 17 | * RCS: @(#) $Id: threadUnix.c,v 1.1 2002/01/19 23:27:09 vasiljevic Exp $ 18 | */ 19 | 20 | #include "../generic/tclThread.h" 21 | 22 | /* EOF $RCSfile: threadUnix.c,v $ */ 23 | 24 | /* Emacs Setup Variables */ 25 | /* Local Variables: */ 26 | /* mode: C */ 27 | /* indent-tabs-mode: nil */ 28 | /* c-basic-offset: 4 */ 29 | /* End: */ 30 | -------------------------------------------------------------------------------- /8.x/thread/win/CONFIG: -------------------------------------------------------------------------------- 1 | # 2 | # This is how I run configure. You'll want to change the 3 | # pathnames to match your system, of course. 4 | # 5 | # Remember that if you use the --enable-sybols, you need to 6 | # use the thread25d.dll in a tclsh that has also been compiled 7 | # with symbols (e.g., tclsh84g.exe or tclsh84d.exe). 8 | # If you want to build both debug and non-debug versions, then 9 | # create "debug" and "release" directories and run configure 10 | # from in those directories with the appropriate flags. 11 | # 12 | # Note the CC=gcc must be set *before* the "configure" is ran. 13 | # This is really needed, otherwise configure will not be able 14 | # to compile the small test file which checks the presence 15 | # of the MinGW build environment. It is *not* enough to use 16 | # "--enable-gcc" configure option; you *need* to define CC. 17 | # 18 | 19 | export CC=gcc 20 | sh ../configure --enable-threads --with-tcl=e:/tcl/win 21 | 22 | -------------------------------------------------------------------------------- /8.x/thread/win/vc/.cvsignore: -------------------------------------------------------------------------------- 1 | Debug 2 | Release 3 | *.opt 4 | *.ncb 5 | *.plg 6 | *.00? 7 | .#* 8 | nmakehlp.exe 9 | nmakehlp.obj 10 | -------------------------------------------------------------------------------- /8.x/thread/win/vc/README.txt: -------------------------------------------------------------------------------- 1 | 2 | Files in this directory may be useful if you have not set up 3 | your TEA (i.e., MinGW) environment and you're using the MSVC++ 4 | from Micro$oft. 5 | 6 | To build the extension invoke the following command: 7 | 8 | nmake -f makefile.vc TCLDIR= 9 | 10 | You would need to give the of the Tcl distribution where 11 | tcl.h and other needed Tcl files are located. 12 | Please look into the makefile.vc file for more information. 13 | 14 | Alternatively, you can open the extension workspace and project files 15 | (thread_win.dsw and thread_win.dsp) from within the MSVC++ and press 16 | the F7 key to build the extension under the control of the MSVC IDE. 17 | 18 | -EOF- 19 | -------------------------------------------------------------------------------- /8.x/thread/win/vc/nmakehlp.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/thread/win/vc/nmakehlp.exe -------------------------------------------------------------------------------- /8.x/thread/win/vc/nmakehlp.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/thread/win/vc/nmakehlp.obj -------------------------------------------------------------------------------- /8.x/thread/win/vc/pkg.vc: -------------------------------------------------------------------------------- 1 | # remember to change configure.in as well when these change 2 | # (then re-autoconf) 3 | 4 | PACKAGE_MAJOR = 2 5 | PACKAGE_MINOR = 6 6 | PACKAGE_VERSION = "2.6.5" 7 | -------------------------------------------------------------------------------- /8.x/thread/win/vc/thread_win.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "thread"=.\thread.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /8.x/vqtcl/aclocal.m4: -------------------------------------------------------------------------------- 1 | # 2 | # Include the TEA standard macro set 3 | # 4 | 5 | builtin(include,tclconfig/tcl.m4) 6 | 7 | # 8 | # Add here whatever m4 macros you want to define for your package 9 | # 10 | -------------------------------------------------------------------------------- /8.x/vqtcl/data/gtest.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/vqtcl/data/gtest.db -------------------------------------------------------------------------------- /8.x/vqtcl/data/lkit-be.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/vqtcl/data/lkit-be.db -------------------------------------------------------------------------------- /8.x/vqtcl/data/lkit-le.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/vqtcl/data/lkit-le.db -------------------------------------------------------------------------------- /8.x/vqtcl/data/mkblk.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/vqtcl/data/mkblk.db -------------------------------------------------------------------------------- /8.x/vqtcl/doc/vlerq.man: -------------------------------------------------------------------------------- 1 | [manpage_begin vlerq n 4] 2 | [moddesc {Vlerq data manipulation core engine}] 3 | [titledesc {The engine used by the Ratcl extension}] 4 | [require vlerq [opt 4]] 5 | [description] 6 | [para] 7 | 8 | The [package vlerq] package provides commands used by the Ratcl extension 9 | to implement a general-purpose relational algebra and persistence framework. 10 | 11 | [section COMMANDS] 12 | [list_begin definitions] 13 | 14 | [call [cmd vlerq] [arg command] [arg ...]] 15 | 16 | The [cmd vlerq] command wraps all the different sub-commands provided by 17 | the [package vlerq] package. 18 | 19 | [call [cmd vlerq] [cmd open] [arg filename]] 20 | 21 | The [cmd open] sub-command opens a Metakit-compatible datafile and returns 22 | its root view. 23 | 24 | [list_end] 25 | 26 | [para] 27 | THIS DOCUMENTATION NEEDS TO BE FINISHED 28 | 29 | [section EXAMPLE] 30 | 31 | [para] 32 | [example { 33 | package require vlerq 34 | set v [vlerq open myfile.db] 35 | puts [vlerq names $v] 36 | }] 37 | [para] 38 | This lists all the sub-views available in the myfile.db file. 39 | 40 | [see_also ratcl metakit] 41 | [keywords database persistence relational algebra] 42 | [manpage_end] 43 | -------------------------------------------------------------------------------- /8.x/vqtcl/doc/vlerq.n: -------------------------------------------------------------------------------- 1 | '\" 2 | '\" Generated from file './doc/vlerq.man' by tcllib/doctools with format 'nroff' 3 | '\" 4 | .so man.macros 5 | .TH "vlerq" n 4 vlerq "Vlerq data manipulation core engine" 6 | .BS 7 | .SH NAME 8 | vlerq \- The engine used by the Ratcl extension 9 | .SH SYNOPSIS 10 | package require \fBvlerq ?4?\fR 11 | .sp 12 | \fBvlerq\fR \fIcommand\fR \fI...\fR 13 | .sp 14 | \fBvlerq\fR \fBopen\fR \fIfilename\fR 15 | .sp 16 | .BE 17 | .SH DESCRIPTION 18 | .PP 19 | The \fBvlerq\fR package provides commands used by the Ratcl extension 20 | to implement a general-purpose relational algebra and persistence framework. 21 | .SH COMMANDS 22 | .TP 23 | \fBvlerq\fR \fIcommand\fR \fI...\fR 24 | The \fBvlerq\fR command wraps all the different sub-commands provided by 25 | the \fBvlerq\fR package. 26 | .TP 27 | \fBvlerq\fR \fBopen\fR \fIfilename\fR 28 | The \fBopen\fR sub-command opens a Metakit-compatible datafile and returns 29 | its root view. 30 | .PP 31 | THIS DOCUMENTATION NEEDS TO BE FINISHED 32 | .SH EXAMPLE 33 | .PP 34 | .nf 35 | 36 | package require vlerq 37 | set v [vlerq open myfile.db] 38 | puts [vlerq names $v] 39 | 40 | .fi 41 | .PP 42 | This lists all the sub-views available in the myfile.db file. 43 | .SH "SEE ALSO" 44 | metakit, ratcl 45 | .SH KEYWORDS 46 | algebra, database, persistence, relational -------------------------------------------------------------------------------- /8.x/vqtcl/pkgIndex.tcl.in: -------------------------------------------------------------------------------- 1 | package ifneeded vlerq @PACKAGE_VERSION@ \ 2 | [list load [file join $dir lib@PACKAGE_NAME@@PACKAGE_VERSION@[info sharedlibext]] vlerq] 3 | 4 | package ifneeded ratcl @PACKAGE_VERSION@ \ 5 | [list source [file join $dir ratcl.tcl]] 6 | 7 | package ifneeded mklite 0.5 [list source [file join $dir mklite.tcl]] 8 | package ifneeded vfs::m2m 1.8 [list source [file join $dir m2mvfs.tcl]] 9 | package ifneeded vfs::mkcl 1.5 [list source [file join $dir mkclvfs.tcl]] 10 | -------------------------------------------------------------------------------- /8.x/vqtcl/tests/all.tcl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env tclkit 2 | 3 | source [file join [file dir [info script]] initests.tcl] 4 | 5 | runAllTests 6 | 7 | eval unset [info vars ?] 8 | eval unset [info vars ??] 9 | #puts [info vars *] -------------------------------------------------------------------------------- /8.x/vqtcl/tests/blocked.test: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env tclkit 2 | # %renumber<^\s*test >% 3 | 4 | source [file join [file dir [info script]] initests.tcl] 5 | 6 | test 0 {} { 7 | package require vlerq 8 | } $version 9 | 10 | test 1 {structure of sample mkblk.db file} { 11 | set bdb [vlerq open data/mkblk.db] 12 | vlerq structure $bdb 13 | } ((II)) 14 | 15 | test 2 {blocked view has 3 blocks} { 16 | vlerq get $bdb 0 bv # 17 | } 4 18 | 19 | test 3 {blocked view structure and size} { 20 | set v [vlerq blocked [vlerq get $bdb 0 bv]] 21 | list [vlerq names $v] [vlerq structure $v] [vlerq size $v] 22 | } {{k1 k2} II 2500} 23 | 24 | test 4 {block sizes} { 25 | vlerq counts [vlerq get $bdb 0 bv] _B 26 | } {999 999 500 2} 27 | 28 | test 5 {contents of last block} { 29 | vlerq get $bdb 0 bv -1 _B * 30 | } {{999 -999} {1999 -1999}} 31 | 32 | test 6 {blocked view access} { 33 | foreach x {0 1 998 999 1000 1998 1999 2000 2498 2499} { 34 | lappend k1 [vlerq get $v $x k1] 35 | lappend k2 [vlerq get $v $x k2] 36 | } 37 | list $k1 $k2 38 | } {{0 1 998 999 1000 1998 1999 2000 2498 2499}\ 39 | {0 -1 -998 -999 -1000 -1998 -1999 -2000 -2498 -2499}} 40 | 41 | unset -nocomplain v x k1 k2 42 | 43 | ::tcltest::cleanupTests 44 | -------------------------------------------------------------------------------- /8.x/vqtcl/tests/kitten.test: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env tclkit 2 | # %renumber<^\s*test >% 3 | 4 | source [file join [file dir [info script]] initests.tcl] 5 | 6 | test 0 {load extension} { 7 | package require vlerq 8 | } $version 9 | 10 | test 1 {load mkclvfs package} vfs { 11 | if {[file exists src_tcl/mkclvfs.tcl]} { 12 | source src_tcl/mkclvfs.tcl 13 | } else { 14 | source library/mkclvfs.tcl 15 | } 16 | package require vfs::mkcl 17 | } 1.5 18 | 19 | test 2 {} -constraints {vfs kitten} -body { 20 | set fs [vfs::mkcl::Mount [temporaryDirectory]/kitten.kit /kitten] 21 | } -match glob -result mkclvfs* 22 | 23 | test 3 {} {vfs kitten} { 24 | lsort -dict [glob -directory /kitten -tails -types f *] 25 | } {ChangeLog main.tcl} 26 | 27 | test 4 {} {vfs kitten} { 28 | lsort -dict [glob -directory /kitten -tails -types d *] 29 | } {doc lib} 30 | 31 | test 5 {} -constraints {vfs kitten} -body { 32 | lsort -dict [glob -directory /kitten/lib -tails -types f *] 33 | } -match glob -result {httpdist.tcl * md5.tcl} 34 | 35 | test 6 {} -constraints {vfs kitten} -body { 36 | lsort -dict [glob -directory /kitten/lib -tails -types d *] 37 | } -match glob -result {ascenc-0.11 autoproxy * tls-1.4 wcb2.8 wikit yeti-0.4} 38 | 39 | test 7 {} {vfs kitten} { 40 | vfs::unmount /kitten 41 | } {} 42 | 43 | unset -nocomplain fs 44 | 45 | ::tcltest::cleanupTests 46 | -------------------------------------------------------------------------------- /8.x/vqtcl/tests/l.leaks.test: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env tclkit 2 | # %renumber<^\s*test >% 3 | 4 | # memory leaks tests, skipped by default because this may take a lot of time 5 | 6 | source [file join [file dir [info script]] initests.tcl] 7 | 8 | set cmd {vlerq open data/mkblk.db} 9 | set cmd {vlerq def {A B C} {1 2 3 4 5 6 7 8 9}} 10 | set cmd {vlerq loop [vlerq def A {1 2}] { append a $(A) }; unset a "" } 11 | 12 | proc memuse {} { 13 | set out [exec ps l -p [pid]] 14 | lindex [split $out \n] 1 [lsearch $out RSS] 15 | } 16 | 17 | test 0 {} { 18 | package require vlerq 19 | } $version 20 | 21 | memuse 22 | 23 | test 1 {} { 24 | memuse 25 | } [memuse] 26 | 27 | test 2 {} { 28 | eval $cmd 29 | return 30 | } {} 31 | 32 | test 3 {} { 33 | eval $cmd 34 | memuse 35 | } [memuse] 36 | 37 | test 4 {} { 38 | for {set i 0} {$i < 10000} {incr i} { 39 | eval $cmd 40 | } 41 | memuse 42 | } [memuse] 43 | 44 | ::tcltest::cleanupTests 45 | -------------------------------------------------------------------------------- /8.x/vqtcl/tests/view.test: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env tclkit 2 | # %renumber<^\s*test >% 3 | 4 | source [file join [file dir [info script]] initests.tcl] 5 | 6 | test 0 {load extension} { 7 | package require vlerq 8 | } $version 9 | 10 | namespace eval ::vlerq {} 11 | 12 | test 1 {indirect view operation} -body { 13 | proc ::vlerq::foo {n} { vlerq viewconv [expr {2*$n}] } 14 | vlerq size {foo 123} 15 | } -result 246 -cleanup { 16 | rename ::vlerq::foo "" 17 | } 18 | 19 | test 2 {recursive indirect view operation} -body { 20 | proc ::vlerq::foo {n} { expr {3*$n} } 21 | vlerq size {foo 123} 22 | } -result 369 -cleanup { 23 | rename ::vlerq::foo "" 24 | } 25 | 26 | test 3 {} { 27 | vlerq view [vlerq def A {a b c}] size 28 | } 3 29 | 30 | test 4 {} { 31 | vlerq view A def {a b c} | repeat 3 | size 32 | } 9 33 | 34 | ::tcltest::cleanupTests 35 | -------------------------------------------------------------------------------- /8.x/vqtcl/win/unistd.h: -------------------------------------------------------------------------------- 1 | /* unistd.h - this file is for MSVC only, it containd only what Vlerq needs! */ 2 | 3 | #if defined(_WIN32) && !defined(WIN32) 4 | #define WIN32 1 5 | #endif 6 | 7 | #ifdef _MSC_VER 8 | typedef unsigned __int64 uint64_t; 9 | typedef __int64 int64_t; 10 | typedef unsigned __int32 uint32_t; 11 | typedef __int32 int32_t; 12 | typedef unsigned __int16 uint16_t; 13 | typedef __int16 int16_t; 14 | /*typedef unsigned __int8 uint8_t;*/ 15 | typedef __int8 int8_t; 16 | #define strcasecmp _stricmp 17 | #endif 18 | -------------------------------------------------------------------------------- /8.x/zlib/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | -@echo "Please use ./configure first. Thank you." 3 | 4 | distclean: 5 | make -f Makefile.in distclean 6 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/ada/zlib.gpr: -------------------------------------------------------------------------------- 1 | project Zlib is 2 | 3 | for Languages use ("Ada"); 4 | for Source_Dirs use ("."); 5 | for Object_Dir use "."; 6 | for Main use ("test.adb", "mtest.adb", "read.adb", "buffer_demo"); 7 | 8 | package Compiler is 9 | for Default_Switches ("ada") use ("-gnatwcfilopru", "-gnatVcdfimorst", "-gnatyabcefhiklmnoprst"); 10 | end Compiler; 11 | 12 | package Linker is 13 | for Default_Switches ("ada") use ("-lz"); 14 | end Linker; 15 | 16 | package Builder is 17 | for Default_Switches ("ada") use ("-s", "-gnatQ"); 18 | end Builder; 19 | 20 | end Zlib; 21 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/blast/Makefile: -------------------------------------------------------------------------------- 1 | blast: blast.c blast.h 2 | cc -DTEST -o blast blast.c 3 | 4 | test: blast 5 | blast < test.pk | cmp - test.txt 6 | 7 | clean: 8 | rm -f blast blast.o 9 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/blast/README: -------------------------------------------------------------------------------- 1 | Read blast.h for purpose and usage. 2 | 3 | Mark Adler 4 | madler@alumni.caltech.edu 5 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/blast/test.pk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/zlib/contrib/blast/test.pk -------------------------------------------------------------------------------- /8.x/zlib/contrib/blast/test.txt: -------------------------------------------------------------------------------- 1 | AIAIAIAIAIAIA -------------------------------------------------------------------------------- /8.x/zlib/contrib/delphi/ZLibConst.pas: -------------------------------------------------------------------------------- 1 | unit ZLibConst; 2 | 3 | interface 4 | 5 | resourcestring 6 | sTargetBufferTooSmall = 'ZLib error: target buffer may be too small'; 7 | sInvalidStreamOp = 'Invalid stream operation'; 8 | 9 | implementation 10 | 11 | end. 12 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/dotzlib/DotZLib.build: -------------------------------------------------------------------------------- 1 |  2 | 3 | A .Net wrapper library around ZLib1.dll 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/dotzlib/DotZLib.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/zlib/contrib/dotzlib/DotZLib.chm -------------------------------------------------------------------------------- /8.x/zlib/contrib/dotzlib/DotZLib.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 8.00 2 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotZLib", "DotZLib\DotZLib.csproj", "{BB1EE0B1-1808-46CB-B786-949D91117FC5}" 3 | ProjectSection(ProjectDependencies) = postProject 4 | EndProjectSection 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfiguration) = preSolution 8 | Debug = Debug 9 | Release = Release 10 | EndGlobalSection 11 | GlobalSection(ProjectConfiguration) = postSolution 12 | {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Debug.ActiveCfg = Debug|.NET 13 | {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Debug.Build.0 = Debug|.NET 14 | {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Release.ActiveCfg = Release|.NET 15 | {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Release.Build.0 = Release|.NET 16 | EndGlobalSection 17 | GlobalSection(ExtensibilityGlobals) = postSolution 18 | EndGlobalSection 19 | GlobalSection(ExtensibilityAddIns) = postSolution 20 | EndGlobalSection 21 | EndGlobal 22 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs -------------------------------------------------------------------------------- /8.x/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs -------------------------------------------------------------------------------- /8.x/zlib/contrib/dotzlib/DotZLib/CodecBase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/zlib/contrib/dotzlib/DotZLib/CodecBase.cs -------------------------------------------------------------------------------- /8.x/zlib/contrib/dotzlib/DotZLib/Deflater.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/zlib/contrib/dotzlib/DotZLib/Deflater.cs -------------------------------------------------------------------------------- /8.x/zlib/contrib/dotzlib/DotZLib/DotZLib.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/zlib/contrib/dotzlib/DotZLib/DotZLib.cs -------------------------------------------------------------------------------- /8.x/zlib/contrib/dotzlib/DotZLib/GZipStream.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/zlib/contrib/dotzlib/DotZLib/GZipStream.cs -------------------------------------------------------------------------------- /8.x/zlib/contrib/dotzlib/DotZLib/Inflater.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/zlib/contrib/dotzlib/DotZLib/Inflater.cs -------------------------------------------------------------------------------- /8.x/zlib/contrib/infback9/README: -------------------------------------------------------------------------------- 1 | See infback9.h for what this is and how to use it. 2 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/iostream/test.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "zfstream.h" 3 | 4 | int main() { 5 | 6 | // Construct a stream object with this filebuffer. Anything sent 7 | // to this stream will go to standard out. 8 | gzofstream os( 1, ios::out ); 9 | 10 | // This text is getting compressed and sent to stdout. 11 | // To prove this, run 'test | zcat'. 12 | os << "Hello, Mommy" << endl; 13 | 14 | os << setcompressionlevel( Z_NO_COMPRESSION ); 15 | os << "hello, hello, hi, ho!" << endl; 16 | 17 | setcompressionlevel( os, Z_DEFAULT_COMPRESSION ) 18 | << "I'm compressing again" << endl; 19 | 20 | os.close(); 21 | 22 | return 0; 23 | 24 | } 25 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/iostream2/zstream_test.cpp: -------------------------------------------------------------------------------- 1 | #include "zstream.h" 2 | #include 3 | #include 4 | #include 5 | 6 | void main() { 7 | char h[256] = "Hello"; 8 | char* g = "Goodbye"; 9 | ozstream out("temp.gz"); 10 | out < "This works well" < h < g; 11 | out.close(); 12 | 13 | izstream in("temp.gz"); // read it back 14 | char *x = read_string(in), *y = new char[256], z[256]; 15 | in > y > z; 16 | in.close(); 17 | cout << x << endl << y << endl << z << endl; 18 | 19 | out.open("temp.gz"); // try ascii output; zcat temp.gz to see the results 20 | out << setw(50) << setfill('#') << setprecision(20) << x << endl << y << endl << z << endl; 21 | out << z << endl << y << endl << x << endl; 22 | out << 1.1234567890123456789 << endl; 23 | 24 | delete[] x; delete[] y; 25 | } 26 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/iostream3/TODO: -------------------------------------------------------------------------------- 1 | Possible upgrades to gzfilebuf: 2 | 3 | - The ability to do putback (e.g. putbackfail) 4 | 5 | - The ability to seek (zlib supports this, but could be slow/tricky) 6 | 7 | - Simultaneous read/write access (does it make sense?) 8 | 9 | - Support for ios_base::ate open mode 10 | 11 | - Locale support? 12 | 13 | - Check public interface to see which calls give problems 14 | (due to dependence on library internals) 15 | 16 | - Override operator<<(ostream&, gzfilebuf*) to allow direct copying 17 | of stream buffer to stream ( i.e. os << is.rdbuf(); ) 18 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/masmx64/bld_ml64.bat: -------------------------------------------------------------------------------- 1 | ml64.exe /Flinffasx64 /c /Zi inffasx64.asm 2 | ml64.exe /Flgvmat64 /c /Zi gvmat64.asm 3 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/masmx64/readme.txt: -------------------------------------------------------------------------------- 1 | Summary 2 | ------- 3 | This directory contains ASM implementations of the functions 4 | longest_match() and inflate_fast(), for 64 bits x86 (both AMD64 and Intel EM64t), 5 | for use with Microsoft Macro Assembler (x64) for AMD64 and Microsoft C++ 64 bits. 6 | 7 | gvmat64.asm is written by Gilles Vollant (2005), by using Brian Raiter 686/32 bits 8 | assembly optimized version from Jean-loup Gailly original longest_match function 9 | 10 | inffasx64.asm and inffas8664.c were written by Chris Anderson, by optimizing 11 | original function from Mark Adler 12 | 13 | Use instructions 14 | ---------------- 15 | Assemble the .asm files using MASM and put the object files into the zlib source 16 | directory. You can also get object files here: 17 | 18 | http://www.winimage.com/zLibDll/zlib124_masm_obj.zip 19 | 20 | define ASMV and ASMINF in your project. Include inffas8664.c in your source tree, 21 | and inffasx64.obj and gvmat64.obj as object to link. 22 | 23 | 24 | Build instructions 25 | ------------------ 26 | run bld_64.bat with Microsoft Macro Assembler (x64) for AMD64 (ml64.exe) 27 | 28 | ml64.exe is given with Visual Studio 2005, Windows 2003 server DDK 29 | 30 | You can get Windows 2003 server DDK with ml64 and cl for AMD64 from 31 | http://www.microsoft.com/whdc/devtools/ddk/default.mspx for low price) 32 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/masmx86/bld_ml32.bat: -------------------------------------------------------------------------------- 1 | ml /coff /Zi /c /Flmatch686.lst match686.asm 2 | ml /coff /Zi /c /Flinffas32.lst inffas32.asm 3 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/masmx86/readme.txt: -------------------------------------------------------------------------------- 1 | 2 | Summary 3 | ------- 4 | This directory contains ASM implementations of the functions 5 | longest_match() and inflate_fast(). 6 | 7 | 8 | Use instructions 9 | ---------------- 10 | Assemble using MASM, and copy the object files into the zlib source 11 | directory, then run the appropriate makefile, as suggested below. You can 12 | donwload MASM from here: 13 | 14 | http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64 15 | 16 | You can also get objects files here: 17 | 18 | http://www.winimage.com/zLibDll/zlib124_masm_obj.zip 19 | 20 | Build instructions 21 | ------------------ 22 | * With Microsoft C and MASM: 23 | nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" 24 | 25 | * With Borland C and TASM: 26 | make -f win32/Makefile.bor LOCAL_ZLIB="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" OBJPA="+match686c.obj+match686.obj+inffas32.obj" 27 | 28 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/minizip/Makefile: -------------------------------------------------------------------------------- 1 | CC=cc 2 | CFLAGS=-O -I../.. 3 | 4 | UNZ_OBJS = miniunz.o unzip.o ioapi.o ../../libz.a 5 | ZIP_OBJS = minizip.o zip.o ioapi.o ../../libz.a 6 | 7 | .c.o: 8 | $(CC) -c $(CFLAGS) $*.c 9 | 10 | all: miniunz minizip 11 | 12 | miniunz: $(UNZ_OBJS) 13 | $(CC) $(CFLAGS) -o $@ $(UNZ_OBJS) 14 | 15 | minizip: $(ZIP_OBJS) 16 | $(CC) $(CFLAGS) -o $@ $(ZIP_OBJS) 17 | 18 | test: miniunz minizip 19 | ./minizip test readme.txt 20 | ./miniunz -l test.zip 21 | mv readme.txt readme.old 22 | ./miniunz test.zip 23 | 24 | clean: 25 | /bin/rm -f *.o *~ minizip miniunz 26 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/minizip/Makefile.am: -------------------------------------------------------------------------------- 1 | lib_LTLIBRARIES = libminizip.la 2 | 3 | if COND_DEMOS 4 | bin_PROGRAMS = miniunzip minizip 5 | endif 6 | 7 | zlib_top_srcdir = $(top_srcdir)/../.. 8 | zlib_top_builddir = $(top_builddir)/../.. 9 | 10 | AM_CPPFLAGS = -I$(zlib_top_srcdir) 11 | AM_LDFLAGS = -L$(zlib_top_builddir) 12 | 13 | if WIN32 14 | iowin32_src = iowin32.c 15 | iowin32_h = iowin32.h 16 | endif 17 | 18 | libminizip_la_SOURCES = \ 19 | ioapi.c \ 20 | mztools.c \ 21 | unzip.c \ 22 | zip.c \ 23 | ${iowin32_src} 24 | 25 | libminizip_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:0:0 -lz 26 | 27 | minizip_includedir = $(includedir)/minizip 28 | minizip_include_HEADERS = \ 29 | crypt.h \ 30 | ioapi.h \ 31 | mztools.h \ 32 | unzip.h \ 33 | zip.h \ 34 | ${iowin32_h} 35 | 36 | pkgconfigdir = $(libdir)/pkgconfig 37 | pkgconfig_DATA = minizip.pc 38 | 39 | EXTRA_PROGRAMS = miniunzip minizip 40 | 41 | miniunzip_SOURCES = miniunz.c 42 | miniunzip_LDADD = libminizip.la 43 | 44 | minizip_SOURCES = minizip.c 45 | minizip_LDADD = libminizip.la -lz 46 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/minizip/MiniZip64_Changes.txt: -------------------------------------------------------------------------------- 1 | 2 | MiniZip 1.1 was derrived from MiniZip at version 1.01f 3 | 4 | Change in 1.0 (Okt 2009) 5 | - **TODO - Add history** 6 | 7 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/minizip/configure.ac: -------------------------------------------------------------------------------- 1 | # -*- Autoconf -*- 2 | # Process this file with autoconf to produce a configure script. 3 | 4 | AC_INIT([minizip], [1.2.11], [bugzilla.redhat.com]) 5 | AC_CONFIG_SRCDIR([minizip.c]) 6 | AM_INIT_AUTOMAKE([foreign]) 7 | LT_INIT 8 | 9 | AC_MSG_CHECKING([whether to build example programs]) 10 | AC_ARG_ENABLE([demos], AC_HELP_STRING([--enable-demos], [build example programs])) 11 | AM_CONDITIONAL([COND_DEMOS], [test "$enable_demos" = yes]) 12 | if test "$enable_demos" = yes 13 | then 14 | AC_MSG_RESULT([yes]) 15 | else 16 | AC_MSG_RESULT([no]) 17 | fi 18 | 19 | case "${host}" in 20 | *-mingw* | mingw*) 21 | WIN32="yes" 22 | ;; 23 | *) 24 | ;; 25 | esac 26 | AM_CONDITIONAL([WIN32], [test "${WIN32}" = "yes"]) 27 | 28 | 29 | AC_SUBST([HAVE_UNISTD_H], [0]) 30 | AC_CHECK_HEADER([unistd.h], [HAVE_UNISTD_H=1], []) 31 | AC_CONFIG_FILES([Makefile minizip.pc]) 32 | AC_OUTPUT 33 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/minizip/iowin32.h: -------------------------------------------------------------------------------- 1 | /* iowin32.h -- IO base function header for compress/uncompress .zip 2 | Version 1.1, February 14h, 2010 3 | part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) 4 | 5 | Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) 6 | 7 | Modifications for Zip64 support 8 | Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) 9 | 10 | For more info read MiniZip_info.txt 11 | 12 | */ 13 | 14 | #include 15 | 16 | 17 | #ifdef __cplusplus 18 | extern "C" { 19 | #endif 20 | 21 | void fill_win32_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def)); 22 | void fill_win32_filefunc64 OF((zlib_filefunc64_def* pzlib_filefunc_def)); 23 | void fill_win32_filefunc64A OF((zlib_filefunc64_def* pzlib_filefunc_def)); 24 | void fill_win32_filefunc64W OF((zlib_filefunc64_def* pzlib_filefunc_def)); 25 | 26 | #ifdef __cplusplus 27 | } 28 | #endif 29 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/minizip/make_vms.com: -------------------------------------------------------------------------------- 1 | $ if f$search("ioapi.h_orig") .eqs. "" then copy ioapi.h ioapi.h_orig 2 | $ open/write zdef vmsdefs.h 3 | $ copy sys$input: zdef 4 | $ deck 5 | #define unix 6 | #define fill_zlib_filefunc64_32_def_from_filefunc32 fillzffunc64from 7 | #define Write_Zip64EndOfCentralDirectoryLocator Write_Zip64EoDLocator 8 | #define Write_Zip64EndOfCentralDirectoryRecord Write_Zip64EoDRecord 9 | #define Write_EndOfCentralDirectoryRecord Write_EoDRecord 10 | $ eod 11 | $ close zdef 12 | $ copy vmsdefs.h,ioapi.h_orig ioapi.h 13 | $ cc/include=[--]/prefix=all ioapi.c 14 | $ cc/include=[--]/prefix=all miniunz.c 15 | $ cc/include=[--]/prefix=all unzip.c 16 | $ cc/include=[--]/prefix=all minizip.c 17 | $ cc/include=[--]/prefix=all zip.c 18 | $ link miniunz,unzip,ioapi,[--]libz.olb/lib 19 | $ link minizip,zip,ioapi,[--]libz.olb/lib 20 | $ mcr []minizip test minizip_info.txt 21 | $ mcr []miniunz -l test.zip 22 | $ rename minizip_info.txt; minizip_info.txt_old 23 | $ mcr []miniunz test.zip 24 | $ delete test.zip;* 25 | $exit 26 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/minizip/minizip.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@/minizip 5 | 6 | Name: minizip 7 | Description: Minizip zip file manipulation library 8 | Requires: 9 | Version: @PACKAGE_VERSION@ 10 | Libs: -L${libdir} -lminizip 11 | Libs.private: -lz 12 | Cflags: -I${includedir} 13 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/minizip/mztools.h: -------------------------------------------------------------------------------- 1 | /* 2 | Additional tools for Minizip 3 | Code: Xavier Roche '2004 4 | License: Same as ZLIB (www.gzip.org) 5 | */ 6 | 7 | #ifndef _zip_tools_H 8 | #define _zip_tools_H 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | #ifndef _ZLIB_H 15 | #include "zlib.h" 16 | #endif 17 | 18 | #include "unzip.h" 19 | 20 | /* Repair a ZIP file (missing central directory) 21 | file: file to recover 22 | fileOut: output file after recovery 23 | fileOutTmp: temporary file name used for recovery 24 | */ 25 | extern int ZEXPORT unzRepair(const char* file, 26 | const char* fileOut, 27 | const char* fileOutTmp, 28 | uLong* nRecovered, 29 | uLong* bytesRecovered); 30 | 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/puff/zeros.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/zlib/contrib/puff/zeros.raw -------------------------------------------------------------------------------- /8.x/zlib/contrib/testzlib/testzlib.txt: -------------------------------------------------------------------------------- 1 | To build testzLib with Visual Studio 2005: 2 | 3 | copy to a directory file from : 4 | - root of zLib tree 5 | - contrib/testzlib 6 | - contrib/masmx86 7 | - contrib/masmx64 8 | - contrib/vstudio/vc7 9 | 10 | and open testzlib8.sln -------------------------------------------------------------------------------- /8.x/zlib/contrib/untgz/Makefile: -------------------------------------------------------------------------------- 1 | CC=cc 2 | CFLAGS=-g 3 | 4 | untgz: untgz.o ../../libz.a 5 | $(CC) $(CFLAGS) -o untgz untgz.o -L../.. -lz 6 | 7 | untgz.o: untgz.c ../../zlib.h 8 | $(CC) $(CFLAGS) -c -I../.. untgz.c 9 | 10 | ../../libz.a: 11 | cd ../..; ./configure; make 12 | 13 | clean: 14 | rm -f untgz untgz.o *~ 15 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/untgz/Makefile.msc: -------------------------------------------------------------------------------- 1 | CC=cl 2 | CFLAGS=-MD 3 | 4 | untgz.exe: untgz.obj ..\..\zlib.lib 5 | $(CC) $(CFLAGS) untgz.obj ..\..\zlib.lib 6 | 7 | untgz.obj: untgz.c ..\..\zlib.h 8 | $(CC) $(CFLAGS) -c -I..\.. untgz.c 9 | 10 | ..\..\zlib.lib: 11 | cd ..\.. 12 | $(MAKE) -f win32\makefile.msc 13 | cd contrib\untgz 14 | 15 | clean: 16 | -del untgz.obj 17 | -del untgz.exe 18 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {048af943-022b-4db6-beeb-a54c34774ee2} 6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm 7 | 8 | 9 | {c1d600d2-888f-4aea-b73e-8b0dd9befa0c} 10 | h;hpp;hxx;hm;inl;inc 11 | 12 | 13 | {0844199a-966b-4f19-81db-1e0125e141b9} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/vstudio/vc10/minizip.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {c0419b40-bf50-40da-b153-ff74215b79de} 6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm 7 | 8 | 9 | {bb87b070-735b-478e-92ce-7383abb2f36c} 10 | h;hpp;hxx;hm;inl;inc 11 | 12 | 13 | {f46ab6a6-548f-43cb-ae96-681abb5bd5db} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {fa61a89f-93fc-4c89-b29e-36224b7592f4} 6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm 7 | 8 | 9 | {d4b85da0-2ba2-4934-b57f-e2584e3848ee} 10 | h;hpp;hxx;hm;inl;inc 11 | 12 | 13 | {e573e075-00bd-4a7d-bd67-a8cc9bfc5aca} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/vstudio/vc10/zlib.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define IDR_VERSION1 1 4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 5 | FILEVERSION 1, 2, 11, 0 6 | PRODUCTVERSION 1, 2, 11, 0 7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 8 | FILEFLAGS 0 9 | FILEOS VOS_DOS_WINDOWS32 10 | FILETYPE VFT_DLL 11 | FILESUBTYPE 0 // not used 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | //language ID = U.S. English, char set = Windows, Multilingual 17 | 18 | BEGIN 19 | VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" 20 | VALUE "FileVersion", "1.2.11\0" 21 | VALUE "InternalName", "zlib\0" 22 | VALUE "OriginalFilename", "zlibwapi.dll\0" 23 | VALUE "ProductName", "ZLib.DLL\0" 24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" 25 | VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x0409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/vstudio/vc11/zlib.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define IDR_VERSION1 1 4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 5 | FILEVERSION 1, 2, 11, 0 6 | PRODUCTVERSION 1, 2, 11, 0 7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 8 | FILEFLAGS 0 9 | FILEOS VOS_DOS_WINDOWS32 10 | FILETYPE VFT_DLL 11 | FILESUBTYPE 0 // not used 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | //language ID = U.S. English, char set = Windows, Multilingual 17 | 18 | BEGIN 19 | VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" 20 | VALUE "FileVersion", "1.2.11\0" 21 | VALUE "InternalName", "zlib\0" 22 | VALUE "OriginalFilename", "zlibwapi.dll\0" 23 | VALUE "ProductName", "ZLib.DLL\0" 24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" 25 | VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x0409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/vstudio/vc12/zlib.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define IDR_VERSION1 1 4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 5 | FILEVERSION 1, 2, 11, 0 6 | PRODUCTVERSION 1, 2, 11, 0 7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 8 | FILEFLAGS 0 9 | FILEOS VOS_DOS_WINDOWS32 10 | FILETYPE VFT_DLL 11 | FILESUBTYPE 0 // not used 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | //language ID = U.S. English, char set = Windows, Multilingual 17 | 18 | BEGIN 19 | VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" 20 | VALUE "FileVersion", "1.2.11\0" 21 | VALUE "InternalName", "zlib\0" 22 | VALUE "OriginalFilename", "zlibwapi.dll\0" 23 | VALUE "ProductName", "ZLib.DLL\0" 24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" 25 | VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x0409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/vstudio/vc14/zlib.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define IDR_VERSION1 1 4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 5 | FILEVERSION 1, 2, 11, 0 6 | PRODUCTVERSION 1, 2, 11, 0 7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 8 | FILEFLAGS 0 9 | FILEOS VOS_DOS_WINDOWS32 10 | FILETYPE VFT_DLL 11 | FILESUBTYPE 0 // not used 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | //language ID = U.S. English, char set = Windows, Multilingual 17 | 18 | BEGIN 19 | VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" 20 | VALUE "FileVersion", "1.2.11\0" 21 | VALUE "InternalName", "zlib\0" 22 | VALUE "OriginalFilename", "zlibwapi.dll\0" 23 | VALUE "ProductName", "ZLib.DLL\0" 24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" 25 | VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x0409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /8.x/zlib/contrib/vstudio/vc9/zlib.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define IDR_VERSION1 1 4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 5 | FILEVERSION 1, 2, 11, 0 6 | PRODUCTVERSION 1, 2, 11, 0 7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 8 | FILEFLAGS 0 9 | FILEOS VOS_DOS_WINDOWS32 10 | FILETYPE VFT_DLL 11 | FILESUBTYPE 0 // not used 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | //language ID = U.S. English, char set = Windows, Multilingual 17 | 18 | BEGIN 19 | VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" 20 | VALUE "FileVersion", "1.2.11\0" 21 | VALUE "InternalName", "zlib\0" 22 | VALUE "OriginalFilename", "zlibwapi.dll\0" 23 | VALUE "ProductName", "ZLib.DLL\0" 24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" 25 | VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x0409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /8.x/zlib/gzclose.c: -------------------------------------------------------------------------------- 1 | /* gzclose.c -- zlib gzclose() function 2 | * Copyright (C) 2004, 2010 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | #include "gzguts.h" 7 | 8 | /* gzclose() is in a separate file so that it is linked in only if it is used. 9 | That way the other gzclose functions can be used instead to avoid linking in 10 | unneeded compression or decompression routines. */ 11 | int ZEXPORT gzclose(file) 12 | gzFile file; 13 | { 14 | #ifndef NO_GZCOMPRESS 15 | gz_statep state; 16 | 17 | if (file == NULL) 18 | return Z_STREAM_ERROR; 19 | state = (gz_statep)file; 20 | 21 | return state->mode == GZ_READ ? gzclose_r(file) : gzclose_w(file); 22 | #else 23 | return gzclose_r(file); 24 | #endif 25 | } 26 | -------------------------------------------------------------------------------- /8.x/zlib/inffast.h: -------------------------------------------------------------------------------- 1 | /* inffast.h -- header to use inffast.c 2 | * Copyright (C) 1995-2003, 2010 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start)); 12 | -------------------------------------------------------------------------------- /8.x/zlib/nintendods/README: -------------------------------------------------------------------------------- 1 | This Makefile requires devkitARM (http://www.devkitpro.org/category/devkitarm/) and works inside "contrib/nds". It is based on a devkitARM template. 2 | 3 | Eduardo Costa 4 | January 3, 2009 5 | 6 | -------------------------------------------------------------------------------- /8.x/zlib/old/README: -------------------------------------------------------------------------------- 1 | This directory contains files that have not been updated for zlib 1.2.x 2 | 3 | (Volunteers are encouraged to help clean this up. Thanks.) 4 | -------------------------------------------------------------------------------- /8.x/zlib/old/os2/zlib.def: -------------------------------------------------------------------------------- 1 | ; 2 | ; Slightly modified version of ../nt/zlib.dnt :-) 3 | ; 4 | 5 | LIBRARY Z 6 | DESCRIPTION "Zlib compression library for OS/2" 7 | CODE PRELOAD MOVEABLE DISCARDABLE 8 | DATA PRELOAD MOVEABLE MULTIPLE 9 | 10 | EXPORTS 11 | adler32 12 | compress 13 | crc32 14 | deflate 15 | deflateCopy 16 | deflateEnd 17 | deflateInit2_ 18 | deflateInit_ 19 | deflateParams 20 | deflateReset 21 | deflateSetDictionary 22 | gzclose 23 | gzdopen 24 | gzerror 25 | gzflush 26 | gzopen 27 | gzread 28 | gzwrite 29 | inflate 30 | inflateEnd 31 | inflateInit2_ 32 | inflateInit_ 33 | inflateReset 34 | inflateSetDictionary 35 | inflateSync 36 | uncompress 37 | zlibVersion 38 | gzprintf 39 | gzputc 40 | gzgetc 41 | gzseek 42 | gzrewind 43 | gztell 44 | gzeof 45 | gzsetparams 46 | zError 47 | inflateSyncPoint 48 | get_crc_table 49 | compress2 50 | gzputs 51 | gzgets 52 | -------------------------------------------------------------------------------- /8.x/zlib/win32/VisualC.txt: -------------------------------------------------------------------------------- 1 | 2 | To build zlib using the Microsoft Visual C++ environment, 3 | use the appropriate project from the contrib/vstudio/ directory. 4 | -------------------------------------------------------------------------------- /8.x/zlib/win32/zlib1.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../zlib.h" 3 | 4 | #ifdef GCC_WINDRES 5 | VS_VERSION_INFO VERSIONINFO 6 | #else 7 | VS_VERSION_INFO VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 8 | #endif 9 | FILEVERSION ZLIB_VER_MAJOR,ZLIB_VER_MINOR,ZLIB_VER_REVISION,0 10 | PRODUCTVERSION ZLIB_VER_MAJOR,ZLIB_VER_MINOR,ZLIB_VER_REVISION,0 11 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 12 | #ifdef _DEBUG 13 | FILEFLAGS 1 14 | #else 15 | FILEFLAGS 0 16 | #endif 17 | FILEOS VOS__WINDOWS32 18 | FILETYPE VFT_DLL 19 | FILESUBTYPE 0 // not used 20 | BEGIN 21 | BLOCK "StringFileInfo" 22 | BEGIN 23 | BLOCK "040904E4" 24 | //language ID = U.S. English, char set = Windows, Multilingual 25 | BEGIN 26 | VALUE "FileDescription", "zlib data compression library\0" 27 | VALUE "FileVersion", ZLIB_VERSION "\0" 28 | VALUE "InternalName", "zlib1.dll\0" 29 | VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0" 30 | VALUE "OriginalFilename", "zlib1.dll\0" 31 | VALUE "ProductName", "zlib\0" 32 | VALUE "ProductVersion", ZLIB_VERSION "\0" 33 | VALUE "Comments", "For more information visit http://www.zlib.net/\0" 34 | END 35 | END 36 | BLOCK "VarFileInfo" 37 | BEGIN 38 | VALUE "Translation", 0x0409, 1252 39 | END 40 | END 41 | -------------------------------------------------------------------------------- /8.x/zlib/zlib.3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/8.x/zlib/zlib.3.pdf -------------------------------------------------------------------------------- /8.x/zlib/zlib.pc.cmakein: -------------------------------------------------------------------------------- 1 | prefix=@CMAKE_INSTALL_PREFIX@ 2 | exec_prefix=@CMAKE_INSTALL_PREFIX@ 3 | libdir=@INSTALL_LIB_DIR@ 4 | sharedlibdir=@INSTALL_LIB_DIR@ 5 | includedir=@INSTALL_INC_DIR@ 6 | 7 | Name: zlib 8 | Description: zlib compression library 9 | Version: @VERSION@ 10 | 11 | Requires: 12 | Libs: -L${libdir} -L${sharedlibdir} -lz 13 | Cflags: -I${includedir} 14 | -------------------------------------------------------------------------------- /8.x/zlib/zlib.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | sharedlibdir=@sharedlibdir@ 5 | includedir=@includedir@ 6 | 7 | Name: zlib 8 | Description: zlib compression library 9 | Version: @VERSION@ 10 | 11 | Requires: 12 | Libs: -L${libdir} -L${sharedlibdir} -lz 13 | Cflags: -I${includedir} 14 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # Initial setup of kitgen for building tclkit. 2 | # 3 | # usage: make tars 4 | # make largs 5 | # 6 | # Once setup, read the notes and use config.sh to adjust your build. 7 | 8 | URL = http://prdownloads.sourceforge.net/tcl 9 | 10 | unspecified-target: 11 | 12 | tars: 13 | [ -d 8.5 ] || mkdir 8.5 14 | [ -f tcl8.5.8-src.tar.gz ] || wget -q $(URL)/tcl8.5.8-src.tar.gz 15 | tar -C 8.5 -xzf tcl8.5.8-src.tar.gz 16 | [ -f tk8.5.8-src.tar.gz ] || wget -q $(URL)/tk8.5.8-src.tar.gz 17 | tar -C 8.5 -xzf tk8.5.8-src.tar.gz 18 | ln -sf tcl8.5.8 8.5/tcl 19 | ln -sf tk8.5.8 8.5/tk 20 | 21 | configs: 22 | sh config.sh 8.4/base-std 23 | sh config.sh 8.4/kit-small cli dyn 24 | sh config.sh 8.5/base-std thread 25 | sh config.sh 8.5/kit-large aqua univ thread allenc allmsgs tzdata 26 | 27 | small: configs 28 | cd 8.4/kit-small && $(MAKE) && $(MAKE) clean 29 | 30 | large: configs 31 | cd 8.5/kit-large && $(MAKE) && $(MAKE) clean 32 | 33 | base tidy: 34 | for i in 8*/base-*/Makefile; do (cd `dirname $$i`; $(MAKE) $@); done 35 | all clean distclean tclkit-cli tclkit-dyn tclkit-gui: 36 | for i in 8*/kit-*/Makefile; do (cd `dirname $$i`; $(MAKE) $@); done 37 | 38 | .PHONY: all base tidy clean distclean small large tars configs 39 | -------------------------------------------------------------------------------- /README.swisskit: -------------------------------------------------------------------------------- 1 | Swisskit 2 | ======== 3 | 4 | [Swisskit][1] is an elaborate build of [Tclkit Lite][2] for Mac OS X. 5 | It was built with the new [Kitgen][3] configuration system. 6 | 7 | Swisskit ... 8 | 9 | * ... is based on the latest Tcl/Tk 8.5a6 sources from CVS 10 | * ... is a universal threaded build for any PowerPC or Intel 10.4-based Mac 11 | * ... can bring up an X11-based Tk if the "DISPLAY" environment var is set 12 | * ... will use the Tk Aqua shared library instead if "DISPLAY" is not set 13 | * ... includes all available encodings, message catalogs, and timezone files 14 | * ... has Tile and the Thread + Ttrace packages, as well as TclVFS and Vlerq 15 | 16 | In other words: Swisskit can be the Swiss Army Knife for Tcl/Tk on the Mac. 17 | 18 | 19 | News 20 | ---- 21 | 22 | * 2006-11-19 : first release, a 3.7 Mb [download][4] as ZIP archive 23 | 24 | 25 | Acknowledgements 26 | ---------------- 27 | 28 | Swisskit is a tribute to Daniel Steffen, who has contiously improved the Tcl/Tk 29 | system for Macintosh, and who has made it possible to load either the Aqua or 30 | the X11 version of Tk from the same single-file standalone executable. 31 | 32 | [1]: http://www.equi4.com/swisskit.html 33 | [2]: http://www.equi4.com/tclkitlite.html 34 | [3]: http://www.equi4.com/kitgen.html 35 | [4]: http://www.equi4.com/pub/tk/swisskit.zip 36 | -------------------------------------------------------------------------------- /extdefs/Img.kbs: -------------------------------------------------------------------------------- 1 | #Version 1.3 2 | Version 1.2.6 3 | 4 | #Sources svn https://tkimg.svn.sourceforge.net/svnroot/tkimg/trunk 5 | Sources cvs tkimg.cvs.sourceforge.net:/cvsroot/tkimg 6 | 7 | Build { 8 | Run sh [Srcdir]/configure --with-tcl=[Libdir] --with-tk=[Libdir] 9 | Run make install 10 | foreach f [glob ../lib/Img1*/*[info sharedlibext]] { 11 | Run strip -x $f 12 | } 13 | } 14 | 15 | Result [Unglob ../lib/Img1*] -------------------------------------------------------------------------------- /extdefs/Itcl.kbs: -------------------------------------------------------------------------------- 1 | Version 3.3 2 | 3 | Sources cvs incrtcl.cvs.sourceforge.net:/cvsroot/incrtcl incrTcl 4 | 5 | Build { 6 | Run sh [Srcdir]/itcl/configure --with-tcl=[Libdir] 7 | Run make binaries ITCL_LIBRARY= 8 | Run make install-binaries install-libraries 9 | Run strip -x [Unglob ../lib/itcl3*/libitcl3*] 10 | } 11 | 12 | Result [Unglob ../lib/itcl3*] -------------------------------------------------------------------------------- /extdefs/Itk.kbs: -------------------------------------------------------------------------------- 1 | Version 3.3 2 | 3 | Requires Itcl 4 | 5 | Sources symlink [Srcdir]/../Itcl-[Version] 6 | 7 | Build { 8 | Run sh [Srcdir]/itk/configure \ 9 | --with-tcl=[Libdir] --with-itcl=[Libdir] --with-tk=[Libdir] 10 | Run make binaries ITCL_LIBRARY= 11 | Run make install-binaries 12 | Run strip -x [Unglob ../lib/itk3*/libitk3*] 13 | } 14 | 15 | Result [Unglob ../lib/itk3*] 16 | -------------------------------------------------------------------------------- /extdefs/Iwidgets.kbs: -------------------------------------------------------------------------------- 1 | Version 4.0.2 2 | 3 | Requires Itk 4 | 5 | Sources cvs incrtcl.cvs.sourceforge.net:/cvsroot/incrtcl iwidgets 6 | 7 | Build { 8 | Run sh [Srcdir]/configure \ 9 | --with-tcl=[Libdir] --with-itcl=[Srcdir]/../Itcl-3.3 --with-tk=[Libdir] 10 | Run make install-libraries 11 | } 12 | 13 | Result [Unglob ../lib/iwidgets4*] -------------------------------------------------------------------------------- /extdefs/Memchan.kbs: -------------------------------------------------------------------------------- 1 | Version 2.2.1 2 | 3 | Sources cvs memchan.cvs.sourceforge.net:/cvsroot/memchan 4 | 5 | Build { 6 | Run sh [Srcdir]/configure --with-tcl=[Libdir] 7 | Run make install-binaries 8 | Run strip -x [Unglob ../lib/Memchan2*/libMemchan2*] 9 | } 10 | 11 | Result [Unglob ../lib/Memchan2*] 12 | -------------------------------------------------------------------------------- /extdefs/Mk4tcl.kbs: -------------------------------------------------------------------------------- 1 | Version 2.4.9.7 2 | 3 | Sources fetch http://www.equi4.com/pub/mk/metakit-2.4.9.7.tar.gz 4 | 5 | Build { 6 | Run sh [Srcdir]/unix/configure --with-tcl=[Incdir] 7 | Run make tcl 8 | Run strip -x Mk4tcl[info sharedlibext] 9 | 10 | file delete -force out 11 | file mkdir out 12 | file copy Mk4tcl[info sharedlibext] out/libmk4tcl[info sharedlibext] 13 | 14 | set fd [open out/pkgIndex.tcl w] 15 | puts $fd "package ifneeded Mk4tcl [Version] \\" 16 | puts $fd { [list load [file join $dir libmk4tcl[info sharedlibext]] Mk4tcl]} 17 | close $fd 18 | } 19 | 20 | Result out 21 | -------------------------------------------------------------------------------- /extdefs/Tclx.kbs: -------------------------------------------------------------------------------- 1 | Version 8.4 2 | 3 | Sources cvs tclx.cvs.sourceforge.net:/cvsroot/tclx 4 | 5 | Build { 6 | Run sh [Srcdir]/configure --with-tcl=[Libdir] 7 | Run make install-binaries 8 | Run strip -x [Unglob ../lib/tclx8*/libtclx8*] 9 | } 10 | 11 | Result [Unglob ../lib/tclx8*] -------------------------------------------------------------------------------- /extdefs/Tkhtml.kbs: -------------------------------------------------------------------------------- 1 | Version 3.0 2 | 3 | Sources fetch http://tkhtml.tcl.tk/tkhtml3-alpha-14.tar.gz 4 | 5 | Build { 6 | Run sh [Srcdir]/configure --with-tcl=[Libdir] --with-tk=[Libdir] 7 | Run make install 8 | Run strip -x [Unglob ../lib/Tkhtml3*/libTkhtml3*] 9 | } 10 | 11 | Result [Unglob ../lib/Tkhtml3*] -------------------------------------------------------------------------------- /extdefs/Tktable.kbs: -------------------------------------------------------------------------------- 1 | Version 2.9 2 | 3 | Sources cvs tktable.cvs.sourceforge.net:/cvsroot/tktable 4 | 5 | Build { 6 | Run sh [Srcdir]/configure --with-tcl=[Libdir] --with-tk=[Libdir] 7 | Run make install-binaries 8 | Run strip -x [Unglob ../lib/Tktable2*/libTktable2*] 9 | } 10 | 11 | Result [Unglob ../lib/Tktable2*] -------------------------------------------------------------------------------- /extdefs/XOTcl.kbs: -------------------------------------------------------------------------------- 1 | Version 1.5.3 2 | 3 | Sources fetch http://media.wu-wien.ac.at/download/xotcl-1.5.3.tar.gz 4 | 5 | Build { 6 | Run sh [Srcdir]/configure --with-tcl=[Libdir] 7 | Run make install-binaries install-libraries 8 | Run strip -x [Unglob ../lib/xotcl1*/libxotcl1*] 9 | } 10 | 11 | Result [Unglob ../lib/xotcl1*] -------------------------------------------------------------------------------- /extdefs/mentry.kbs: -------------------------------------------------------------------------------- 1 | Version 3.1 2 | 3 | Sources fetch http://www.nemethi.de/mentry/mentry3.1.tar.gz 4 | 5 | Result [Srcdir] -------------------------------------------------------------------------------- /extdefs/ral.kbs: -------------------------------------------------------------------------------- 1 | Version 0.8.4 2 | 3 | Sources cvs tclral.cvs.sourceforge.net:/cvsroot/tclral . 4 | #Sources fetch \ 5 | # http://mesh.dl.sourceforge.net/sourceforge/tclral/tclral-0.8.4.tar.gz 6 | 7 | Build { 8 | Run sh [Srcdir]/configure --with-tcl=[Libdir] 9 | Run make install-binaries 10 | Run strip -x [Unglob ../lib/ral0*/libral0*] 11 | } 12 | 13 | Result [Unglob ../lib/ral0*] 14 | -------------------------------------------------------------------------------- /extdefs/snack.kbs: -------------------------------------------------------------------------------- 1 | Version 2.2.10 2 | 3 | Sources fetch http://www.speech.kth.se/snack/dist/snack2.2.10.tar.gz 4 | 5 | Build { 6 | if {![file exists [Libdir]/tclConfig.orig]} { 7 | file copy [Libdir]/tclConfig.sh [Libdir]/tclConfig.orig 8 | set f [open [Libdir]/tclConfig.sh r]; set d [read $f] ; close $f 9 | set d [string map [list "TCL_SHARED_BUILD=0" "TCL_SHARED_BUILD=1"] $d] 10 | set f [open [Libdir]/tclConfig.sh w]; puts -nonewline $f $d; close $f 11 | } 12 | Run sh [Srcdir]/unix/configure \ 13 | --with-tcl=[Libdir] --with-tk=[Libdir] --libdir=[Libdir] 14 | Run make 15 | Run make install 16 | Run strip -x [Unglob ../lib/snack2*/libsnack*] 17 | Run strip -x [Unglob ../lib/snack2*/libsound*] 18 | } 19 | 20 | Result [Unglob ../lib/snack2*] 21 | -------------------------------------------------------------------------------- /extdefs/sqlite3.kbs: -------------------------------------------------------------------------------- 1 | Version 3.4.0 2 | 3 | Sources fetch http://www.sqlite.org/sqlite-3_4_0-tea.tar.gz 4 | 5 | Build { 6 | Run sh [Srcdir]/configure --with-tcl=[Libdir] 7 | Run make install-binaries 8 | Run strip -x [Unglob ../lib/sqlite3*/libsqlite3*] 9 | } 10 | 11 | Result [Unglob ../lib/sqlite3*] 12 | -------------------------------------------------------------------------------- /extdefs/tablelist.kbs: -------------------------------------------------------------------------------- 1 | Version 4.6 2 | 3 | Sources fetch http://www.nemethi.de/tablelist/tablelist4.6.tar.gz 4 | 5 | Result [Srcdir] -------------------------------------------------------------------------------- /extdefs/tcllib.kbs: -------------------------------------------------------------------------------- 1 | Version 1.9 2 | 3 | Sources cvs tcllib.cvs.sourceforge.net:/cvsroot/tcllib 4 | 5 | Build { 6 | Run sh [Srcdir]/configure --prefix=[Destdir] 7 | Run make install-libraries 8 | } 9 | 10 | Result [Unglob ../lib/tcllib1*] -------------------------------------------------------------------------------- /extdefs/tdom.kbs: -------------------------------------------------------------------------------- 1 | Version 0.8.1 2 | 3 | Sources cvs cvs.tdom.org:/usr/local/pubcvs tdom 4 | 5 | Build { 6 | Run sh [Srcdir]/configure --with-tcl=[Libdir] 7 | Run make install-binaries 8 | Run strip -x [Unglob ../lib/tdom0*/libtdom0*] 9 | } 10 | 11 | Result [Unglob ../lib/tdom0*] -------------------------------------------------------------------------------- /extdefs/thread.kbs: -------------------------------------------------------------------------------- 1 | Version 2.6.5 2 | 3 | Sources cvs tcl.cvs.sourceforge.net:/cvsroot/tcl thread 4 | 5 | Build { 6 | Run sh [Srcdir]/configure --with-tcl=[Libdir] 7 | Run make install-binaries 8 | Run strip -x [Unglob ../lib/thread2*/libthread2*] 9 | } 10 | 11 | Result [Unglob ../lib/thread2*] -------------------------------------------------------------------------------- /extdefs/tklib.kbs: -------------------------------------------------------------------------------- 1 | Version 0.4 2 | 3 | Sources cvs tcllib.cvs.sourceforge.net:/cvsroot/tcllib tklib 4 | 5 | Build { 6 | Run sh [Srcdir]/configure --prefix=[Destdir] 7 | Run make install-libraries 8 | } 9 | 10 | Result [Unglob ../lib/tklib0*] -------------------------------------------------------------------------------- /extdefs/tls.kbs: -------------------------------------------------------------------------------- 1 | Version 1.6 2 | 3 | Sources cvs tls.cvs.sourceforge.net:/cvsroot/tls 4 | 5 | Build { 6 | Run sh [Srcdir]/configure --with-tcl=[Libdir] --with-ssl-dir=/usr 7 | Run make install-binaries 8 | Run strip -x [Unglob ../lib/tls1*/libtls1*] 9 | } 10 | 11 | Result [Unglob ../lib/tls1*] 12 | -------------------------------------------------------------------------------- /extdefs/trofs.kbs: -------------------------------------------------------------------------------- 1 | Version 0.4.3 2 | 3 | Sources fetch http://math.nist.gov/~DPorter/tcltk/trofs/trofs[Version].tar.gz 4 | 5 | package require Tcl 8.5 6 | 7 | Build { 8 | Run sh [Srcdir]/configure --with-tcl=[Libdir] 9 | Run make install-binaries 10 | Run strip -x [Unglob ../lib/trofs0*/libtrofs0*] 11 | } 12 | 13 | Result [Unglob ../lib/trofs0*] -------------------------------------------------------------------------------- /extdefs/udp.kbs: -------------------------------------------------------------------------------- 1 | Version 1.0.9 2 | 3 | Sources cvs tcludp.cvs.sourceforge.net:/cvsroot/tcludp 4 | 5 | Build { 6 | Run sh [Srcdir]/configure --with-tcl=[Libdir] 7 | Run make install-binaries 8 | Run strip -x [Unglob ../lib/udp1*/libudp1*] 9 | } 10 | 11 | Result [Unglob ../lib/udp1*] 12 | -------------------------------------------------------------------------------- /extdefs/vfs.kbs: -------------------------------------------------------------------------------- 1 | Version 1.3 2 | 3 | Sources cvs tclvfs.cvs.sourceforge.net:/cvsroot/tclvfs 4 | 5 | Build { 6 | Run sh [Srcdir]/configure --with-tcl=[Libdir] 7 | Run make install-binaries 8 | Run strip -x [Unglob ../lib/vfs1*/libvfs1*] 9 | } 10 | 11 | Result [Unglob ../lib/vfs1*] -------------------------------------------------------------------------------- /extdefs/vlerq.kbs: -------------------------------------------------------------------------------- 1 | Version 4.1 2 | 3 | Sources fetch http://www.equi4.com/pub/vq/vqtcl.tgz 4 | 5 | Build { 6 | Run sh [Srcdir]/configure --with-tcl=[Libdir] 7 | Run make install-binaries 8 | Run strip -x [Unglob ../lib/vqtcl4*/libvqtcl4*] 9 | } 10 | 11 | Result [Unglob ../lib/vqtcl4*] 12 | -------------------------------------------------------------------------------- /extdefs/wcb.kbs: -------------------------------------------------------------------------------- 1 | Version 3.1 2 | 3 | Sources fetch http://www.nemethi.de/wcb/wcb3.1.tar.gz 4 | 5 | Result [Srcdir] -------------------------------------------------------------------------------- /files/config.tcl: -------------------------------------------------------------------------------- 1 | set ::vfs::tclkit_version 200611.001 2 | -------------------------------------------------------------------------------- /files/tclkit-old.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/files/tclkit-old.ico -------------------------------------------------------------------------------- /files/tclkit.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patthoyts/kitgen/cc4b5d74b6f236dc72f126d30d32bf55e9e9875f/files/tclkit.ico -------------------------------------------------------------------------------- /files/tk8.4-pkgIndex.tcl: -------------------------------------------------------------------------------- 1 | package ifneeded Tk 8.4 \ 2 | [string map [list @@ [file join $dir .. libtk8.4[info sharedlibext]]] { 3 | if {[lsearch -exact [info loaded] {{} Tk}] >= 0} { 4 | load "" Tk 5 | } else { 6 | load @@ Tk 7 | } 8 | }] 9 | -------------------------------------------------------------------------------- /files/tk8.5-pkgIndex.tcl: -------------------------------------------------------------------------------- 1 | package ifneeded Tk 8.5.1 \ 2 | [string map [list @@ [file join $dir .. libtk8.5[info sharedlibext]]] { 3 | if {[lsearch -exact [info loaded] {{} Tk}] >= 0} { 4 | load "" Tk 5 | } else { 6 | load @@ Tk 7 | } 8 | }] 9 | -------------------------------------------------------------------------------- /files/vqtcl4.1-pkgIndex.tcl: -------------------------------------------------------------------------------- 1 | package ifneeded vlerq 4.1 {load "" vlerq} 2 | 3 | package ifneeded mklite 0.5 [list source [file join $dir mklite.tcl]] 4 | package ifneeded vfs::m2m 1.8 [list source [file join $dir m2mvfs.tcl]] 5 | package ifneeded vfs::mkcl 1.5 [list source [file join $dir mkclvfs.tcl]] 6 | -------------------------------------------------------------------------------- /genswiss.tcl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env tclkit 2 | 3 | # Generate swisskit from 8.5/kit-large and 8.5/kit-x11, created via: 4 | # 5 | # sh config.sh 8.5/kit-large aqua univ thread allenc allmsgs tzdata 6 | # sh config.sh 8.5/kit-x11 univ thread dyn 7 | # 8 | # The result is an 8.5-based threaded universal binary for Mac OS X with all 9 | # available encodings, message catalogs, and timezone datafiles included. 10 | # 11 | # This binary will launch Tk under X11 if $env(DISPLAY) is set, else Tk Aqua. 12 | # 13 | # jcw, 2006-11-19 14 | 15 | package require vfs::mk4 16 | 17 | file copy -force 8.5/kit-large/tclkit-dyn swisskit 18 | 19 | vfs::mk4::Mount 8.5/kit-x11/tclkit-dyn x11 -readonly 20 | vfs::mk4::Mount swisskit swisskit 21 | 22 | file copy x11/lib/libtk8.5.dylib swisskit/lib/libtk8.5-x11.dylib 23 | 24 | set fd [open swisskit/lib/tk8.5/pkgIndex.tcl w] 25 | 26 | puts $fd { 27 | package ifneeded Tk 8.5a6 \ 28 | [string map [list @A [file join $dir .. libtk8.5[info sharedlibext]] \ 29 | @X [file join $dir .. libtk8.5-x11[info sharedlibext]]] { 30 | if {[lsearch -exact [info loaded] {{} Tk}] >= 0} { 31 | load "" Tk 32 | } elseif {[info exists ::env(DISPLAY)]} { 33 | load @X Tk 34 | } else { 35 | load @A Tk 36 | } 37 | }] 38 | } 39 | 40 | close $fd 41 | 42 | vfs::unmount swisskit 43 | vfs::unmount x11 44 | -------------------------------------------------------------------------------- /pwb.c: -------------------------------------------------------------------------------- 1 | /* Written by Matt Newman and Jean-Claude Wippler, as part of Tclkit. 2 | * March 2003 - placed in the public domain by the authors. 3 | * 4 | * Expose TclSetLibraryPath to scripts (in 8.4 only, 8.5 has "encoding dirs"). 5 | */ 6 | 7 | #if 10 * TCL_MAJOR_VERSION + TCL_MINOR_VERSION < 85 8 | 9 | #include 10 | 11 | /* defined in tclInt.h */ 12 | extern Tcl_Obj* TclGetLibraryPath(); 13 | extern void TclSetLibraryPath (Tcl_Obj*); 14 | extern void TclpSetInitialEncodings (void); 15 | 16 | /* Support for encodings, from Vince Darley */ 17 | static int 18 | LibraryPathObjCmd( 19 | ClientData dummy, 20 | Tcl_Interp *interp, 21 | int objc, 22 | Tcl_Obj *CONST objv[]) 23 | { 24 | if (objc == 1) { 25 | Tcl_SetObjResult(interp, TclGetLibraryPath()); 26 | } else { 27 | Tcl_Obj *path=Tcl_DuplicateObj(objv[1]); 28 | TclSetLibraryPath(Tcl_NewListObj(1,&path)); 29 | TclpSetInitialEncodings(); 30 | Tcl_FindExecutable(Tcl_GetVar(interp, "argv0", TCL_GLOBAL_ONLY)); 31 | } 32 | return TCL_OK; 33 | } 34 | 35 | /* 36 | * Public Entrypoint 37 | */ 38 | 39 | DLLEXPORT int Pwb_Init(Tcl_Interp *interp) 40 | { 41 | Tcl_CreateObjCommand(interp, "librarypath", LibraryPathObjCmd, 0, 0); 42 | return Tcl_PkgProvide( interp, "pwb", "1.1"); 43 | } 44 | 45 | #endif 46 | --------------------------------------------------------------------------------