Index: xotcl/ChangeLog =================================================================== diff -u -r2139510e0635ca88521b99d7c9751c2c15b306b6 -rae1fe95f685e06aa89b09e196cf421ce9ded5891 --- xotcl/ChangeLog (.../ChangeLog) (revision 2139510e0635ca88521b99d7c9751c2c15b306b6) +++ xotcl/ChangeLog (.../ChangeLog) (revision ae1fe95f685e06aa89b09e196cf421ce9ded5891) @@ -1,6 +1,7 @@ 2004-08-22 Gustaf.Neumann@wu-wien.ac.at * fixed nonposargs, when used with checker procs and spaces in arguments * auto-generating docs in build tree (instead in source tree) + * fixed somewhat confusing declations in xotcl.h (XOTcl_Object and XOTclObject) 2004-08-19 Gustaf.Neumann@wu-wien.ac.at * if configure is run outside the src tree the directory Index: xotcl/Makefile =================================================================== diff -u -r464284f53643031115e4da0204025a733675ad60 -rae1fe95f685e06aa89b09e196cf421ce9ded5891 --- xotcl/Makefile (.../Makefile) (revision 464284f53643031115e4da0204025a733675ad60) +++ xotcl/Makefile (.../Makefile) (revision ae1fe95f685e06aa89b09e196cf421ce9ded5891) @@ -12,7 +12,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: Makefile,v 1.17 2004/08/19 09:57:50 neumann Exp $ +# RCS: @(#) $Id: Makefile,v 1.18 2004/08/22 10:00:19 neumann Exp $ #======================================================================== # Add additional lines to handle any additional AC_SUBST cases that @@ -28,6 +28,7 @@ src_app_dir = ${srcdir}/apps src_generic_dir = ${srcdir}/generic PLATFORM_DIR = $(srcdir)/unix +target_doc_dir = ./doc TCL_LIB_SPEC = -L/home/neumann/import/tcl8.4.7/unix -ltcl8.4 TK_LIB_SPEC = -L/usr/lib -ltk8.4 subdirs = library/store/XOTclSdbm/ library/store/XOTclGdbm/ library/xml/TclExpat-1.1/ @@ -220,10 +221,10 @@ fulldoc: doc pdf # use language reference as sample file to trigger generation of documentation files -doc: $(src_doc_dir)/langRef-xotcl.html +doc: $(target_doc_dir)/langRef-xotcl.html -$(src_doc_dir)/langRef-xotcl.html: $(src_doc_dir)/langRef.xotcl $(DOC_SOURCE) - @$(TCLSH_PROG) $(src_lib_dir)/lib/makeDoc.xotcl $(src_doc_dir) $(DOC_SOURCE) +$(target_doc_dir)/langRef-xotcl.html: $(src_doc_dir)/langRef.xotcl $(DOC_SOURCE) + @$(TCLSH_PROG) $(src_lib_dir)/lib/makeDoc.xotcl $(target_doc_dir) $(DOC_SOURCE) pdf: -(cd $(src_doc_dir); htmldoc --webpage --format pdf14 --title \ @@ -459,7 +460,8 @@ #======================================================================== clean: - -rm -rf $(BINARIES) $(CLEANFILES) xotclsh xowish pkgIndex.tcl ./receiver $(src_doc_dir)/*-xotcl.html + -rm -rf $(BINARIES) $(CLEANFILES) xotclsh xowish pkgIndex.tcl ./receiver \ + $(target_doc_dir)/*-xotcl.html find ${srcdir} -type f -name \*~ -exec rm \{} \; @if test ! "x$(subdirs)" = "x" ; then dirs="$(subdirs)" ; \ for dir in $$dirs ; do \ Index: xotcl/doc/index.html =================================================================== diff -u -r464284f53643031115e4da0204025a733675ad60 -rae1fe95f685e06aa89b09e196cf421ce9ded5891 --- xotcl/doc/index.html (.../index.html) (revision 464284f53643031115e4da0204025a733675ad60) +++ xotcl/doc/index.html (.../index.html) (revision ae1fe95f685e06aa89b09e196cf421ce9ded5891) @@ -22,7 +22,7 @@

Index: xotcl/doc/xo-daemon.html =================================================================== diff -u -r464284f53643031115e4da0204025a733675ad60 -rae1fe95f685e06aa89b09e196cf421ce9ded5891 --- xotcl/doc/xo-daemon.html (.../xo-daemon.html) (revision 464284f53643031115e4da0204025a733675ad60) +++ xotcl/doc/xo-daemon.html (.../xo-daemon.html) (revision ae1fe95f685e06aa89b09e196cf421ce9ded5891) @@ -2,22 +2,22 @@ - XOTcl - Documentation -- /home/neumann/xotcl-1.3.1/apps/utils/xo-daemon + XOTcl - Documentation -- ./apps/utils/xo-daemon

- /home/neumann/xotcl-1.3.1/apps/utils/xo-daemon - /home/neumann/xotcl-1.3.1/apps/utils/xo-daemon

+ ./apps/utils/xo-daemon + ./apps/utils/xo-daemon

Package/File Information

Package required: XOTcl

Filename: - - /home/neumann/xotcl-1.3.1/apps/utils/xo-daemon + + ./apps/utils/xo-daemon

@@ -75,7 +75,7 @@ Date: - [::xotcl::rcs date {$Date: 2004/08/19 09:57:50 $}] + [::xotcl::rcs date {$Date: 2004/08/22 10:00:19 $}] Index: xotcl/doc/xo-whichPkg.html =================================================================== diff -u -r464284f53643031115e4da0204025a733675ad60 -rae1fe95f685e06aa89b09e196cf421ce9ded5891 --- xotcl/doc/xo-whichPkg.html (.../xo-whichPkg.html) (revision 464284f53643031115e4da0204025a733675ad60) +++ xotcl/doc/xo-whichPkg.html (.../xo-whichPkg.html) (revision ae1fe95f685e06aa89b09e196cf421ce9ded5891) @@ -2,13 +2,13 @@ - XOTcl - Documentation -- /home/neumann/xotcl-1.3.1/apps/utils/xo-whichPkg + XOTcl - Documentation -- ./apps/utils/xo-whichPkg

- /home/neumann/xotcl-1.3.1/apps/utils/xo-whichPkg - /home/neumann/xotcl-1.3.1/apps/utils/xo-whichPkg

+ ./apps/utils/xo-whichPkg + ./apps/utils/xo-whichPkg

Package/File Information

@@ -18,8 +18,8 @@

Filename: - - /home/neumann/xotcl-1.3.1/apps/utils/xo-whichPkg + + ./apps/utils/xo-whichPkg

@@ -51,7 +51,7 @@ Date: - [::xotcl::rcs date {$Date: 2004/08/19 09:57:50 $}] + [::xotcl::rcs date {$Date: 2004/08/22 10:00:19 $}] Index: xotcl/generic/xotcl.c =================================================================== diff -u -r2139510e0635ca88521b99d7c9751c2c15b306b6 -rae1fe95f685e06aa89b09e196cf421ce9ded5891 --- xotcl/generic/xotcl.c (.../xotcl.c) (revision 2139510e0635ca88521b99d7c9751c2c15b306b6) +++ xotcl/generic/xotcl.c (.../xotcl.c) (revision ae1fe95f685e06aa89b09e196cf421ce9ded5891) @@ -1,4 +1,4 @@ -/* $Id: xotcl.c,v 1.23 2004/08/22 09:30:45 neumann Exp $ +/* $Id: xotcl.c,v 1.24 2004/08/22 10:00:19 neumann Exp $ * * XOTcl - Extended OTcl * @@ -106,11 +106,11 @@ Tcl_CallFrame *varFramePtr; } callFrameContext; typedef struct tclCmdClientData { - XOTcl_Object *obj; + XOTclObject *obj; Tcl_Obj *cmdName; } tclCmdClientData; typedef struct forwardCmdClientData { - XOTcl_Object *obj; + XOTclObject *obj; Tcl_Obj *cmdName; int nr_args; Tcl_Obj *args; @@ -3986,7 +3986,7 @@ /*fprintf(stderr,"calling oeval obj=%p %s\n", obj, ObjStr(obj->cmdName));*/ tclCmdClientData *tcd = (tclCmdClientData *)cp; - tcd->obj = (XOTcl_Object*)obj; + tcd->obj = obj; xotclCall = 1; } else if (Tcl_Command_objProc(cmd) == XOTclObjDispatch) xotclCall = 1; @@ -9180,7 +9180,7 @@ rc = forwardProcessOptions(in, objc, objv, &tcd); if (rc == TCL_OK) { - tcd->obj = (XOTcl_Object*)cl; + tcd->obj = &cl->object; XOTclAddIMethod(in, (XOTcl_Class*) cl, NSTail(ObjStr(objv[1])), (Tcl_ObjCmdProc*)XOTclForwardMethod, (ClientData)tcd, forwardCmdDeleteProc); @@ -9205,7 +9205,7 @@ rc = forwardProcessOptions(in, objc, objv, &tcd); if (rc == TCL_OK) { - tcd->obj = obj; + tcd->obj = (XOTclObject*)obj; XOTclAddPMethod(in, obj, NSTail(ObjStr(objv[1])), (Tcl_ObjCmdProc*)XOTclForwardMethod, (ClientData)tcd, forwardCmdDeleteProc); @@ -9795,7 +9795,7 @@ XOTclInterpretNonPositionalArgsCmd(ClientData cd, Tcl_Interp *in, int objc, Tcl_Obj *CONST objv[]) { Tcl_Obj **npav, **checkv, **checkArgv, **argsv, **nonPosArgsDefv, *invocation[4], - **ordinaryArgsDefv, *list, *checkObj, *objPtr; + **ordinaryArgsDefv, *list, *checkObj; int npac, checkc, checkArgc, argsc, nonPosArgsDefc, ordinaryArgsDefc, argsDefined = 0, ordinaryArgsCounter = 0, i, j, result, ic; @@ -9983,12 +9983,13 @@ int flgs) { Tcl_Obj *result; XOTcl_FrameDecls; - XOTcl_PushFrame(in, obj); - if (obj->nsPtr) + + XOTcl_PushFrame(in, (XOTclObject*)obj); + if (((XOTclObject*)obj)->nsPtr) flgs |= TCL_NAMESPACE_ONLY; result = Tcl_ObjGetVar2(in, name1, name2, flgs); - XOTcl_PopFrame(in, obj); + XOTcl_PopFrame(in, (XOTclObject*)obj); return result; } Index: xotcl/generic/xotcl.h =================================================================== diff -u -r638782f84b31e4ebfd00529381e280c70f9950bc -rae1fe95f685e06aa89b09e196cf421ce9ded5891 --- xotcl/generic/xotcl.h (.../xotcl.h) (revision 638782f84b31e4ebfd00529381e280c70f9950bc) +++ xotcl/generic/xotcl.h (.../xotcl.h) (revision ae1fe95f685e06aa89b09e196cf421ce9ded5891) @@ -1,6 +1,6 @@ /* -*- Mode: c++ -*- * - * $Id: xotcl.h,v 1.3 2004/08/17 10:12:55 neumann Exp $ + * $Id: xotcl.h,v 1.4 2004/08/22 10:00:19 neumann Exp $ * * Extended Object Tcl (XOTcl) * @@ -141,44 +141,29 @@ #endif */ -struct XOTclObject; -struct XOTclClass; +/* + * The structures XOTcl_Object and XOTcl_Class define mostly opaque + * data structures for the internal use strucures XOTclObject and + * XOTclClass (both defined in XOTclInt.h). Modification of elements + * visible elements must be mirrored in both incarnations. + */ + typedef struct XOTcl_Object { Tcl_Obj *cmdName; - Tcl_Command id; - Tcl_Interp *teardown; - struct XOTcl_Class *cl; - Tcl_HashTable *varTable; - Tcl_Namespace *nsPtr; } XOTcl_Object; typedef struct XOTcl_Class { struct XOTcl_Object object; } XOTcl_Class; + /* * Include the public function declarations that are accessible via * the stubs table. */ #include "xotclDecls.h" -#ifdef XOTCL_OBJECTDATA -extern int -XOTclUnsetInstVar(struct XOTclObject* obj, Tcl_Interp* in, - char* name, int flgs); -extern void -XOTclSetObjectData(struct XOTclObject* obj, struct XOTclClass* cl, - ClientData data); -extern int -XOTclGetObjectData(struct XOTclObject* obj, struct XOTclClass* cl, - ClientData* data); -extern int -XOTclUnsetObjectData(struct XOTclObject* obj, struct XOTclClass* cl); -extern void -XOTclFreeObjectData(XOTclClass* cl); -#endif - /* * Xotcl_InitStubs is used by extensions that can be linked * against the xotcl stubs library. If we are not using stubs @@ -191,8 +176,7 @@ extern "C" # endif CONST char * -Xotcl_InitStubs _ANSI_ARGS_((Tcl_Interp *interp, - char *version, int exact)); +Xotcl_InitStubs _ANSI_ARGS_((Tcl_Interp *interp, char *version, int exact)); #else # define Xotcl_InitStubs(interp, version, exact) \ Tcl_PkgRequire(interp, "XOTcl", version, exact) Index: xotcl/generic/xotclInt.h =================================================================== diff -u -r638782f84b31e4ebfd00529381e280c70f9950bc -rae1fe95f685e06aa89b09e196cf421ce9ded5891 --- xotcl/generic/xotclInt.h (.../xotclInt.h) (revision 638782f84b31e4ebfd00529381e280c70f9950bc) +++ xotcl/generic/xotclInt.h (.../xotclInt.h) (revision ae1fe95f685e06aa89b09e196cf421ce9ded5891) @@ -1,5 +1,5 @@ /* -*- Mode: c++ -*- - * $Id: xotclInt.h,v 1.6 2004/08/17 10:12:55 neumann Exp $ + * $Id: xotclInt.h,v 1.7 2004/08/22 10:00:19 neumann Exp $ * Extended Object Tcl (XOTcl) * * Copyright (C) 1999-2002 Gustaf Neumann, Uwe Zdun @@ -265,37 +265,37 @@ #define XOTcl_PushFrame(in,obj) \ memset(newFramePtr, 0, sizeof(CallFrame)); \ oldFramePtr = ((Interp *)in)->varFramePtr; \ - if (obj->nsPtr) { \ - newFramePtr->nsPtr = (Namespace*) obj->nsPtr; \ + if ((obj)->nsPtr) { \ + newFramePtr->nsPtr = (Namespace*) (obj)->nsPtr; \ } else { \ newFramePtr->nsPtr = (Namespace*) RUNTIME_STATE(in)->fakeNS; \ newFramePtr->isProcCallFrame = 1; \ newFramePtr->procPtr = &RUNTIME_STATE(in)->fakeProc; \ - newFramePtr->varTablePtr = obj->varTable; \ + newFramePtr->varTablePtr = (obj)->varTable; \ } \ ((Interp *)in)->varFramePtr = newFramePtr; \ MEM_COUNT_OPEN_FRAME() #define XOTcl_PopFrame(in,obj) \ - if (!obj->nsPtr && obj->varTable == 0) \ - obj->varTable = newFramePtr->varTablePtr; \ + if (!(obj)->nsPtr && (obj)->varTable == 0) \ + (obj)->varTable = newFramePtr->varTablePtr; \ ((Interp *)in)->varFramePtr = oldFramePtr; \ MEM_COUNT_CLOSE_FRAME() #else /* slightly slower version based on Tcl_PushCallFrame */ #define XOTcl_FrameDecls Tcl_CallFrame frame #define XOTcl_PushFrame(in,obj) \ - if (obj->nsPtr) { \ - Tcl_PushCallFrame(in, &frame, obj->nsPtr, 0); \ + if ((obj)->nsPtr) { \ + Tcl_PushCallFrame(in, &frame, (obj)->nsPtr, 0); \ } else { \ Tcl_PushCallFrame(in, &frame, RUNTIME_STATE(in)->fakeNS, 1); \ Tcl_CallFrame_procPtr(&frame) = &RUNTIME_STATE(in)->fakeProc; \ - Tcl_CallFrame_varTablePtr(&frame) = obj->varTable; \ + Tcl_CallFrame_varTablePtr(&frame) = (obj)->varTable; \ } #define XOTcl_PopFrame(in,obj) \ - if (!obj->nsPtr) { \ - if (obj->varTable == 0) \ - obj->varTable = Tcl_CallFrame_varTablePtr(&frame); \ + if (!(obj)->nsPtr) { \ + if ((obj)->varTable == 0) \ + (obj)->varTable = Tcl_CallFrame_varTablePtr(&frame); \ Tcl_CallFrame_varTablePtr(&frame) = 0; \ Tcl_CallFrame_procPtr(&frame) = 0; \ } \ @@ -627,9 +627,23 @@ #define XOTCL_EXITHANDLER_ON_SOFT_DESTROY 1 #define XOTCL_EXITHANDLER_ON_PHYSICAL_DESTROY 2 + +#ifdef XOTCL_OBJECTDATA +extern void +XOTclSetObjectData(struct XOTclObject* obj, struct XOTclClass* cl, + ClientData data); +extern int +XOTclGetObjectData(struct XOTclObject* obj, struct XOTclClass* cl, + ClientData* data); +extern int +XOTclUnsetObjectData(struct XOTclObject* obj, struct XOTclClass* cl); +extern void +XOTclFreeObjectData(XOTclClass* cl); +#endif + /* * - * Mostly internally used API functions + * internally used API functions * */ Index: xotcl/library/store/XOTclGdbm/Makefile =================================================================== diff -u -r464284f53643031115e4da0204025a733675ad60 -rae1fe95f685e06aa89b09e196cf421ce9ded5891 --- xotcl/library/store/XOTclGdbm/Makefile (.../Makefile) (revision 464284f53643031115e4da0204025a733675ad60) +++ xotcl/library/store/XOTclGdbm/Makefile (.../Makefile) (revision ae1fe95f685e06aa89b09e196cf421ce9ded5891) @@ -12,7 +12,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: Makefile,v 1.15 2004/08/19 09:57:50 neumann Exp $ +# RCS: @(#) $Id: Makefile,v 1.16 2004/08/22 10:00:19 neumann Exp $ #======================================================================== # Add additional lines to handle any additional AC_SUBST cases that Index: xotcl/library/store/XOTclSdbm/Makefile =================================================================== diff -u -r464284f53643031115e4da0204025a733675ad60 -rae1fe95f685e06aa89b09e196cf421ce9ded5891 --- xotcl/library/store/XOTclSdbm/Makefile (.../Makefile) (revision 464284f53643031115e4da0204025a733675ad60) +++ xotcl/library/store/XOTclSdbm/Makefile (.../Makefile) (revision ae1fe95f685e06aa89b09e196cf421ce9ded5891) @@ -12,7 +12,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: Makefile,v 1.15 2004/08/19 09:57:50 neumann Exp $ +# RCS: @(#) $Id: Makefile,v 1.16 2004/08/22 10:00:19 neumann Exp $ #======================================================================== # Add additional lines to handle any additional AC_SUBST cases that Index: xotcl/library/xml/TclExpat-1.1/Makefile =================================================================== diff -u -r464284f53643031115e4da0204025a733675ad60 -rae1fe95f685e06aa89b09e196cf421ce9ded5891 --- xotcl/library/xml/TclExpat-1.1/Makefile (.../Makefile) (revision 464284f53643031115e4da0204025a733675ad60) +++ xotcl/library/xml/TclExpat-1.1/Makefile (.../Makefile) (revision ae1fe95f685e06aa89b09e196cf421ce9ded5891) @@ -12,7 +12,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: Makefile,v 1.15 2004/08/19 09:57:50 neumann Exp $ +# RCS: @(#) $Id: Makefile,v 1.16 2004/08/22 10:00:19 neumann Exp $ #======================================================================== # Add additional lines to handle any additional AC_SUBST cases that