diff --git a/expect-5.43.0-tcl8.5.6.patch b/expect-5.43.0-tcl8.5.6.patch new file mode 100644 index 0000000..fd75c0e --- /dev/null +++ b/expect-5.43.0-tcl8.5.6.patch @@ -0,0 +1,42 @@ +diff -up expect-5.43/exp_command.c_old expect-5.43/exp_command.c +--- expect-5.43/exp_command.c_old 2009-02-10 16:23:48.000000000 +0100 ++++ expect-5.43/exp_command.c 2009-02-10 16:31:38.000000000 +0100 +@@ -2311,12 +2311,11 @@ Tcl_Obj *CONST objv[]; /* Argument objec + /* Historical note: we used "close" long before there was a */ + /* Tcl builtin by the same name. */ + +- Tcl_CmdInfo info; ++ Tcl_CmdInfo* close_info; + Tcl_ResetResult(interp); +- if (0 == Tcl_GetCommandInfo(interp,"close",&info)) { +- info.clientData = 0; +- } +- return(Tcl_CloseObjCmd(info.clientData,interp,objc_orig,objv_orig)); ++ ++ close_info = (Tcl_CmdInfo*) Tcl_GetAssocData (interp, EXP_CMDINFO_CLOSE, NULL); ++ return(close_info->objProc(close_info->objClientData,interp,objc,objv)); + } + + if (chanName) { +@@ -2961,7 +2960,10 @@ Tcl_Obj *CONST objv[]; + /* 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* return_info = (Tcl_CmdInfo*) ++ Tcl_GetAssocData (interp, EXP_CMDINFO_RETURN, NULL); ++ ++ int result = return_info->objProc(return_info->objClientData,interp,objc,objv); + if (result == TCL_RETURN) + result = EXP_TCL_RETURN; + return result; +diff -up expect-5.43/exp_command.h_old expect-5.43/exp_command.h +--- expect-5.43/exp_command.h_old 2009-02-10 17:33:19.000000000 +0100 ++++ expect-5.43/exp_command.h 2009-02-10 17:33:46.000000000 +0100 +@@ -326,3 +326,6 @@ EXTERN ExpState * expDevttyGet _ANSI_ARG + /* generic functions that really should be provided by Tcl */ + EXTERN int expSizeGet _ANSI_ARGS_((ExpState *)); + EXTERN int expSizeZero _ANSI_ARGS_((ExpState *)); ++ ++#define EXP_CMDINFO_CLOSE "expect/cmdinfo/close" ++#define EXP_CMDINFO_RETURN "expect/cmdinfo/return" diff --git a/expect.spec b/expect.spec index 44009f6..d85b345 100644 --- a/expect.spec +++ b/expect.spec @@ -5,7 +5,7 @@ Summary: A program-script interaction and testing utility Name: expect Version: %{majorver}.0 -Release: 15%{?dist} +Release: 16%{?dist} License: Public Domain Group: Development/Languages URL: http://expect.nist.gov/ @@ -20,6 +20,7 @@ Patch3: expect-5.39.0-libdir.patch Patch4: expect-5.43.0-log_file.patch Patch5: expect-5.43.0-tcl8.5.patch Patch6: expect-5.43.0-pkgIndex-x.patch +Patch7: expect-5.43.0-tcl8.5.6.patch # examples patches Patch100: expect-5.32.2-random.patch Patch101: unbuffer-child-flush-143963.patch @@ -69,6 +70,7 @@ This package contains expectk and some scripts that use it. %patch4 -p1 -b .log_file %patch5 -p1 -b .tcl8.5 %patch6 -p1 -b .pkgIndex-x +%patch7 -p1 -b .tcl8.5.6 # examples fixes %patch100 -p1 -b .random %patch101 -p1 -b .unbuffer @@ -155,6 +157,9 @@ rm -rf "$RPM_BUILD_ROOT" %{_mandir}/man1/tknewsbiff.1* %changelog +* Wed Feb 11 2009 Vitezslav Crhonek - 5:43.0-16 +- Modify and rebuild for new Tcl + * Thu Sep 25 2008 Vitezslav Crhonek - 5:43.0-15 - Rediff all patches to work with patch --fuzz=0