Tcl Source Code

Artifact [744eb1d02e]
Login

Artifact 744eb1d02ea31e78a607d6090ab6dcb5d715d071:

Attachment "alias.patch" to ticket [507189ffff] added by dgp 2002-01-23 04:42:43.
Index: ChangeLog
===================================================================
RCS file: /cvsroot/tcl/tcl/ChangeLog,v
retrieving revision 1.809
diff -u -u -r1.809 ChangeLog
--- ChangeLog	2002/01/21 22:50:49	1.809
+++ ChangeLog	2002/01/22 21:30:53
@@ -1,3 +1,14 @@
+2002-01-22  Don Porter <[email protected]>
+
+	* doc/CrtSlave.3:
+	* generic/tcl.decls (Tcl_CreateAlias,Tcl_GetAlias):
+	* generic/tclInterp.c (Tcl_CreateAlias,Tcl_GetAlias):  Updated
+	interfaces of generic/tclInterp.c according to TIP 27.
+	* generic/tclDecls.h: make genstubs
+	***POTENTIAL INCOMPATIBILITY*** 
+	Includes source incompatibility in argv argument of Tcl_CreateAlias
+	and argvPtr argument of Tcl_GetAlias.
+
 2002-01-21  David Gravereaux <[email protected]>
 
 	* generic/tclLoadNone.c: TclpLoadFile() didn't match proto of
Index: doc/CrtSlave.3
===================================================================
RCS file: /cvsroot/tcl/tcl/doc/CrtSlave.3,v
retrieving revision 1.6
diff -u -u -r1.6 CrtSlave.3
--- doc/CrtSlave.3	2002/01/16 06:02:33	1.6
+++ doc/CrtSlave.3	2002/01/22 21:30:53
@@ -73,7 +73,7 @@
 Name of target command for alias in \fItargetInterp\fR.
 .AP int argc in
 Count of additional arguments to pass to the alias command.
-.AP "char * CONST" *argv in
+.AP "CONST char * CONST" *argv in
 Vector of strings, the additional arguments to pass to the alias command.
 This storage is owned by the caller.
 .AP int objc in
@@ -91,7 +91,7 @@
 .AP int *argcPtr out
 Pointer to location to store count of additional arguments to be passed to
 the alias. The location is in storage owned by the caller.
-.AP char ***argvPtr out
+.AP "CONST char" ***argvPtr out
 Pointer to location to store a vector of strings, the additional arguments
 to pass to an alias. The location is in storage owned by the caller, the
 vector of strings is owned by the called function.
Index: generic/tcl.decls
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tcl.decls,v
retrieving revision 1.76
diff -u -u -r1.76 tcl.decls
--- generic/tcl.decls	2002/01/21 16:15:03	1.76
+++ generic/tcl.decls	2002/01/22 21:30:53
@@ -318,7 +318,7 @@
 declare 86 generic {
     int Tcl_CreateAlias(Tcl_Interp *slave, CONST char *slaveCmd, \
 	    Tcl_Interp *target, CONST char *targetCmd, int argc, \
-	    char * CONST *argv)
+	    CONST char * CONST *argv)
 }
 declare 87 generic {
     int Tcl_CreateAliasObj(Tcl_Interp *slave, CONST char *slaveCmd, \
@@ -532,7 +532,7 @@
 declare 148 generic {
     int Tcl_GetAlias(Tcl_Interp *interp, CONST char *slaveCmd, \
 	    Tcl_Interp **targetInterpPtr, CONST char **targetCmdPtr, \
-	    int *argcPtr, char ***argvPtr)
+	    int *argcPtr, CONST char ***argvPtr)
 }
 declare 149 generic {
     int Tcl_GetAliasObj(Tcl_Interp *interp, CONST char *slaveCmd, \
Index: generic/tclInterp.c
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tclInterp.c,v
retrieving revision 1.10
diff -u -u -r1.10 tclInterp.c
--- generic/tclInterp.c	2002/01/17 04:37:33	1.10
+++ generic/tclInterp.c	2002/01/22 21:31:02
@@ -812,7 +812,7 @@
     Tcl_Interp *targetInterp;	/* Interpreter for target command. */
     CONST char *targetCmd;	/* Name of target command. */
     int argc;			/* How many additional arguments? */
-    char * CONST *argv;		/* These are the additional args. */
+    CONST char * CONST *argv;	/* These are the additional args. */
 {
     Tcl_Obj *slaveObjPtr, *targetObjPtr;
     Tcl_Obj **objv;
@@ -910,7 +910,7 @@
     Tcl_Interp **targetInterpPtr;	/* (Return) target interpreter. */
     CONST char **targetNamePtr;		/* (Return) name of target command. */
     int *argcPtr;			/* (Return) count of addnl args. */
-    char ***argvPtr;			/* (Return) additional arguments. */
+    CONST char ***argvPtr;		/* (Return) additional arguments. */
 {
     InterpInfo *iiPtr;
     Tcl_HashEntry *hPtr;
@@ -938,7 +938,8 @@
 	*argcPtr = objc - 1;
     }
     if (argvPtr != NULL) {
-        *argvPtr = (char **) ckalloc((unsigned) sizeof(char *) * (objc - 1));
+        *argvPtr = (CONST char **)
+		ckalloc((unsigned) sizeof(char *) * (objc - 1));
         for (i = 1; i < objc; i++) {
             *argvPtr[i - 1] = Tcl_GetString(objv[i]);
         }