From 38a95a62dcb1fc490f1d0b553eff6a0ddd209bb4 Mon Sep 17 00:00:00 2001 From: dkf Date: Fri, 10 Dec 2004 00:16:52 +0000 Subject: Make ensemble API available to rest of Tcl core. --- ChangeLog | 4 ++++ generic/tclInt.h | 36 +++++++++++++++++++++++++++++++++++- generic/tclNamesp.c | 36 +----------------------------------- 3 files changed, 40 insertions(+), 36 deletions(-) diff --git a/ChangeLog b/ChangeLog index a8a81dd..fd6bdf6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2004-12-10 Donal K. Fellows + + * generic/tclInt.h: Move ensemble API decls here from tclNamesp.c + 2004-12-09 Donal K. Fellows * generic/tclNamesp.c (TclMakeEnsembleCmd, TclSetEnsemble*) diff --git a/generic/tclInt.h b/generic/tclInt.h index e7c400f..c163c2b 100644 --- a/generic/tclInt.h +++ b/generic/tclInt.h @@ -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: tclInt.h,v 1.203 2004/12/04 21:19:18 dgp Exp $ + * RCS: @(#) $Id: tclInt.h,v 1.204 2004/12/10 00:16:55 dkf Exp $ */ #ifndef _TCLINT @@ -2008,7 +2008,41 @@ MODULE_SCOPE int TclpDlopen _ANSI_ARGS_((Tcl_Interp *interp, Tcl_FSUnloadFileProc **unloadProcPtr)); MODULE_SCOPE int TclpUtime _ANSI_ARGS_((Tcl_Obj *pathPtr, struct utimbuf *tval)); +/* + * These declarations ought to be exposed in a TIP (i.e. gain a '_' in + * their names and move to tcl.decls). + */ MODULE_SCOPE int TclIsEnsemble _ANSI_ARGS_((Command *cmdPtr)); +MODULE_SCOPE Tcl_Command TclMakeEnsembleCmd _ANSI_ARGS_(( + Tcl_Interp *interp, CONST char *name, + Tcl_Namespace *namespacePtr, int flags)); +MODULE_SCOPE Tcl_Command TclFindEnsemble _ANSI_ARGS_((Tcl_Interp *interp, + Tcl_Obj *cmdNameObj, int flags)); +MODULE_SCOPE int TclSetEnsembleSubcommandList _ANSI_ARGS_(( + Tcl_Interp *interp, Tcl_Command token, + Tcl_Obj *subcmdList)); +MODULE_SCOPE int TclSetEnsembleMappingDict _ANSI_ARGS_(( + Tcl_Interp *interp, Tcl_Command token, + Tcl_Obj *mapDict)); +MODULE_SCOPE int TclSetEnsembleUnknownHandler _ANSI_ARGS_(( + Tcl_Interp *interp, Tcl_Command token, + Tcl_Obj *unknownList)); +MODULE_SCOPE int TclSetEnsembleFlags _ANSI_ARGS_((Tcl_Interp *interp, + Tcl_Command token, int flags)); +MODULE_SCOPE int TclGetEnsembleSubcommandList _ANSI_ARGS_(( + Tcl_Interp *interp, Tcl_Command token, + Tcl_Obj **subcmdList)); +MODULE_SCOPE int TclGetEnsembleMappingDict _ANSI_ARGS_(( + Tcl_Interp *interp, Tcl_Command token, + Tcl_Obj **mapDict)); +MODULE_SCOPE int TclGetEnsembleUnknownHandler _ANSI_ARGS_(( + Tcl_Interp *interp, Tcl_Command token, + Tcl_Obj **unknownList)); +MODULE_SCOPE int TclGetEnsembleFlags _ANSI_ARGS_((Tcl_Interp *interp, + Tcl_Command token, int *flags)); +MODULE_SCOPE int TclGetEnsembleNamespace _ANSI_ARGS_(( + Tcl_Interp *interp, Tcl_Command token, + Tcl_Namespace **namespacePtrPtr)); /* *---------------------------------------------------------------- diff --git a/generic/tclNamesp.c b/generic/tclNamesp.c index 9528238..778b243 100644 --- a/generic/tclNamesp.c +++ b/generic/tclNamesp.c @@ -21,7 +21,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclNamesp.c,v 1.67 2004/12/09 16:21:33 dkf Exp $ + * RCS: @(#) $Id: tclNamesp.c,v 1.68 2004/12/10 00:16:55 dkf Exp $ */ #include "tclInt.h" @@ -272,40 +272,6 @@ static void DupEnsembleCmdRep _ANSI_ARGS_((Tcl_Obj *objPtr, static void StringOfEnsembleCmdRep _ANSI_ARGS_((Tcl_Obj *objPtr)); /* - * These declarations to eventually move to tclInt.decls - */ -Tcl_Command TclMakeEnsembleCmd _ANSI_ARGS_(( - Tcl_Interp *interp, CONST char *name, - Tcl_Namespace *namespacePtr, int flags)); -Tcl_Command TclFindEnsemble _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Obj *cmdNameObj, int flags)); -int TclSetEnsembleSubcommandList _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Command token, - Tcl_Obj *subcmdList)); -int TclSetEnsembleMappingDict _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Command token, - Tcl_Obj *mapDict)); -int TclSetEnsembleUnknownHandler _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Command token, - Tcl_Obj *unknownList)); -int TclSetEnsembleFlags _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Command token, int flags)); -int TclGetEnsembleSubcommandList _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Command token, - Tcl_Obj **subcmdList)); -int TclGetEnsembleMappingDict _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Command token, - Tcl_Obj **mapDict)); -int TclGetEnsembleUnknownHandler _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Command token, - Tcl_Obj **unknownList)); -int TclGetEnsembleFlags _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_Command token, int *flags)); -int TclGetEnsembleNamespace _ANSI_ARGS_(( - Tcl_Interp *interp, Tcl_Command token, - Tcl_Namespace **namespacePtrPtr)); - -/* * This structure defines a Tcl object type that contains a * namespace reference. It is used in commands that take the * name of a namespace as an argument. The namespace reference -- cgit v0.12