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 @@
- - Directory '/home/neumann/xotcl-1.3.1/library/lib':
changeXOTclVersion.xotcl, htmllib.xotcl, makeDoc.xotcl, make.xotcl, metadataAnalyzer.xotcl, mixinStrategy.xotcl, package.xotcl, Script.xotcl, staticMetadata.xotcl, test.xotcl, trace.xotcl, upvarcompat.xotcl, xodoc.xotcl - Directory '/home/neumann/xotcl-1.3.1/library/store':
JufGdbmStorage.xotcl, MemStorage.xotcl, MultiStorage.xotcl, persistenceExample.xotcl, Persistence.xotcl, Storage.xotcl, TclGdbmStorage.xotcl, TextFileStorage.xotcl - Directory '/home/neumann/xotcl-1.3.1/library/serialize':
Serializer.xotcl - Directory '/home/neumann/xotcl-1.3.1/tests':
forwardtest.xotcl, speedtest.xotcl, testo.xotcl, testx.xotcl - Directory '/home/neumann/xotcl-1.3.1/apps/scripts':
adapterExample.xotcl, adapter.xotcl, compositeExample.xotcl, composite.xotcl, observer.xotcl, parameter.xotcl, pinger.xotcl, simpleFilters.xotcl, soccerClub.xotcl - Directory '/home/neumann/xotcl-1.3.1/apps/comm':
ftp.xotcl, link-checker.xotcl, secure-webclient.xotcl, secure-webserver.xotcl, webclient.xotcl, webserver.xotcl - Directory '/home/neumann/xotcl-1.3.1/apps/actiweb/univ':
UNIVERSAL.xotcl - Directory '/home/neumann/xotcl-1.3.1/apps/utils':
xo-daemon, xo-whichPkg
+ - Directory './library/lib':
changeXOTclVersion.xotcl, htmllib.xotcl, makeDoc.xotcl, make.xotcl, metadataAnalyzer.xotcl, mixinStrategy.xotcl, package.xotcl, Script.xotcl, staticMetadata.xotcl, test.xotcl, trace.xotcl, upvarcompat.xotcl, xodoc.xotcl - Directory './library/store':
JufGdbmStorage.xotcl, MemStorage.xotcl, MultiStorage.xotcl, persistenceExample.xotcl, Persistence.xotcl, Storage.xotcl, TclGdbmStorage.xotcl, TextFileStorage.xotcl - Directory './library/serialize':
Serializer.xotcl - Directory './tests':
forwardtest.xotcl, speedtest.xotcl, testo.xotcl, testx.xotcl - Directory './apps/scripts':
adapterExample.xotcl, adapter.xotcl, compositeExample.xotcl, composite.xotcl, observer.xotcl, parameter.xotcl, pinger.xotcl, simpleFilters.xotcl, soccerClub.xotcl - Directory './apps/comm':
ftp.xotcl, link-checker.xotcl, secure-webclient.xotcl, secure-webserver.xotcl, webclient.xotcl, webserver.xotcl - Directory './apps/actiweb/univ':
UNIVERSAL.xotcl - Directory './apps/utils':
xo-daemon, xo-whichPkg
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
+
+ ./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
+
+ ./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