summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-tcltk/expect/files/expect-5.43.0-avoid-tcl-internals-1.patch')
-rw-r--r--dev-tcltk/expect/files/expect-5.43.0-avoid-tcl-internals-1.patch100
1 files changed, 0 insertions, 100 deletions
diff --git a/dev-tcltk/expect/files/expect-5.43.0-avoid-tcl-internals-1.patch b/dev-tcltk/expect/files/expect-5.43.0-avoid-tcl-internals-1.patch
deleted file mode 100644
index 517fe93f8b2..00000000000
--- a/dev-tcltk/expect/files/expect-5.43.0-avoid-tcl-internals-1.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-Submitted By: Bryan Kadzban <bryan@kadzban.is-a-geek.net>
-Date: 2008-01-12
-Initial Package Version: 5.43
-Upstream status: Not Submitted - Test Version
-Origin: LFS ticket 2126 (http://wiki.linuxfromscratch.org/lfs/ticket/2126)
-Description: Removes references to functions that Tcl 8.5 no longer exposes.
-
-diff -Naur expect-5.43/exp_command.c expect-5.43-patched/exp_command.c
---- expect-5.43/exp_command.c 2004-08-20 13:18:01.000000000 -0400
-+++ expect-5.43-patched/exp_command.c 2008-01-12 11:42:45.000000000 -0500
-@@ -2265,6 +2265,8 @@
- /*NOTREACHED*/
- }
-
-+static struct exp_cmd_data cmd_data[];
-+
- /*ARGSUSED*/
- static int
- Exp_CloseObjCmd(clientData, interp, objc, objv)
-@@ -2311,12 +2313,23 @@
- /* Historical note: we used "close" long before there was a */
- /* Tcl builtin by the same name. */
-
-+ /* The code that registered this function as the handler for */
-+ /* the "close" command stored away the old handler in the */
-+ /* exp_cmd_data for the "close" command. */
-+
-+ struct exp_cmd_data *cmd_ptr;
- Tcl_CmdInfo info;
-+
-+ for(cmd_ptr = &cmd_data[0]; cmd_ptr->name; cmd_ptr++) {
-+ if(strncmp(cmd_ptr->name, "close", 5) == 0)
-+ break;
-+ }
-+
- Tcl_ResetResult(interp);
- if (0 == Tcl_GetCommandInfo(interp,"close",&info)) {
- info.clientData = 0;
- }
-- return(Tcl_CloseObjCmd(info.clientData,interp,objc_orig,objv_orig));
-+ return(cmd_ptr->old_objProc(info.clientData,interp,objc_orig,objv_orig));
- }
-
- if (chanName) {
-@@ -2961,7 +2974,10 @@
- /* if successful (i.e., TCL_RETURN is returned) */
- /* modify the result, so that we will handle it specially */
-
-- int result = Tcl_ReturnObjCmd(clientData,interp,objc,objv);
-+ Tcl_CmdInfo info;
-+ Tcl_GetCommandInfo(interp, "return", &info);
-+
-+ int result = info.objProc(clientData,interp,objc,objv);
- if (result == TCL_RETURN)
- result = EXP_TCL_RETURN;
- return result;
-@@ -3062,8 +3078,7 @@
-
- for (;c->name;c++) {
- /* if already defined, don't redefine */
-- if ((c->flags & EXP_REDEFINE) ||
-- !(Tcl_FindHashEntry(&globalNsPtr->cmdTable,c->name) ||
-+ if (!(Tcl_FindHashEntry(&globalNsPtr->cmdTable,c->name) ||
- Tcl_FindHashEntry(&currNsPtr->cmdTable,c->name))) {
- if (c->objproc)
- Tcl_CreateObjCommand(interp,c->name,
-@@ -3072,6 +3087,21 @@
- Tcl_CreateCommand(interp,c->name,c->proc,
- c->data,exp_deleteProc);
- }
-+ else if (c->flags & EXP_REDEFINE) { /* unless the REDEFINE flag is present */
-+ Tcl_CmdInfo info;
-+
-+ if (Tcl_GetCommandInfo(interp, c->name, &info)) {
-+ c->old_proc = info.proc;
-+ c->old_objProc = info.objProc;
-+ }
-+
-+ if (c->objproc)
-+ Tcl_CreateObjCommand(interp,c->name,
-+ c->objproc,c->data,exp_deleteObjProc);
-+ else
-+ Tcl_CreateCommand(interp,c->name,c->proc,
-+ c->data,exp_deleteProc);
-+ }
- if (!(c->name[0] == 'e' &&
- c->name[1] == 'x' &&
- c->name[2] == 'p')
-diff -Naur expect-5.43/exp_command.h expect-5.43-patched/exp_command.h
---- expect-5.43/exp_command.h 2008-01-12 11:44:11.000000000 -0500
-+++ expect-5.43-patched/exp_command.h 2008-01-12 11:26:05.000000000 -0500
-@@ -297,6 +297,8 @@
- Tcl_CmdProc *proc;
- ClientData data;
- int flags;
-+ Tcl_CmdProc *old_proc; /* these store the procedure for the old command, */
-+ Tcl_ObjCmdProc *old_objProc; /* if any */
- };
-
- EXTERN void exp_create_commands _ANSI_ARGS_((Tcl_Interp *,