Index: Makefile.in
===================================================================
diff -u -r033cfdaac4e149a7c26863adfacc33020ae3d864 -r74d3e18a8ce3eedc4cbf6b8900d0f262d59ea708
--- Makefile.in	(.../Makefile.in)	(revision 033cfdaac4e149a7c26863adfacc33020ae3d864)
+++ Makefile.in	(.../Makefile.in)	(revision 74d3e18a8ce3eedc4cbf6b8900d0f262d59ea708)
@@ -676,10 +676,22 @@
 # Target to regenerate header files and stub files from the *.decls tables.
 #
 
+TCL_SRC_DIR_85=/usr/local/src/tcl8.5.16
+TCL_SRC_DIR_86=/usr/local/src/tcl8.6.1
+
 genstubs:
-	$(TCLSH) $(TCL_SRC_DIR)/tools/genStubs.tcl $(src_generic_dir) \
+	tclsh8.5 $(TCL_SRC_DIR_85)/tools/genStubs.tcl $(src_generic_dir) \
 		$(src_generic_dir)/nsf.decls $(src_generic_dir)/nsfInt.decls
+	mkdir -p $(src_generic_dir)/stubs8.5
+	cp $(src_generic_dir)/nsfDecls.h $(src_generic_dir)/nsfIntDecls.h $(src_generic_dir)/nsfStubInit.c $(src_generic_dir)/stubs8.5
+	tclsh8.6 $(TCL_SRC_DIR_86)/tools/genStubs.tcl $(src_generic_dir) \
+		$(src_generic_dir)/nsf.decls $(src_generic_dir)/nsfInt.decls
+	mkdir -p $(src_generic_dir)/stubs8.6
+	cp $(src_generic_dir)/nsfDecls.h $(src_generic_dir)/nsfIntDecls.h $(src_generic_dir)/nsfStubInit.c $(src_generic_dir)/stubs8.6
 
+getstubs:
+	$(TCLSH) $(src_app_dir_native)/utils/getstubs.tcl $(src_generic_dir)
+
 #
 # Target to check that all exported functions have an entry in the stubs
 # tables.
Index: TODO
===================================================================
diff -u -rf0adb8a2fcdb8285acaa463bcf885e5abc01d7ee -r74d3e18a8ce3eedc4cbf6b8900d0f262d59ea708
--- TODO	(.../TODO)	(revision f0adb8a2fcdb8285acaa463bcf885e5abc01d7ee)
+++ TODO	(.../TODO)	(revision 74d3e18a8ce3eedc4cbf6b8900d0f262d59ea708)
@@ -5540,26 +5540,16 @@
 
 nsf.c:
 - make types for bit operations unsigned (mostly flags)
-========================================================================
-TODO:
 
-- [current isnextcall] does not work for ensemble next:
-
+build system:
+- don't call genstubs from configure, since Debian does not seem 
+  to have genstubs.tcl installed. Now, we pre-generate the
+  stub files for tcl8.5 and tcl8.6 and copy the "right" version
+  depending on the configured version.
   
-Object create o {
-  :public object method foo {} {return [current isnextcall]}
-  :public object method "x y" {} {return [current isnextcall]}
-}
-Class create M {
-  :public method foo {} {next}
-  :public method "x y" {} {next}
-}
 
-? {o foo} 0
-? {o x y} 0
-o object mixins add M
-? {o foo} 1
-? {o x y} 1; # gives 0 ...
+========================================================================
+TODO:
 
 - finish plural reform
 - update migration guide and tutorial
@@ -5918,4 +5908,27 @@
      - coro-enable nsf::proc
 
   * renable/translate deletex XOTcl demo scripts, such as
-    e.g. those from library/xotcl/apps/scripts
\ No newline at end of file
+    e.g. those from library/xotcl/apps/scripts
+
+
+
+
+observation: 
+- [current isnextcall] does not work for ensemble next:
+  ... but should probably not, since this is an implicit 
+  next call just for resolving an ensemble call.
+  
+Object create o {
+  :public object method foo {} {return [current isnextcall]}
+  :public object method "x y" {} {return [current isnextcall]}
+}
+Class create M {
+  :public method foo {} {next}
+  :public method "x y" {} {next}
+}
+
+? {o foo} 0
+? {o x y} 0
+o object mixins add M
+? {o foo} 1
+? {o x y} 1; # gives 0 ...
\ No newline at end of file
Index: apps/utils/getstubs.tcl
===================================================================
diff -u
--- apps/utils/getstubs.tcl	(revision 0)
+++ apps/utils/getstubs.tcl	(revision 74d3e18a8ce3eedc4cbf6b8900d0f262d59ea708)
@@ -0,0 +1,8 @@
+#
+# Copy stubs from the appropriate tcl version directory.  Since the
+# configured tclsh "knows" its version, one can use this to fetch the
+# appropriate stub files after configuration.
+#
+puts "Using stubs for Tcl [set tcl_version]"
+set generic [lindex $argv 0]
+file copy -force {*}[glob $generic/stubs[set tcl_version]/*.*] $generic
Index: configure
===================================================================
diff -u -r9297b4159bf699939e464a50dedf193406061a77 -r74d3e18a8ce3eedc4cbf6b8900d0f262d59ea708
--- configure	(.../configure)	(revision 9297b4159bf699939e464a50dedf193406061a77)
+++ configure	(.../configure)	(revision 74d3e18a8ce3eedc4cbf6b8900d0f262d59ea708)
@@ -10192,7 +10192,7 @@
 
 chmod +x nxsh nxwish library/xotcl/xotclsh library/xotcl/xowish
 echo "==================== building genstubs (needed for Tcl 8.6)"
-make genstubs
+make getstubs
 echo "==================== genstubs built"
 
 here=${PWD}
Index: configure.ac
===================================================================
diff -u -r1e0bfe13a24da7bb97007fce4dcd6ebf681dcbd3 -r74d3e18a8ce3eedc4cbf6b8900d0f262d59ea708
--- configure.ac	(.../configure.ac)	(revision 1e0bfe13a24da7bb97007fce4dcd6ebf681dcbd3)
+++ configure.ac	(.../configure.ac)	(revision 74d3e18a8ce3eedc4cbf6b8900d0f262d59ea708)
@@ -446,7 +446,7 @@
 
 chmod +x nxsh nxwish library/xotcl/xotclsh library/xotcl/xowish
 echo "==================== building genstubs (needed for Tcl 8.6)"
-make genstubs
+make getstubs
 echo "==================== genstubs built"
 
 here=${PWD}
Index: generic/stubs8.5/nsfDecls.h
===================================================================
diff -u
--- generic/stubs8.5/nsfDecls.h	(revision 0)
+++ generic/stubs8.5/nsfDecls.h	(revision 74d3e18a8ce3eedc4cbf6b8900d0f262d59ea708)
@@ -0,0 +1,514 @@
+/*
+ * nsfDecls.h --
+ *
+ *	Declarations of functions in the platform independent public Nsf API.
+ *
+ *  This file is part of the Next Scripting Framework.
+ *
+ *  Copyright (C) 1999-2014 Gustaf Neumann
+ *  Copyright (C) 1999-2007 Uwe Zdun
+ *
+ * See the file "tcl-license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ */
+
+#ifndef _NSFDECLS
+#define _NSFDECLS
+
+/*
+ * WARNING: This file is automatically generated by the tools/genStubs.tcl
+ * script.  Any modifications to the function declarations below should be made
+ * in the nsf.decls script.
+ */
+
+/* !BEGIN!: Do not edit below this line. */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * Exported function declarations:
+ */
+
+#ifndef Nsf_Init_TCL_DECLARED
+#define Nsf_Init_TCL_DECLARED
+/* 0 */
+EXTERN int		Nsf_Init(Tcl_Interp *interp);
+#endif
+/* Slot 1 is reserved */
+#ifndef NsfIsClass_TCL_DECLARED
+#define NsfIsClass_TCL_DECLARED
+/* 2 */
+EXTERN struct Nsf_Class * NsfIsClass(Tcl_Interp *interp, ClientData cd);
+#endif
+#ifndef NsfGetObject_TCL_DECLARED
+#define NsfGetObject_TCL_DECLARED
+/* 3 */
+EXTERN struct Nsf_Object * NsfGetObject(Tcl_Interp *interp, CONST char *name);
+#endif
+#ifndef NsfGetClass_TCL_DECLARED
+#define NsfGetClass_TCL_DECLARED
+/* 4 */
+EXTERN struct Nsf_Class * NsfGetClass(Tcl_Interp *interp, CONST char *name);
+#endif
+#ifndef NsfDeleteObject_TCL_DECLARED
+#define NsfDeleteObject_TCL_DECLARED
+/* 5 */
+EXTERN int		NsfDeleteObject(Tcl_Interp *interp,
+				struct Nsf_Object *object);
+#endif
+#ifndef NsfRemoveObjectMethod_TCL_DECLARED
+#define NsfRemoveObjectMethod_TCL_DECLARED
+/* 6 */
+EXTERN int		NsfRemoveObjectMethod(Tcl_Interp *interp,
+				struct Nsf_Object *object, CONST char *nm);
+#endif
+#ifndef NsfRemoveClassMethod_TCL_DECLARED
+#define NsfRemoveClassMethod_TCL_DECLARED
+/* 7 */
+EXTERN int		NsfRemoveClassMethod(Tcl_Interp *interp,
+				struct Nsf_Class *cl, CONST char *nm);
+#endif
+#ifndef Nsf_ObjSetVar2_TCL_DECLARED
+#define Nsf_ObjSetVar2_TCL_DECLARED
+/* 8 */
+EXTERN Tcl_Obj *	Nsf_ObjSetVar2(struct Nsf_Object *object,
+				Tcl_Interp *interp, Tcl_Obj *name1,
+				Tcl_Obj *name2, Tcl_Obj *value,
+				unsigned int flags);
+#endif
+#ifndef Nsf_ObjGetVar2_TCL_DECLARED
+#define Nsf_ObjGetVar2_TCL_DECLARED
+/* 9 */
+EXTERN Tcl_Obj *	Nsf_ObjGetVar2(struct Nsf_Object *object,
+				Tcl_Interp *interp, Tcl_Obj *name1,
+				Tcl_Obj *name2, unsigned int flags);
+#endif
+#ifndef Nsf_UnsetVar2_TCL_DECLARED
+#define Nsf_UnsetVar2_TCL_DECLARED
+/* 10 */
+EXTERN int		Nsf_UnsetVar2(struct Nsf_Object *object,
+				Tcl_Interp *interp, CONST char *name1,
+				CONST char *name2, unsigned int flags);
+#endif
+#ifndef NsfDStringPrintf_TCL_DECLARED
+#define NsfDStringPrintf_TCL_DECLARED
+/* 11 */
+EXTERN void		NsfDStringPrintf(Tcl_DString *dsPtr, CONST char *fmt,
+				va_list apSrc);
+#endif
+#ifndef NsfPrintError_TCL_DECLARED
+#define NsfPrintError_TCL_DECLARED
+/* 12 */
+EXTERN int		NsfPrintError(Tcl_Interp *interp, CONST char *fmt, ...);
+#endif
+#ifndef NsfErrInProc_TCL_DECLARED
+#define NsfErrInProc_TCL_DECLARED
+/* 13 */
+EXTERN int		NsfErrInProc(Tcl_Interp *interp, Tcl_Obj *objName,
+				Tcl_Obj *clName, CONST char *procName);
+#endif
+#ifndef NsfObjErrType_TCL_DECLARED
+#define NsfObjErrType_TCL_DECLARED
+/* 14 */
+EXTERN int		NsfObjErrType(Tcl_Interp *interp,
+				CONST char *context, Tcl_Obj *value,
+				CONST char *type, Nsf_Param CONST *pPtr);
+#endif
+#ifndef NsfStackDump_TCL_DECLARED
+#define NsfStackDump_TCL_DECLARED
+/* 15 */
+EXTERN void		NsfStackDump(Tcl_Interp *interp);
+#endif
+#ifndef NsfSetObjClientData_TCL_DECLARED
+#define NsfSetObjClientData_TCL_DECLARED
+/* 16 */
+EXTERN void		NsfSetObjClientData(Tcl_Interp *interp,
+				Nsf_Object *object, ClientData data);
+#endif
+#ifndef NsfGetObjClientData_TCL_DECLARED
+#define NsfGetObjClientData_TCL_DECLARED
+/* 17 */
+EXTERN ClientData	NsfGetObjClientData(Tcl_Interp *interp,
+				Nsf_Object *object);
+#endif
+#ifndef NsfSetClassClientData_TCL_DECLARED
+#define NsfSetClassClientData_TCL_DECLARED
+/* 18 */
+EXTERN void		NsfSetClassClientData(Tcl_Interp *interp,
+				Nsf_Class *cl, ClientData data);
+#endif
+#ifndef NsfGetClassClientData_TCL_DECLARED
+#define NsfGetClassClientData_TCL_DECLARED
+/* 19 */
+EXTERN ClientData	NsfGetClassClientData(Tcl_Interp *interp,
+				Nsf_Class *cl);
+#endif
+#ifndef NsfRequireObjNamespace_TCL_DECLARED
+#define NsfRequireObjNamespace_TCL_DECLARED
+/* 20 */
+EXTERN void		NsfRequireObjNamespace(Tcl_Interp *interp,
+				Nsf_Object *object);
+#endif
+#ifndef NsfCallMethodWithArgs_TCL_DECLARED
+#define NsfCallMethodWithArgs_TCL_DECLARED
+/* 21 */
+EXTERN int		NsfCallMethodWithArgs(Tcl_Interp *interp,
+				Nsf_Object *object, Tcl_Obj *method,
+				Tcl_Obj *arg, int objc,
+				Tcl_Obj *CONST objv[], unsigned int flags);
+#endif
+#ifndef NsfAddObjectMethod_TCL_DECLARED
+#define NsfAddObjectMethod_TCL_DECLARED
+/* 22 */
+EXTERN int		NsfAddObjectMethod(Tcl_Interp *interp,
+				struct Nsf_Object *object, CONST char *nm,
+				Tcl_ObjCmdProc *proc, ClientData cd,
+				Tcl_CmdDeleteProc *dp, unsigned int flags);
+#endif
+#ifndef NsfAddClassMethod_TCL_DECLARED
+#define NsfAddClassMethod_TCL_DECLARED
+/* 23 */
+EXTERN int		NsfAddClassMethod(Tcl_Interp *interp,
+				struct Nsf_Class *cl, CONST char *nm,
+				Tcl_ObjCmdProc *proc, ClientData cd,
+				Tcl_CmdDeleteProc *dp, unsigned int flags);
+#endif
+#ifndef NsfCreate_TCL_DECLARED
+#define NsfCreate_TCL_DECLARED
+/* 24 */
+EXTERN int		NsfCreate(Tcl_Interp *in, Nsf_Class *class,
+				Tcl_Obj *name, int objc,
+				Tcl_Obj *CONST objv[]);
+#endif
+#ifndef Nsf_ArgumentParse_TCL_DECLARED
+#define Nsf_ArgumentParse_TCL_DECLARED
+/* 25 */
+EXTERN int		Nsf_ArgumentParse(Tcl_Interp *interp, int objc,
+				Tcl_Obj *CONST objv[], Nsf_Object *object,
+				Tcl_Obj *procNameObj,
+				Nsf_Param CONST *paramPtr, int nrParams,
+				int serial, unsigned int processFlags,
+				Nsf_ParseContext *pcPtr);
+#endif
+#ifndef NsfLog_TCL_DECLARED
+#define NsfLog_TCL_DECLARED
+/* 26 */
+EXTERN void		NsfLog(Tcl_Interp *interp, int requiredLevel,
+				CONST char *fmt, ...);
+#endif
+#ifndef Nsf_PointerAdd_TCL_DECLARED
+#define Nsf_PointerAdd_TCL_DECLARED
+/* 27 */
+EXTERN int		Nsf_PointerAdd(Tcl_Interp *interp, char *buffer,
+				CONST char *typeName, VOID *valuePtr);
+#endif
+#ifndef Nsf_PointerDelete_TCL_DECLARED
+#define Nsf_PointerDelete_TCL_DECLARED
+/* 28 */
+EXTERN int		Nsf_PointerDelete(CONST char *key, VOID *valuePtr,
+				int free);
+#endif
+#ifndef Nsf_PointerTypeRegister_TCL_DECLARED
+#define Nsf_PointerTypeRegister_TCL_DECLARED
+/* 29 */
+EXTERN int		Nsf_PointerTypeRegister(Tcl_Interp *interp,
+				CONST char*typeName, int *counterPtr);
+#endif
+#ifndef Nsf_ConvertToBoolean_TCL_DECLARED
+#define Nsf_ConvertToBoolean_TCL_DECLARED
+/* 30 */
+EXTERN int		Nsf_ConvertToBoolean(Tcl_Interp *interp,
+				Tcl_Obj *objPtr, Nsf_Param CONST *pPtr,
+				ClientData *clientData, Tcl_Obj **outObjPtr);
+#endif
+#ifndef Nsf_ConvertToClass_TCL_DECLARED
+#define Nsf_ConvertToClass_TCL_DECLARED
+/* 31 */
+EXTERN int		Nsf_ConvertToClass(Tcl_Interp *interp,
+				Tcl_Obj *objPtr, Nsf_Param CONST *pPtr,
+				ClientData *clientData, Tcl_Obj **outObjPtr);
+#endif
+#ifndef Nsf_ConvertToInt32_TCL_DECLARED
+#define Nsf_ConvertToInt32_TCL_DECLARED
+/* 32 */
+EXTERN int		Nsf_ConvertToInt32(Tcl_Interp *interp,
+				Tcl_Obj *objPtr, Nsf_Param CONST *pPtr,
+				ClientData *clientData, Tcl_Obj **outObjPtr);
+#endif
+#ifndef Nsf_ConvertToInteger_TCL_DECLARED
+#define Nsf_ConvertToInteger_TCL_DECLARED
+/* 33 */
+EXTERN int		Nsf_ConvertToInteger(Tcl_Interp *interp,
+				Tcl_Obj *objPtr, Nsf_Param CONST *pPtr,
+				ClientData *clientData, Tcl_Obj **outObjPtr);
+#endif
+#ifndef Nsf_ConvertToObject_TCL_DECLARED
+#define Nsf_ConvertToObject_TCL_DECLARED
+/* 34 */
+EXTERN int		Nsf_ConvertToObject(Tcl_Interp *interp,
+				Tcl_Obj *objPtr, Nsf_Param CONST *pPtr,
+				ClientData *clientData, Tcl_Obj **outObjPtr);
+#endif
+#ifndef Nsf_ConvertToPointer_TCL_DECLARED
+#define Nsf_ConvertToPointer_TCL_DECLARED
+/* 35 */
+EXTERN int		Nsf_ConvertToPointer(Tcl_Interp *interp,
+				Tcl_Obj *objPtr, Nsf_Param CONST *pPtr,
+				ClientData *clientData, Tcl_Obj **outObjPtr);
+#endif
+#ifndef Nsf_ConvertToString_TCL_DECLARED
+#define Nsf_ConvertToString_TCL_DECLARED
+/* 36 */
+EXTERN int		Nsf_ConvertToString(Tcl_Interp *interp,
+				Tcl_Obj *objPtr, Nsf_Param CONST *pPtr,
+				ClientData *clientData, Tcl_Obj **outObjPtr);
+#endif
+#ifndef Nsf_ConvertToTclobj_TCL_DECLARED
+#define Nsf_ConvertToTclobj_TCL_DECLARED
+/* 37 */
+EXTERN int		Nsf_ConvertToTclobj(Tcl_Interp *interp,
+				Tcl_Obj *objPtr, Nsf_Param CONST *pPtr,
+				ClientData *clientData, Tcl_Obj **outObjPtr);
+#endif
+#ifndef Nsf_EnumerationTypeRegister_TCL_DECLARED
+#define Nsf_EnumerationTypeRegister_TCL_DECLARED
+/* 38 */
+EXTERN int		Nsf_EnumerationTypeRegister(Tcl_Interp *interp,
+				Nsf_EnumeratorConverterEntry *typeRecords);
+#endif
+#ifndef Nsf_CmdDefinitionRegister_TCL_DECLARED
+#define Nsf_CmdDefinitionRegister_TCL_DECLARED
+/* 39 */
+EXTERN int		Nsf_CmdDefinitionRegister(Tcl_Interp *interp,
+				Nsf_methodDefinition *definitionRecords);
+#endif
+
+typedef struct NsfStubHooks {
+    struct NsfIntStubs *nsfIntStubs;
+} NsfStubHooks;
+
+typedef struct NsfStubs {
+    int magic;
+    struct NsfStubHooks *hooks;
+
+    int (*nsf_Init) (Tcl_Interp *interp); /* 0 */
+    VOID *reserved1;
+    struct Nsf_Class * (*nsfIsClass) (Tcl_Interp *interp, ClientData cd); /* 2 */
+    struct Nsf_Object * (*nsfGetObject) (Tcl_Interp *interp, CONST char *name); /* 3 */
+    struct Nsf_Class * (*nsfGetClass) (Tcl_Interp *interp, CONST char *name); /* 4 */
+    int (*nsfDeleteObject) (Tcl_Interp *interp, struct Nsf_Object *object); /* 5 */
+    int (*nsfRemoveObjectMethod) (Tcl_Interp *interp, struct Nsf_Object *object, CONST char *nm); /* 6 */
+    int (*nsfRemoveClassMethod) (Tcl_Interp *interp, struct Nsf_Class *cl, CONST char *nm); /* 7 */
+    Tcl_Obj * (*nsf_ObjSetVar2) (struct Nsf_Object *object, Tcl_Interp *interp, Tcl_Obj *name1, Tcl_Obj *name2, Tcl_Obj *value, unsigned int flags); /* 8 */
+    Tcl_Obj * (*nsf_ObjGetVar2) (struct Nsf_Object *object, Tcl_Interp *interp, Tcl_Obj *name1, Tcl_Obj *name2, unsigned int flags); /* 9 */
+    int (*nsf_UnsetVar2) (struct Nsf_Object *object, Tcl_Interp *interp, CONST char *name1, CONST char *name2, unsigned int flags); /* 10 */
+    void (*nsfDStringPrintf) (Tcl_DString *dsPtr, CONST char *fmt, va_list apSrc); /* 11 */
+    int (*nsfPrintError) (Tcl_Interp *interp, CONST char *fmt, ...); /* 12 */
+    int (*nsfErrInProc) (Tcl_Interp *interp, Tcl_Obj *objName, Tcl_Obj *clName, CONST char *procName); /* 13 */
+    int (*nsfObjErrType) (Tcl_Interp *interp, CONST char *context, Tcl_Obj *value, CONST char *type, Nsf_Param CONST *pPtr); /* 14 */
+    void (*nsfStackDump) (Tcl_Interp *interp); /* 15 */
+    void (*nsfSetObjClientData) (Tcl_Interp *interp, Nsf_Object *object, ClientData data); /* 16 */
+    ClientData (*nsfGetObjClientData) (Tcl_Interp *interp, Nsf_Object *object); /* 17 */
+    void (*nsfSetClassClientData) (Tcl_Interp *interp, Nsf_Class *cl, ClientData data); /* 18 */
+    ClientData (*nsfGetClassClientData) (Tcl_Interp *interp, Nsf_Class *cl); /* 19 */
+    void (*nsfRequireObjNamespace) (Tcl_Interp *interp, Nsf_Object *object); /* 20 */
+    int (*nsfCallMethodWithArgs) (Tcl_Interp *interp, Nsf_Object *object, Tcl_Obj *method, Tcl_Obj *arg, int objc, Tcl_Obj *CONST objv[], unsigned int flags); /* 21 */
+    int (*nsfAddObjectMethod) (Tcl_Interp *interp, struct Nsf_Object *object, CONST char *nm, Tcl_ObjCmdProc *proc, ClientData cd, Tcl_CmdDeleteProc *dp, unsigned int flags); /* 22 */
+    int (*nsfAddClassMethod) (Tcl_Interp *interp, struct Nsf_Class *cl, CONST char *nm, Tcl_ObjCmdProc *proc, ClientData cd, Tcl_CmdDeleteProc *dp, unsigned int flags); /* 23 */
+    int (*nsfCreate) (Tcl_Interp *in, Nsf_Class *class, Tcl_Obj *name, int objc, Tcl_Obj *CONST objv[]); /* 24 */
+    int (*nsf_ArgumentParse) (Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[], Nsf_Object *object, Tcl_Obj *procNameObj, Nsf_Param CONST *paramPtr, int nrParams, int serial, unsigned int processFlags, Nsf_ParseContext *pcPtr); /* 25 */
+    void (*nsfLog) (Tcl_Interp *interp, int requiredLevel, CONST char *fmt, ...); /* 26 */
+    int (*nsf_PointerAdd) (Tcl_Interp *interp, char *buffer, CONST char *typeName, VOID *valuePtr); /* 27 */
+    int (*nsf_PointerDelete) (CONST char *key, VOID *valuePtr, int free); /* 28 */
+    int (*nsf_PointerTypeRegister) (Tcl_Interp *interp, CONST char*typeName, int *counterPtr); /* 29 */
+    int (*nsf_ConvertToBoolean) (Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr, ClientData *clientData, Tcl_Obj **outObjPtr); /* 30 */
+    int (*nsf_ConvertToClass) (Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr, ClientData *clientData, Tcl_Obj **outObjPtr); /* 31 */
+    int (*nsf_ConvertToInt32) (Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr, ClientData *clientData, Tcl_Obj **outObjPtr); /* 32 */
+    int (*nsf_ConvertToInteger) (Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr, ClientData *clientData, Tcl_Obj **outObjPtr); /* 33 */
+    int (*nsf_ConvertToObject) (Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr, ClientData *clientData, Tcl_Obj **outObjPtr); /* 34 */
+    int (*nsf_ConvertToPointer) (Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr, ClientData *clientData, Tcl_Obj **outObjPtr); /* 35 */
+    int (*nsf_ConvertToString) (Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr, ClientData *clientData, Tcl_Obj **outObjPtr); /* 36 */
+    int (*nsf_ConvertToTclobj) (Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr, ClientData *clientData, Tcl_Obj **outObjPtr); /* 37 */
+    int (*nsf_EnumerationTypeRegister) (Tcl_Interp *interp, Nsf_EnumeratorConverterEntry *typeRecords); /* 38 */
+    int (*nsf_CmdDefinitionRegister) (Tcl_Interp *interp, Nsf_methodDefinition *definitionRecords); /* 39 */
+} NsfStubs;
+
+extern NsfStubs *nsfStubsPtr;
+
+#ifdef __cplusplus
+}
+#endif
+
+#if defined(USE_NSF_STUBS) && !defined(USE_NSF_STUB_PROCS)
+
+/*
+ * Inline function declarations:
+ */
+
+#ifndef Nsf_Init
+#define Nsf_Init \
+	(nsfStubsPtr->nsf_Init) /* 0 */
+#endif
+/* Slot 1 is reserved */
+#ifndef NsfIsClass
+#define NsfIsClass \
+	(nsfStubsPtr->nsfIsClass) /* 2 */
+#endif
+#ifndef NsfGetObject
+#define NsfGetObject \
+	(nsfStubsPtr->nsfGetObject) /* 3 */
+#endif
+#ifndef NsfGetClass
+#define NsfGetClass \
+	(nsfStubsPtr->nsfGetClass) /* 4 */
+#endif
+#ifndef NsfDeleteObject
+#define NsfDeleteObject \
+	(nsfStubsPtr->nsfDeleteObject) /* 5 */
+#endif
+#ifndef NsfRemoveObjectMethod
+#define NsfRemoveObjectMethod \
+	(nsfStubsPtr->nsfRemoveObjectMethod) /* 6 */
+#endif
+#ifndef NsfRemoveClassMethod
+#define NsfRemoveClassMethod \
+	(nsfStubsPtr->nsfRemoveClassMethod) /* 7 */
+#endif
+#ifndef Nsf_ObjSetVar2
+#define Nsf_ObjSetVar2 \
+	(nsfStubsPtr->nsf_ObjSetVar2) /* 8 */
+#endif
+#ifndef Nsf_ObjGetVar2
+#define Nsf_ObjGetVar2 \
+	(nsfStubsPtr->nsf_ObjGetVar2) /* 9 */
+#endif
+#ifndef Nsf_UnsetVar2
+#define Nsf_UnsetVar2 \
+	(nsfStubsPtr->nsf_UnsetVar2) /* 10 */
+#endif
+#ifndef NsfDStringPrintf
+#define NsfDStringPrintf \
+	(nsfStubsPtr->nsfDStringPrintf) /* 11 */
+#endif
+#ifndef NsfPrintError
+#define NsfPrintError \
+	(nsfStubsPtr->nsfPrintError) /* 12 */
+#endif
+#ifndef NsfErrInProc
+#define NsfErrInProc \
+	(nsfStubsPtr->nsfErrInProc) /* 13 */
+#endif
+#ifndef NsfObjErrType
+#define NsfObjErrType \
+	(nsfStubsPtr->nsfObjErrType) /* 14 */
+#endif
+#ifndef NsfStackDump
+#define NsfStackDump \
+	(nsfStubsPtr->nsfStackDump) /* 15 */
+#endif
+#ifndef NsfSetObjClientData
+#define NsfSetObjClientData \
+	(nsfStubsPtr->nsfSetObjClientData) /* 16 */
+#endif
+#ifndef NsfGetObjClientData
+#define NsfGetObjClientData \
+	(nsfStubsPtr->nsfGetObjClientData) /* 17 */
+#endif
+#ifndef NsfSetClassClientData
+#define NsfSetClassClientData \
+	(nsfStubsPtr->nsfSetClassClientData) /* 18 */
+#endif
+#ifndef NsfGetClassClientData
+#define NsfGetClassClientData \
+	(nsfStubsPtr->nsfGetClassClientData) /* 19 */
+#endif
+#ifndef NsfRequireObjNamespace
+#define NsfRequireObjNamespace \
+	(nsfStubsPtr->nsfRequireObjNamespace) /* 20 */
+#endif
+#ifndef NsfCallMethodWithArgs
+#define NsfCallMethodWithArgs \
+	(nsfStubsPtr->nsfCallMethodWithArgs) /* 21 */
+#endif
+#ifndef NsfAddObjectMethod
+#define NsfAddObjectMethod \
+	(nsfStubsPtr->nsfAddObjectMethod) /* 22 */
+#endif
+#ifndef NsfAddClassMethod
+#define NsfAddClassMethod \
+	(nsfStubsPtr->nsfAddClassMethod) /* 23 */
+#endif
+#ifndef NsfCreate
+#define NsfCreate \
+	(nsfStubsPtr->nsfCreate) /* 24 */
+#endif
+#ifndef Nsf_ArgumentParse
+#define Nsf_ArgumentParse \
+	(nsfStubsPtr->nsf_ArgumentParse) /* 25 */
+#endif
+#ifndef NsfLog
+#define NsfLog \
+	(nsfStubsPtr->nsfLog) /* 26 */
+#endif
+#ifndef Nsf_PointerAdd
+#define Nsf_PointerAdd \
+	(nsfStubsPtr->nsf_PointerAdd) /* 27 */
+#endif
+#ifndef Nsf_PointerDelete
+#define Nsf_PointerDelete \
+	(nsfStubsPtr->nsf_PointerDelete) /* 28 */
+#endif
+#ifndef Nsf_PointerTypeRegister
+#define Nsf_PointerTypeRegister \
+	(nsfStubsPtr->nsf_PointerTypeRegister) /* 29 */
+#endif
+#ifndef Nsf_ConvertToBoolean
+#define Nsf_ConvertToBoolean \
+	(nsfStubsPtr->nsf_ConvertToBoolean) /* 30 */
+#endif
+#ifndef Nsf_ConvertToClass
+#define Nsf_ConvertToClass \
+	(nsfStubsPtr->nsf_ConvertToClass) /* 31 */
+#endif
+#ifndef Nsf_ConvertToInt32
+#define Nsf_ConvertToInt32 \
+	(nsfStubsPtr->nsf_ConvertToInt32) /* 32 */
+#endif
+#ifndef Nsf_ConvertToInteger
+#define Nsf_ConvertToInteger \
+	(nsfStubsPtr->nsf_ConvertToInteger) /* 33 */
+#endif
+#ifndef Nsf_ConvertToObject
+#define Nsf_ConvertToObject \
+	(nsfStubsPtr->nsf_ConvertToObject) /* 34 */
+#endif
+#ifndef Nsf_ConvertToPointer
+#define Nsf_ConvertToPointer \
+	(nsfStubsPtr->nsf_ConvertToPointer) /* 35 */
+#endif
+#ifndef Nsf_ConvertToString
+#define Nsf_ConvertToString \
+	(nsfStubsPtr->nsf_ConvertToString) /* 36 */
+#endif
+#ifndef Nsf_ConvertToTclobj
+#define Nsf_ConvertToTclobj \
+	(nsfStubsPtr->nsf_ConvertToTclobj) /* 37 */
+#endif
+#ifndef Nsf_EnumerationTypeRegister
+#define Nsf_EnumerationTypeRegister \
+	(nsfStubsPtr->nsf_EnumerationTypeRegister) /* 38 */
+#endif
+#ifndef Nsf_CmdDefinitionRegister
+#define Nsf_CmdDefinitionRegister \
+	(nsfStubsPtr->nsf_CmdDefinitionRegister) /* 39 */
+#endif
+
+#endif /* defined(USE_NSF_STUBS) && !defined(USE_NSF_STUB_PROCS) */
+
+/* !END!: Do not edit above this line. */
+
+#endif /* _NSFDECLS */
+
Index: generic/stubs8.5/nsfIntDecls.h
===================================================================
diff -u
--- generic/stubs8.5/nsfIntDecls.h	(revision 0)
+++ generic/stubs8.5/nsfIntDecls.h	(revision 74d3e18a8ce3eedc4cbf6b8900d0f262d59ea708)
@@ -0,0 +1,60 @@
+/*
+ * nsfIntDecls.h --
+ *
+ *	This file contains the declarations for all unsupported
+ *	functions that are exported by the Tcl library.  These
+ *	interfaces are not guaranteed to remain the same between
+ *	versions.  Use at your own risk.
+ *
+ * Copyright (C) 1998-2008 Uwe Zdun
+ * Copyright (C) 1998-2014 Gustaf Neumann
+ *
+ * See the file "tcl-license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ */
+
+#ifndef _NSFINTDECLS
+#define _NSFINTDECLS
+
+/*
+ * WARNING: This file is automatically generated by the tools/genStubs.tcl
+ * script.  Any modifications to the function declarations below should be made
+ * in the nsfInt.decls script.
+ */
+
+/* !BEGIN!: Do not edit below this line. */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * Exported function declarations:
+ */
+
+
+typedef struct NsfIntStubs {
+    int magic;
+    struct NsfIntStubHooks *hooks;
+
+} NsfIntStubs;
+
+extern NsfIntStubs *nsfIntStubsPtr;
+
+#ifdef __cplusplus
+}
+#endif
+
+#if defined(USE_NSF_STUBS) && !defined(USE_NSF_STUB_PROCS)
+
+/*
+ * Inline function declarations:
+ */
+
+
+#endif /* defined(USE_NSF_STUBS) && !defined(USE_NSF_STUB_PROCS) */
+
+/* !END!: Do not edit above this line. */
+
+#endif /* _NSFINTDECLS */
Index: generic/stubs8.5/nsfStubInit.c
===================================================================
diff -u
--- generic/stubs8.5/nsfStubInit.c	(revision 0)
+++ generic/stubs8.5/nsfStubInit.c	(revision 74d3e18a8ce3eedc4cbf6b8900d0f262d59ea708)
@@ -0,0 +1,99 @@
+/* 
+ * nxStubInit.c --
+ *
+ *	This file contains the initializers for the stub vectors of the Next
+ *	Scripting Framework.
+ *
+ * Copyright (C) 1998-1999 by XXX
+ *
+ * See the file "tcl-license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ */
+
+#include "nsfInt.h"
+
+/*
+ * Remove macros that will interfere with the definitions below.
+ */
+
+/*
+ * WARNING: The contents of this file is automatically generated by the
+ * tools/genStubs.tcl script. Any modifications to the function declarations
+ * below should be made in the generic/tcl.decls script.
+ */
+
+#if defined(PRE86)
+EXTERN NsfStubs nsfStubs;
+# else
+MODULE_SCOPE const NsfStubs nsfStubs;
+#endif
+
+
+
+
+/* !BEGIN!: Do not edit below this line. */
+
+NsfIntStubs nsfIntStubs = {
+    TCL_STUB_MAGIC,
+    NULL,
+};
+
+static NsfStubHooks nsfStubHooks = {
+    &nsfIntStubs
+};
+
+NsfStubs nsfStubs = {
+    TCL_STUB_MAGIC,
+    &nsfStubHooks,
+    Nsf_Init, /* 0 */
+    NULL, /* 1 */
+    NsfIsClass, /* 2 */
+    NsfGetObject, /* 3 */
+    NsfGetClass, /* 4 */
+    NsfDeleteObject, /* 5 */
+    NsfRemoveObjectMethod, /* 6 */
+    NsfRemoveClassMethod, /* 7 */
+    Nsf_ObjSetVar2, /* 8 */
+    Nsf_ObjGetVar2, /* 9 */
+    Nsf_UnsetVar2, /* 10 */
+    NsfDStringPrintf, /* 11 */
+    NsfPrintError, /* 12 */
+    NsfErrInProc, /* 13 */
+    NsfObjErrType, /* 14 */
+    NsfStackDump, /* 15 */
+    NsfSetObjClientData, /* 16 */
+    NsfGetObjClientData, /* 17 */
+    NsfSetClassClientData, /* 18 */
+    NsfGetClassClientData, /* 19 */
+    NsfRequireObjNamespace, /* 20 */
+    NsfCallMethodWithArgs, /* 21 */
+    NsfAddObjectMethod, /* 22 */
+    NsfAddClassMethod, /* 23 */
+    NsfCreate, /* 24 */
+    Nsf_ArgumentParse, /* 25 */
+    NsfLog, /* 26 */
+    Nsf_PointerAdd, /* 27 */
+    Nsf_PointerDelete, /* 28 */
+    Nsf_PointerTypeRegister, /* 29 */
+    Nsf_ConvertToBoolean, /* 30 */
+    Nsf_ConvertToClass, /* 31 */
+    Nsf_ConvertToInt32, /* 32 */
+    Nsf_ConvertToInteger, /* 33 */
+    Nsf_ConvertToObject, /* 34 */
+    Nsf_ConvertToPointer, /* 35 */
+    Nsf_ConvertToString, /* 36 */
+    Nsf_ConvertToTclobj, /* 37 */
+    Nsf_EnumerationTypeRegister, /* 38 */
+    Nsf_CmdDefinitionRegister, /* 39 */
+};
+
+/* !END!: Do not edit above this line. */
+
+/*
+ * Local Variables:
+ * mode: c
+ * c-basic-offset: 2
+ * fill-column: 78
+ * End:
+ */
Index: generic/stubs8.6/nsfDecls.h
===================================================================
diff -u
--- generic/stubs8.6/nsfDecls.h	(revision 0)
+++ generic/stubs8.6/nsfDecls.h	(revision 74d3e18a8ce3eedc4cbf6b8900d0f262d59ea708)
@@ -0,0 +1,317 @@
+/*
+ * nsfDecls.h --
+ *
+ *	Declarations of functions in the platform independent public Nsf API.
+ *
+ *  This file is part of the Next Scripting Framework.
+ *
+ *  Copyright (C) 1999-2014 Gustaf Neumann
+ *  Copyright (C) 1999-2007 Uwe Zdun
+ *
+ * See the file "tcl-license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ */
+
+#ifndef _NSFDECLS
+#define _NSFDECLS
+
+/*
+ * WARNING: This file is automatically generated by the tools/genStubs.tcl
+ * script.  Any modifications to the function declarations below should be made
+ * in the nsf.decls script.
+ */
+
+/* !BEGIN!: Do not edit below this line. */
+
+/*
+ * Exported function declarations:
+ */
+
+/* 0 */
+EXTERN int		Nsf_Init(Tcl_Interp *interp);
+/* Slot 1 is reserved */
+/* 2 */
+EXTERN struct Nsf_Class * NsfIsClass(Tcl_Interp *interp, ClientData cd);
+/* 3 */
+EXTERN struct Nsf_Object * NsfGetObject(Tcl_Interp *interp, CONST char *name);
+/* 4 */
+EXTERN struct Nsf_Class * NsfGetClass(Tcl_Interp *interp, CONST char *name);
+/* 5 */
+EXTERN int		NsfDeleteObject(Tcl_Interp *interp,
+				struct Nsf_Object *object);
+/* 6 */
+EXTERN int		NsfRemoveObjectMethod(Tcl_Interp *interp,
+				struct Nsf_Object *object, CONST char *nm);
+/* 7 */
+EXTERN int		NsfRemoveClassMethod(Tcl_Interp *interp,
+				struct Nsf_Class *cl, CONST char *nm);
+/* 8 */
+EXTERN Tcl_Obj *	Nsf_ObjSetVar2(struct Nsf_Object *object,
+				Tcl_Interp *interp, Tcl_Obj *name1,
+				Tcl_Obj *name2, Tcl_Obj *value,
+				unsigned int flags);
+/* 9 */
+EXTERN Tcl_Obj *	Nsf_ObjGetVar2(struct Nsf_Object *object,
+				Tcl_Interp *interp, Tcl_Obj *name1,
+				Tcl_Obj *name2, unsigned int flags);
+/* 10 */
+EXTERN int		Nsf_UnsetVar2(struct Nsf_Object *object,
+				Tcl_Interp *interp, CONST char *name1,
+				CONST char *name2, unsigned int flags);
+/* 11 */
+EXTERN void		NsfDStringPrintf(Tcl_DString *dsPtr, CONST char *fmt,
+				va_list apSrc);
+/* 12 */
+EXTERN int		NsfPrintError(Tcl_Interp *interp, CONST char *fmt, ...);
+/* 13 */
+EXTERN int		NsfErrInProc(Tcl_Interp *interp, Tcl_Obj *objName,
+				Tcl_Obj *clName, CONST char *procName);
+/* 14 */
+EXTERN int		NsfObjErrType(Tcl_Interp *interp,
+				CONST char *context, Tcl_Obj *value,
+				CONST char *type, Nsf_Param CONST *pPtr);
+/* 15 */
+EXTERN void		NsfStackDump(Tcl_Interp *interp);
+/* 16 */
+EXTERN void		NsfSetObjClientData(Tcl_Interp *interp,
+				Nsf_Object *object, ClientData data);
+/* 17 */
+EXTERN ClientData	NsfGetObjClientData(Tcl_Interp *interp,
+				Nsf_Object *object);
+/* 18 */
+EXTERN void		NsfSetClassClientData(Tcl_Interp *interp,
+				Nsf_Class *cl, ClientData data);
+/* 19 */
+EXTERN ClientData	NsfGetClassClientData(Tcl_Interp *interp,
+				Nsf_Class *cl);
+/* 20 */
+EXTERN void		NsfRequireObjNamespace(Tcl_Interp *interp,
+				Nsf_Object *object);
+/* 21 */
+EXTERN int		NsfCallMethodWithArgs(Tcl_Interp *interp,
+				Nsf_Object *object, Tcl_Obj *method,
+				Tcl_Obj *arg, int objc,
+				Tcl_Obj *CONST objv[], unsigned int flags);
+/* 22 */
+EXTERN int		NsfAddObjectMethod(Tcl_Interp *interp,
+				struct Nsf_Object *object, CONST char *nm,
+				Tcl_ObjCmdProc *proc, ClientData cd,
+				Tcl_CmdDeleteProc *dp, unsigned int flags);
+/* 23 */
+EXTERN int		NsfAddClassMethod(Tcl_Interp *interp,
+				struct Nsf_Class *cl, CONST char *nm,
+				Tcl_ObjCmdProc *proc, ClientData cd,
+				Tcl_CmdDeleteProc *dp, unsigned int flags);
+/* 24 */
+EXTERN int		NsfCreate(Tcl_Interp *in, Nsf_Class *class,
+				Tcl_Obj *name, int objc,
+				Tcl_Obj *CONST objv[]);
+/* 25 */
+EXTERN int		Nsf_ArgumentParse(Tcl_Interp *interp, int objc,
+				Tcl_Obj *CONST objv[], Nsf_Object *object,
+				Tcl_Obj *procNameObj,
+				Nsf_Param CONST *paramPtr, int nrParams,
+				int serial, unsigned int processFlags,
+				Nsf_ParseContext *pcPtr);
+/* 26 */
+EXTERN void		NsfLog(Tcl_Interp *interp, int requiredLevel,
+				CONST char *fmt, ...);
+/* 27 */
+EXTERN int		Nsf_PointerAdd(Tcl_Interp *interp, char *buffer,
+				CONST char *typeName, void *valuePtr);
+/* 28 */
+EXTERN int		Nsf_PointerDelete(CONST char *key, void *valuePtr,
+				int free);
+/* 29 */
+EXTERN int		Nsf_PointerTypeRegister(Tcl_Interp *interp,
+				CONST char*typeName, int *counterPtr);
+/* 30 */
+EXTERN int		Nsf_ConvertToBoolean(Tcl_Interp *interp,
+				Tcl_Obj *objPtr, Nsf_Param CONST *pPtr,
+				ClientData *clientData, Tcl_Obj **outObjPtr);
+/* 31 */
+EXTERN int		Nsf_ConvertToClass(Tcl_Interp *interp,
+				Tcl_Obj *objPtr, Nsf_Param CONST *pPtr,
+				ClientData *clientData, Tcl_Obj **outObjPtr);
+/* 32 */
+EXTERN int		Nsf_ConvertToInt32(Tcl_Interp *interp,
+				Tcl_Obj *objPtr, Nsf_Param CONST *pPtr,
+				ClientData *clientData, Tcl_Obj **outObjPtr);
+/* 33 */
+EXTERN int		Nsf_ConvertToInteger(Tcl_Interp *interp,
+				Tcl_Obj *objPtr, Nsf_Param CONST *pPtr,
+				ClientData *clientData, Tcl_Obj **outObjPtr);
+/* 34 */
+EXTERN int		Nsf_ConvertToObject(Tcl_Interp *interp,
+				Tcl_Obj *objPtr, Nsf_Param CONST *pPtr,
+				ClientData *clientData, Tcl_Obj **outObjPtr);
+/* 35 */
+EXTERN int		Nsf_ConvertToPointer(Tcl_Interp *interp,
+				Tcl_Obj *objPtr, Nsf_Param CONST *pPtr,
+				ClientData *clientData, Tcl_Obj **outObjPtr);
+/* 36 */
+EXTERN int		Nsf_ConvertToString(Tcl_Interp *interp,
+				Tcl_Obj *objPtr, Nsf_Param CONST *pPtr,
+				ClientData *clientData, Tcl_Obj **outObjPtr);
+/* 37 */
+EXTERN int		Nsf_ConvertToTclobj(Tcl_Interp *interp,
+				Tcl_Obj *objPtr, Nsf_Param CONST *pPtr,
+				ClientData *clientData, Tcl_Obj **outObjPtr);
+/* 38 */
+EXTERN int		Nsf_EnumerationTypeRegister(Tcl_Interp *interp,
+				Nsf_EnumeratorConverterEntry *typeRecords);
+/* 39 */
+EXTERN int		Nsf_CmdDefinitionRegister(Tcl_Interp *interp,
+				Nsf_methodDefinition *definitionRecords);
+
+typedef struct {
+    const struct NsfIntStubs *nsfIntStubs;
+} NsfStubHooks;
+
+typedef struct NsfStubs {
+    int magic;
+    const NsfStubHooks *hooks;
+
+    int (*nsf_Init) (Tcl_Interp *interp); /* 0 */
+    void (*reserved1)(void);
+    struct Nsf_Class * (*nsfIsClass) (Tcl_Interp *interp, ClientData cd); /* 2 */
+    struct Nsf_Object * (*nsfGetObject) (Tcl_Interp *interp, CONST char *name); /* 3 */
+    struct Nsf_Class * (*nsfGetClass) (Tcl_Interp *interp, CONST char *name); /* 4 */
+    int (*nsfDeleteObject) (Tcl_Interp *interp, struct Nsf_Object *object); /* 5 */
+    int (*nsfRemoveObjectMethod) (Tcl_Interp *interp, struct Nsf_Object *object, CONST char *nm); /* 6 */
+    int (*nsfRemoveClassMethod) (Tcl_Interp *interp, struct Nsf_Class *cl, CONST char *nm); /* 7 */
+    Tcl_Obj * (*nsf_ObjSetVar2) (struct Nsf_Object *object, Tcl_Interp *interp, Tcl_Obj *name1, Tcl_Obj *name2, Tcl_Obj *value, unsigned int flags); /* 8 */
+    Tcl_Obj * (*nsf_ObjGetVar2) (struct Nsf_Object *object, Tcl_Interp *interp, Tcl_Obj *name1, Tcl_Obj *name2, unsigned int flags); /* 9 */
+    int (*nsf_UnsetVar2) (struct Nsf_Object *object, Tcl_Interp *interp, CONST char *name1, CONST char *name2, unsigned int flags); /* 10 */
+    void (*nsfDStringPrintf) (Tcl_DString *dsPtr, CONST char *fmt, va_list apSrc); /* 11 */
+    int (*nsfPrintError) (Tcl_Interp *interp, CONST char *fmt, ...); /* 12 */
+    int (*nsfErrInProc) (Tcl_Interp *interp, Tcl_Obj *objName, Tcl_Obj *clName, CONST char *procName); /* 13 */
+    int (*nsfObjErrType) (Tcl_Interp *interp, CONST char *context, Tcl_Obj *value, CONST char *type, Nsf_Param CONST *pPtr); /* 14 */
+    void (*nsfStackDump) (Tcl_Interp *interp); /* 15 */
+    void (*nsfSetObjClientData) (Tcl_Interp *interp, Nsf_Object *object, ClientData data); /* 16 */
+    ClientData (*nsfGetObjClientData) (Tcl_Interp *interp, Nsf_Object *object); /* 17 */
+    void (*nsfSetClassClientData) (Tcl_Interp *interp, Nsf_Class *cl, ClientData data); /* 18 */
+    ClientData (*nsfGetClassClientData) (Tcl_Interp *interp, Nsf_Class *cl); /* 19 */
+    void (*nsfRequireObjNamespace) (Tcl_Interp *interp, Nsf_Object *object); /* 20 */
+    int (*nsfCallMethodWithArgs) (Tcl_Interp *interp, Nsf_Object *object, Tcl_Obj *method, Tcl_Obj *arg, int objc, Tcl_Obj *CONST objv[], unsigned int flags); /* 21 */
+    int (*nsfAddObjectMethod) (Tcl_Interp *interp, struct Nsf_Object *object, CONST char *nm, Tcl_ObjCmdProc *proc, ClientData cd, Tcl_CmdDeleteProc *dp, unsigned int flags); /* 22 */
+    int (*nsfAddClassMethod) (Tcl_Interp *interp, struct Nsf_Class *cl, CONST char *nm, Tcl_ObjCmdProc *proc, ClientData cd, Tcl_CmdDeleteProc *dp, unsigned int flags); /* 23 */
+    int (*nsfCreate) (Tcl_Interp *in, Nsf_Class *class, Tcl_Obj *name, int objc, Tcl_Obj *CONST objv[]); /* 24 */
+    int (*nsf_ArgumentParse) (Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[], Nsf_Object *object, Tcl_Obj *procNameObj, Nsf_Param CONST *paramPtr, int nrParams, int serial, unsigned int processFlags, Nsf_ParseContext *pcPtr); /* 25 */
+    void (*nsfLog) (Tcl_Interp *interp, int requiredLevel, CONST char *fmt, ...); /* 26 */
+    int (*nsf_PointerAdd) (Tcl_Interp *interp, char *buffer, CONST char *typeName, void *valuePtr); /* 27 */
+    int (*nsf_PointerDelete) (CONST char *key, void *valuePtr, int free); /* 28 */
+    int (*nsf_PointerTypeRegister) (Tcl_Interp *interp, CONST char*typeName, int *counterPtr); /* 29 */
+    int (*nsf_ConvertToBoolean) (Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr, ClientData *clientData, Tcl_Obj **outObjPtr); /* 30 */
+    int (*nsf_ConvertToClass) (Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr, ClientData *clientData, Tcl_Obj **outObjPtr); /* 31 */
+    int (*nsf_ConvertToInt32) (Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr, ClientData *clientData, Tcl_Obj **outObjPtr); /* 32 */
+    int (*nsf_ConvertToInteger) (Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr, ClientData *clientData, Tcl_Obj **outObjPtr); /* 33 */
+    int (*nsf_ConvertToObject) (Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr, ClientData *clientData, Tcl_Obj **outObjPtr); /* 34 */
+    int (*nsf_ConvertToPointer) (Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr, ClientData *clientData, Tcl_Obj **outObjPtr); /* 35 */
+    int (*nsf_ConvertToString) (Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr, ClientData *clientData, Tcl_Obj **outObjPtr); /* 36 */
+    int (*nsf_ConvertToTclobj) (Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr, ClientData *clientData, Tcl_Obj **outObjPtr); /* 37 */
+    int (*nsf_EnumerationTypeRegister) (Tcl_Interp *interp, Nsf_EnumeratorConverterEntry *typeRecords); /* 38 */
+    int (*nsf_CmdDefinitionRegister) (Tcl_Interp *interp, Nsf_methodDefinition *definitionRecords); /* 39 */
+} NsfStubs;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern const NsfStubs *nsfStubsPtr;
+#ifdef __cplusplus
+}
+#endif
+
+#if defined(USE_NSF_STUBS)
+
+/*
+ * Inline function declarations:
+ */
+
+#define Nsf_Init \
+	(nsfStubsPtr->nsf_Init) /* 0 */
+/* Slot 1 is reserved */
+#define NsfIsClass \
+	(nsfStubsPtr->nsfIsClass) /* 2 */
+#define NsfGetObject \
+	(nsfStubsPtr->nsfGetObject) /* 3 */
+#define NsfGetClass \
+	(nsfStubsPtr->nsfGetClass) /* 4 */
+#define NsfDeleteObject \
+	(nsfStubsPtr->nsfDeleteObject) /* 5 */
+#define NsfRemoveObjectMethod \
+	(nsfStubsPtr->nsfRemoveObjectMethod) /* 6 */
+#define NsfRemoveClassMethod \
+	(nsfStubsPtr->nsfRemoveClassMethod) /* 7 */
+#define Nsf_ObjSetVar2 \
+	(nsfStubsPtr->nsf_ObjSetVar2) /* 8 */
+#define Nsf_ObjGetVar2 \
+	(nsfStubsPtr->nsf_ObjGetVar2) /* 9 */
+#define Nsf_UnsetVar2 \
+	(nsfStubsPtr->nsf_UnsetVar2) /* 10 */
+#define NsfDStringPrintf \
+	(nsfStubsPtr->nsfDStringPrintf) /* 11 */
+#define NsfPrintError \
+	(nsfStubsPtr->nsfPrintError) /* 12 */
+#define NsfErrInProc \
+	(nsfStubsPtr->nsfErrInProc) /* 13 */
+#define NsfObjErrType \
+	(nsfStubsPtr->nsfObjErrType) /* 14 */
+#define NsfStackDump \
+	(nsfStubsPtr->nsfStackDump) /* 15 */
+#define NsfSetObjClientData \
+	(nsfStubsPtr->nsfSetObjClientData) /* 16 */
+#define NsfGetObjClientData \
+	(nsfStubsPtr->nsfGetObjClientData) /* 17 */
+#define NsfSetClassClientData \
+	(nsfStubsPtr->nsfSetClassClientData) /* 18 */
+#define NsfGetClassClientData \
+	(nsfStubsPtr->nsfGetClassClientData) /* 19 */
+#define NsfRequireObjNamespace \
+	(nsfStubsPtr->nsfRequireObjNamespace) /* 20 */
+#define NsfCallMethodWithArgs \
+	(nsfStubsPtr->nsfCallMethodWithArgs) /* 21 */
+#define NsfAddObjectMethod \
+	(nsfStubsPtr->nsfAddObjectMethod) /* 22 */
+#define NsfAddClassMethod \
+	(nsfStubsPtr->nsfAddClassMethod) /* 23 */
+#define NsfCreate \
+	(nsfStubsPtr->nsfCreate) /* 24 */
+#define Nsf_ArgumentParse \
+	(nsfStubsPtr->nsf_ArgumentParse) /* 25 */
+#define NsfLog \
+	(nsfStubsPtr->nsfLog) /* 26 */
+#define Nsf_PointerAdd \
+	(nsfStubsPtr->nsf_PointerAdd) /* 27 */
+#define Nsf_PointerDelete \
+	(nsfStubsPtr->nsf_PointerDelete) /* 28 */
+#define Nsf_PointerTypeRegister \
+	(nsfStubsPtr->nsf_PointerTypeRegister) /* 29 */
+#define Nsf_ConvertToBoolean \
+	(nsfStubsPtr->nsf_ConvertToBoolean) /* 30 */
+#define Nsf_ConvertToClass \
+	(nsfStubsPtr->nsf_ConvertToClass) /* 31 */
+#define Nsf_ConvertToInt32 \
+	(nsfStubsPtr->nsf_ConvertToInt32) /* 32 */
+#define Nsf_ConvertToInteger \
+	(nsfStubsPtr->nsf_ConvertToInteger) /* 33 */
+#define Nsf_ConvertToObject \
+	(nsfStubsPtr->nsf_ConvertToObject) /* 34 */
+#define Nsf_ConvertToPointer \
+	(nsfStubsPtr->nsf_ConvertToPointer) /* 35 */
+#define Nsf_ConvertToString \
+	(nsfStubsPtr->nsf_ConvertToString) /* 36 */
+#define Nsf_ConvertToTclobj \
+	(nsfStubsPtr->nsf_ConvertToTclobj) /* 37 */
+#define Nsf_EnumerationTypeRegister \
+	(nsfStubsPtr->nsf_EnumerationTypeRegister) /* 38 */
+#define Nsf_CmdDefinitionRegister \
+	(nsfStubsPtr->nsf_CmdDefinitionRegister) /* 39 */
+
+#endif /* defined(USE_NSF_STUBS) */
+
+/* !END!: Do not edit above this line. */
+
+#endif /* _NSFDECLS */
+
Index: generic/stubs8.6/nsfIntDecls.h
===================================================================
diff -u
--- generic/stubs8.6/nsfIntDecls.h	(revision 0)
+++ generic/stubs8.6/nsfIntDecls.h	(revision 74d3e18a8ce3eedc4cbf6b8900d0f262d59ea708)
@@ -0,0 +1,58 @@
+/*
+ * nsfIntDecls.h --
+ *
+ *	This file contains the declarations for all unsupported
+ *	functions that are exported by the Tcl library.  These
+ *	interfaces are not guaranteed to remain the same between
+ *	versions.  Use at your own risk.
+ *
+ * Copyright (C) 1998-2008 Uwe Zdun
+ * Copyright (C) 1998-2014 Gustaf Neumann
+ *
+ * See the file "tcl-license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ */
+
+#ifndef _NSFINTDECLS
+#define _NSFINTDECLS
+
+/*
+ * WARNING: This file is automatically generated by the tools/genStubs.tcl
+ * script.  Any modifications to the function declarations below should be made
+ * in the nsfInt.decls script.
+ */
+
+/* !BEGIN!: Do not edit below this line. */
+
+/*
+ * Exported function declarations:
+ */
+
+
+typedef struct NsfIntStubs {
+    int magic;
+    void *hooks;
+
+} NsfIntStubs;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern const NsfIntStubs *nsfIntStubsPtr;
+#ifdef __cplusplus
+}
+#endif
+
+#if defined(USE_NSF_STUBS)
+
+/*
+ * Inline function declarations:
+ */
+
+
+#endif /* defined(USE_NSF_STUBS) */
+
+/* !END!: Do not edit above this line. */
+
+#endif /* _NSFINTDECLS */
Index: generic/stubs8.6/nsfStubInit.c
===================================================================
diff -u
--- generic/stubs8.6/nsfStubInit.c	(revision 0)
+++ generic/stubs8.6/nsfStubInit.c	(revision 74d3e18a8ce3eedc4cbf6b8900d0f262d59ea708)
@@ -0,0 +1,99 @@
+/* 
+ * nxStubInit.c --
+ *
+ *	This file contains the initializers for the stub vectors of the Next
+ *	Scripting Framework.
+ *
+ * Copyright (C) 1998-1999 by XXX
+ *
+ * See the file "tcl-license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ */
+
+#include "nsfInt.h"
+
+/*
+ * Remove macros that will interfere with the definitions below.
+ */
+
+/*
+ * WARNING: The contents of this file is automatically generated by the
+ * tools/genStubs.tcl script. Any modifications to the function declarations
+ * below should be made in the generic/tcl.decls script.
+ */
+
+#if defined(PRE86)
+EXTERN NsfStubs nsfStubs;
+# else
+MODULE_SCOPE const NsfStubs nsfStubs;
+#endif
+
+
+
+
+/* !BEGIN!: Do not edit below this line. */
+
+static const NsfIntStubs nsfIntStubs = {
+    TCL_STUB_MAGIC,
+    0,
+};
+
+static const NsfStubHooks nsfStubHooks = {
+    &nsfIntStubs
+};
+
+const NsfStubs nsfStubs = {
+    TCL_STUB_MAGIC,
+    &nsfStubHooks,
+    Nsf_Init, /* 0 */
+    0, /* 1 */
+    NsfIsClass, /* 2 */
+    NsfGetObject, /* 3 */
+    NsfGetClass, /* 4 */
+    NsfDeleteObject, /* 5 */
+    NsfRemoveObjectMethod, /* 6 */
+    NsfRemoveClassMethod, /* 7 */
+    Nsf_ObjSetVar2, /* 8 */
+    Nsf_ObjGetVar2, /* 9 */
+    Nsf_UnsetVar2, /* 10 */
+    NsfDStringPrintf, /* 11 */
+    NsfPrintError, /* 12 */
+    NsfErrInProc, /* 13 */
+    NsfObjErrType, /* 14 */
+    NsfStackDump, /* 15 */
+    NsfSetObjClientData, /* 16 */
+    NsfGetObjClientData, /* 17 */
+    NsfSetClassClientData, /* 18 */
+    NsfGetClassClientData, /* 19 */
+    NsfRequireObjNamespace, /* 20 */
+    NsfCallMethodWithArgs, /* 21 */
+    NsfAddObjectMethod, /* 22 */
+    NsfAddClassMethod, /* 23 */
+    NsfCreate, /* 24 */
+    Nsf_ArgumentParse, /* 25 */
+    NsfLog, /* 26 */
+    Nsf_PointerAdd, /* 27 */
+    Nsf_PointerDelete, /* 28 */
+    Nsf_PointerTypeRegister, /* 29 */
+    Nsf_ConvertToBoolean, /* 30 */
+    Nsf_ConvertToClass, /* 31 */
+    Nsf_ConvertToInt32, /* 32 */
+    Nsf_ConvertToInteger, /* 33 */
+    Nsf_ConvertToObject, /* 34 */
+    Nsf_ConvertToPointer, /* 35 */
+    Nsf_ConvertToString, /* 36 */
+    Nsf_ConvertToTclobj, /* 37 */
+    Nsf_EnumerationTypeRegister, /* 38 */
+    Nsf_CmdDefinitionRegister, /* 39 */
+};
+
+/* !END!: Do not edit above this line. */
+
+/*
+ * Local Variables:
+ * mode: c
+ * c-basic-offset: 2
+ * fill-column: 78
+ * End:
+ */