1 |
mescalinum 08/11/02 13:11:09 |
2 |
|
3 |
Added: expect-5.43.0-avoid-tcl-internals-1.patch |
4 |
expect-5.43.0-multilib.patch |
5 |
Log: |
6 |
adding v5.43.0, cause 5.44.1 was retired due to problems - bug #244827 |
7 |
(Portage version: 2.1.4.4) |
8 |
|
9 |
Revision Changes Path |
10 |
1.1 dev-tcltk/expect/files/expect-5.43.0-avoid-tcl-internals-1.patch |
11 |
|
12 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-tcltk/expect/files/expect-5.43.0-avoid-tcl-internals-1.patch?rev=1.1&view=markup |
13 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-tcltk/expect/files/expect-5.43.0-avoid-tcl-internals-1.patch?rev=1.1&content-type=text/plain |
14 |
|
15 |
Index: expect-5.43.0-avoid-tcl-internals-1.patch |
16 |
=================================================================== |
17 |
Submitted By: Bryan Kadzban <bryan@×××××××××××××××××.net> |
18 |
Date: 2008-01-12 |
19 |
Initial Package Version: 5.43 |
20 |
Upstream status: Not Submitted - Test Version |
21 |
Origin: LFS ticket 2126 (http://wiki.linuxfromscratch.org/lfs/ticket/2126) |
22 |
Description: Removes references to functions that Tcl 8.5 no longer exposes. |
23 |
|
24 |
diff -Naur expect-5.43/exp_command.c expect-5.43-patched/exp_command.c |
25 |
--- expect-5.43/exp_command.c 2004-08-20 13:18:01.000000000 -0400 |
26 |
+++ expect-5.43-patched/exp_command.c 2008-01-12 11:42:45.000000000 -0500 |
27 |
@@ -2265,6 +2265,8 @@ |
28 |
/*NOTREACHED*/ |
29 |
} |
30 |
|
31 |
+static struct exp_cmd_data cmd_data[]; |
32 |
+ |
33 |
/*ARGSUSED*/ |
34 |
static int |
35 |
Exp_CloseObjCmd(clientData, interp, objc, objv) |
36 |
@@ -2311,12 +2313,23 @@ |
37 |
/* Historical note: we used "close" long before there was a */ |
38 |
/* Tcl builtin by the same name. */ |
39 |
|
40 |
+ /* The code that registered this function as the handler for */ |
41 |
+ /* the "close" command stored away the old handler in the */ |
42 |
+ /* exp_cmd_data for the "close" command. */ |
43 |
+ |
44 |
+ struct exp_cmd_data *cmd_ptr; |
45 |
Tcl_CmdInfo info; |
46 |
+ |
47 |
+ for(cmd_ptr = &cmd_data[0]; cmd_ptr->name; cmd_ptr++) { |
48 |
+ if(strncmp(cmd_ptr->name, "close", 5) == 0) |
49 |
+ break; |
50 |
+ } |
51 |
+ |
52 |
Tcl_ResetResult(interp); |
53 |
if (0 == Tcl_GetCommandInfo(interp,"close",&info)) { |
54 |
info.clientData = 0; |
55 |
} |
56 |
- return(Tcl_CloseObjCmd(info.clientData,interp,objc_orig,objv_orig)); |
57 |
+ return(cmd_ptr->old_objProc(info.clientData,interp,objc_orig,objv_orig)); |
58 |
} |
59 |
|
60 |
if (chanName) { |
61 |
@@ -2961,7 +2974,10 @@ |
62 |
/* if successful (i.e., TCL_RETURN is returned) */ |
63 |
/* modify the result, so that we will handle it specially */ |
64 |
|
65 |
- int result = Tcl_ReturnObjCmd(clientData,interp,objc,objv); |
66 |
+ Tcl_CmdInfo info; |
67 |
+ Tcl_GetCommandInfo(interp, "return", &info); |
68 |
+ |
69 |
+ int result = info.objProc(clientData,interp,objc,objv); |
70 |
if (result == TCL_RETURN) |
71 |
result = EXP_TCL_RETURN; |
72 |
return result; |
73 |
@@ -3062,8 +3078,7 @@ |
74 |
|
75 |
for (;c->name;c++) { |
76 |
/* if already defined, don't redefine */ |
77 |
- if ((c->flags & EXP_REDEFINE) || |
78 |
- !(Tcl_FindHashEntry(&globalNsPtr->cmdTable,c->name) || |
79 |
+ if (!(Tcl_FindHashEntry(&globalNsPtr->cmdTable,c->name) || |
80 |
Tcl_FindHashEntry(&currNsPtr->cmdTable,c->name))) { |
81 |
if (c->objproc) |
82 |
Tcl_CreateObjCommand(interp,c->name, |
83 |
@@ -3072,6 +3087,21 @@ |
84 |
Tcl_CreateCommand(interp,c->name,c->proc, |
85 |
c->data,exp_deleteProc); |
86 |
} |
87 |
+ else if (c->flags & EXP_REDEFINE) { /* unless the REDEFINE flag is present */ |
88 |
+ Tcl_CmdInfo info; |
89 |
+ |
90 |
+ if (Tcl_GetCommandInfo(interp, c->name, &info)) { |
91 |
+ c->old_proc = info.proc; |
92 |
+ c->old_objProc = info.objProc; |
93 |
+ } |
94 |
+ |
95 |
+ if (c->objproc) |
96 |
+ Tcl_CreateObjCommand(interp,c->name, |
97 |
+ c->objproc,c->data,exp_deleteObjProc); |
98 |
+ else |
99 |
+ Tcl_CreateCommand(interp,c->name,c->proc, |
100 |
+ c->data,exp_deleteProc); |
101 |
+ } |
102 |
if (!(c->name[0] == 'e' && |
103 |
c->name[1] == 'x' && |
104 |
c->name[2] == 'p') |
105 |
diff -Naur expect-5.43/exp_command.h expect-5.43-patched/exp_command.h |
106 |
--- expect-5.43/exp_command.h 2008-01-12 11:44:11.000000000 -0500 |
107 |
+++ expect-5.43-patched/exp_command.h 2008-01-12 11:26:05.000000000 -0500 |
108 |
@@ -297,6 +297,8 @@ |
109 |
Tcl_CmdProc *proc; |
110 |
ClientData data; |
111 |
int flags; |
112 |
+ Tcl_CmdProc *old_proc; /* these store the procedure for the old command, */ |
113 |
+ Tcl_ObjCmdProc *old_objProc; /* if any */ |
114 |
}; |
115 |
|
116 |
EXTERN void exp_create_commands _ANSI_ARGS_((Tcl_Interp *, |
117 |
|
118 |
|
119 |
|
120 |
1.1 dev-tcltk/expect/files/expect-5.43.0-multilib.patch |
121 |
|
122 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-tcltk/expect/files/expect-5.43.0-multilib.patch?rev=1.1&view=markup |
123 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-tcltk/expect/files/expect-5.43.0-multilib.patch?rev=1.1&content-type=text/plain |
124 |
|
125 |
Index: expect-5.43.0-multilib.patch |
126 |
=================================================================== |
127 |
--- expect-5.42/configure.in.orig 2004-12-21 03:02:36.095170881 -0800 |
128 |
+++ expect-5.42/configure.in 2004-12-21 03:03:08.987170537 -0800 |
129 |
@@ -1141,7 +1141,7 @@ |
130 |
fi |
131 |
|
132 |
EXP_BUILD_LIB_SPEC="-L`pwd` -lexpect${EXP_LIB_VERSION}${DBGX}" |
133 |
-EXP_LIB_SPEC="-L\${INSTALL_ROOT}\${exec_prefix}/lib -lexpect${EXP_LIB_VERSION}${DBGX}" |
134 |
+EXP_LIB_SPEC="-L\${libdir} -lexpect${EXP_LIB_VERSION}${DBGX}" |
135 |
EXP_UNSHARED_LIB_FILE=libexpect${EXP_LIB_VERSION}${DBGX}.a |
136 |
|
137 |
# The TCL_SHARED_LIB_SUFFIX macro below relies on the DBGX macro, |