summaryrefslogtreecommitdiffstats
path: root/generic/tclNamesp.c
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2006-07-10 01:17:30 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2006-07-10 01:17:30 (GMT)
commit33f67300386b2d7ab267e3255c25a6816d5107a3 (patch)
tree1b7d7add83d7eda04eeea1bb13ae5e90fe157aad /generic/tclNamesp.c
parent5c5523ef366995f114b67deb5831d7740694273c (diff)
downloadtcl-33f67300386b2d7ab267e3255c25a6816d5107a3.zip
tcl-33f67300386b2d7ab267e3255c25a6816d5107a3.tar.gz
tcl-33f67300386b2d7ab267e3255c25a6816d5107a3.tar.bz2
Dispatch is mostly working now; just got to get dispatch to "procedure-like"
methods done now; tricky, but a more scoped problem.
Diffstat (limited to 'generic/tclNamesp.c')
-rw-r--r--generic/tclNamesp.c56
1 files changed, 3 insertions, 53 deletions
diff --git a/generic/tclNamesp.c b/generic/tclNamesp.c
index f9b9877..8736b49 100644
--- a/generic/tclNamesp.c
+++ b/generic/tclNamesp.c
@@ -22,7 +22,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.93.2.2 2006/04/23 23:08:08 dkf Exp $
+ * RCS: @(#) $Id: tclNamesp.c,v 1.93.2.3 2006/07/10 01:17:32 dkf Exp $
*/
#include "tclInt.h"
@@ -117,19 +117,8 @@ typedef struct EnsembleConfig {
* all lists, and cannot be found by scanning
* the list from the namespace's ensemble
* field. */
- int flags; /* ORed combo of ENS_DEAD and
- * TCL_ENSEMBLE_PREFIX. */
- TclEnsembleCallbackProc enterProc;
- /* Function to call immediately before
- * dispatch of a particular ensemble command
- * or its unknown callback, or NULL if no such
- * callback is to be performed. */
- TclEnsembleCallbackProc leaveProc;
- /* Function to call immediately after dispatch
- * of a particular ensemble command or its
- * unknown callback, or NULL if no such
- * callback is to be performed. */
- ClientData clientData; /* Data for the above two callbacks. */
+ int flags; /* ORed combo of TCL_ENSEMBLE_PREFIX and
+ * ENS_DEAD. */
/* OBJECT FIELDS FOR ENSEMBLE CONFIGURATION */
@@ -5483,9 +5472,6 @@ Tcl_CreateEnsemble(
ensemblePtr->subcmdList = NULL;
ensemblePtr->subcommandDict = NULL;
ensemblePtr->flags = flags;
- ensemblePtr->enterProc = NULL;
- ensemblePtr->leaveProc = NULL;
- ensemblePtr->clientData = NULL;
ensemblePtr->unknownHandler = NULL;
ensemblePtr->token = Tcl_CreateObjCommand(interp, name,
NsEnsembleImplementationCmd, (ClientData)ensemblePtr,
@@ -5954,26 +5940,6 @@ Tcl_GetEnsembleNamespace(
return TCL_OK;
}
-void
-TclEnsembleSetCallbacks(
- Tcl_Command ensemble,
- TclEnsembleCallbackProc enterProc,
- TclEnsembleCallbackProc leaveProc,
- ClientData clientData)
-{
- Command *cmdPtr = (Command *) ensemble;
- EnsembleConfig *ensemblePtr;
-
- if (cmdPtr->objProc != NsEnsembleImplementationCmd) {
- Tcl_Panic("command is not an ensemble");
- }
-
- ensemblePtr = (EnsembleConfig *) cmdPtr->objClientData;
- ensemblePtr->enterProc = enterProc;
- ensemblePtr->leaveProc = leaveProc;
- ensemblePtr->clientData = clientData;
-}
-
/*
*----------------------------------------------------------------------
*
@@ -6250,12 +6216,7 @@ NsEnsembleImplementationCmd(
{
Interp *iPtr = (Interp *) interp;
int isRootEnsemble = (iPtr->ensembleRewrite.sourceObjs == NULL);
- TclEnsembleCallbackProc leaveProc = ensemblePtr->leaveProc;
- ClientData cbClientData = ensemblePtr->clientData;
- if (ensemblePtr->enterProc != NULL) {
- ensemblePtr->enterProc(cbClientData);
- }
Tcl_ListObjGetElements(NULL, prefixObj, &prefixObjc, &prefixObjv);
if (isRootEnsemble) {
iPtr->ensembleRewrite.sourceObjs = objv;
@@ -6282,9 +6243,6 @@ NsEnsembleImplementationCmd(
iPtr->ensembleRewrite.numRemovedObjs = 0;
iPtr->ensembleRewrite.numInsertedObjs = 0;
}
- if (leaveProc != NULL) {
- leaveProc(cbClientData);
- }
return result;
}
@@ -6299,8 +6257,6 @@ NsEnsembleImplementationCmd(
if (ensemblePtr->unknownHandler != NULL && reparseCount++ < 1) {
int paramc, i;
Tcl_Obj **paramv, *unknownCmd, *ensObj;
- TclEnsembleCallbackProc leaveProc = ensemblePtr->leaveProc;
- ClientData cbClientData = ensemblePtr->clientData;
unknownCmd = Tcl_DuplicateObj(ensemblePtr->unknownHandler);
TclNewObj(ensObj);
@@ -6312,13 +6268,7 @@ NsEnsembleImplementationCmd(
Tcl_ListObjGetElements(NULL, unknownCmd, &paramc, &paramv);
Tcl_Preserve(ensemblePtr);
Tcl_IncrRefCount(unknownCmd);
- if (ensemblePtr->enterProc != NULL) {
- ensemblePtr->enterProc(cbClientData);
- }
result = Tcl_EvalObjv(interp, paramc, paramv, 0);
- if (leaveProc != NULL) {
- leaveProc(cbClientData);
- }
if (result == TCL_OK) {
prefixObj = Tcl_GetObjResult(interp);
Tcl_IncrRefCount(prefixObj);