+++ /dev/null
-*** ../../tk2.3/main.c Wed Aug 19 08:10:32 1992
---- main.c Tue Oct 6 17:27:56 1992
-***************
-*** 19,24
-
- #include "tkConfig.h"
- #include "tkInt.h"
-
- /*
- * Declarations for library procedures:
-
---- 19,29 -----
-
- #include "tkConfig.h"
- #include "tkInt.h"
-+ #define TK_EXTENDED
-+ #ifdef TK_EXTENDED
-+ # include "tclExtend.h"
-+ Tcl_Interp *tk_mainInterp; /* Need to process signals */
-+ #endif
-
- /*
- * Declarations for library procedures:
-***************
-*** 30,35
- * Command used to initialize wish:
- */
-
- char initCmd[] = "source $tk_library/wish.tcl";
-
- Tk_Window w; /* NULL means window has been deleted. */
-
---- 35,43 -----
- * Command used to initialize wish:
- */
-
-+ #ifdef TK_EXTENDED
-+ char initCmd[] = "load wishx.tcl";
-+ #else
- char initCmd[] = "source $tk_library/wish.tcl";
- #endif
-
-***************
-*** 31,36
- */
-
- char initCmd[] = "source $tk_library/wish.tcl";
-
- Tk_Window w; /* NULL means window has been deleted. */
- Tk_TimerToken timeToken = 0;
-
---- 39,45 -----
- char initCmd[] = "load wishx.tcl";
- #else
- char initCmd[] = "source $tk_library/wish.tcl";
-+ #endif
-
- Tk_Window w; /* NULL means window has been deleted. */
- Tk_TimerToken timeToken = 0;
-***************
-*** 219,224
- int result;
- Tk_3DBorder border;
-
- interp = Tcl_CreateInterp();
- #ifdef TCL_MEM_DEBUG
- Tcl_InitMemory(interp);
-
---- 228,236 -----
- int result;
- Tk_3DBorder border;
-
-+ #ifdef TK_EXTENDED
-+ tk_mainInterp = interp = Tcl_CreateExtendedInterp();
-+ #else
- interp = Tcl_CreateInterp();
- #endif
- #ifdef TCL_MEM_DEBUG
-***************
-*** 220,225
- Tk_3DBorder border;
-
- interp = Tcl_CreateInterp();
- #ifdef TCL_MEM_DEBUG
- Tcl_InitMemory(interp);
- #endif
-
---- 232,238 -----
- tk_mainInterp = interp = Tcl_CreateExtendedInterp();
- #else
- interp = Tcl_CreateInterp();
-+ #endif
- #ifdef TCL_MEM_DEBUG
- Tcl_InitMemory(interp);
- #endif
-***************
-*** 284,289
- if (geometry != NULL) {
- Tcl_SetVar(interp, "geometry", geometry, TCL_GLOBAL_ONLY);
- }
- result = Tcl_Eval(interp, initCmd, 0, (char **) NULL);
- if (result != TCL_OK) {
- goto error;
-
---- 297,312 -----
- if (geometry != NULL) {
- Tcl_SetVar(interp, "geometry", geometry, TCL_GLOBAL_ONLY);
- }
-+ #ifdef TK_EXTENDED
-+ tclAppName = "Wish";
-+ tclAppLongname = "Wish - Tk Shell";
-+ tclAppVersion = TK_VERSION;
-+ Tcl_ShellEnvInit (interp, TCLSH_ABORT_STARTUP_ERR,
-+ name,
-+ 0, NULL, /* argv var already set */
-+ fileName == NULL, /* interactive? */
-+ NULL); /* Standard default file */
-+ #endif
- result = Tcl_Eval(interp, initCmd, 0, (char **) NULL);
- if (result != TCL_OK) {
- goto error;
+++ /dev/null
-*** ../../tk2.3/tkEvent.c Fri Aug 21 16:16:16 1992
---- tkEvent.c Tue Oct 6 17:28:21 1992
-***************
-*** 23,28
- #include "tkInt.h"
- #include <errno.h>
- #include <signal.h>
-
- /*
- * For each timer callback that's pending, there is one record
-
---- 23,29 -----
- #include "tkInt.h"
- #include <errno.h>
- #include <signal.h>
-+ extern Tcl_Interp *tk_mainInterp;
-
- /*
- * For each timer callback that's pending, there is one record
-***************
-*** 1321,1326
- memcpy((VOID *) ready, (VOID *) masks, 3*MASK_SIZE*sizeof(int));
- timeout.tv_sec = timeout.tv_usec = 0;
- do {
- numFound = select(numFds, (SELECT_MASK *) readPtr,
- (SELECT_MASK *) writePtr, (SELECT_MASK *) exceptPtr,
- &timeout);
-
---- 1322,1330 -----
- memcpy((VOID *) ready, (VOID *) masks, 3*MASK_SIZE*sizeof(int));
- timeout.tv_sec = timeout.tv_usec = 0;
- do {
-+ if (Tcl_CheckForSignal (tk_mainInterp, TCL_OK) == TCL_ERROR)
-+ TkBindError(tk_mainInterp);
-+
- numFound = select(numFds, (SELECT_MASK *) readPtr,
- (SELECT_MASK *) writePtr, (SELECT_MASK *) exceptPtr,
- &timeout);
-***************
-*** 1384,1389
- }
- memcpy((VOID *) ready, (VOID *) masks, 3*MASK_SIZE*sizeof(int));
- do {
- numFound = select(numFds, (SELECT_MASK *) readPtr,
- (SELECT_MASK *) writePtr, (SELECT_MASK *) exceptPtr,
- timeoutPtr);
-
---- 1388,1396 -----
- }
- memcpy((VOID *) ready, (VOID *) masks, 3*MASK_SIZE*sizeof(int));
- do {
-+ if (Tcl_CheckForSignal (tk_mainInterp, TCL_OK) == TCL_ERROR)
-+ TkBindError(tk_mainInterp);
-+
- numFound = select(numFds, (SELECT_MASK *) readPtr,
- (SELECT_MASK *) writePtr, (SELECT_MASK *) exceptPtr,
- timeoutPtr);
+++ /dev/null
-*** ../../tcl6.4/tclBasic.c Sun Jun 21 14:09:46 1992
---- tclBasic.c Tue Oct 6 17:19:52 1992
-***************
-*** 705,710
- iPtr->result = iPtr->resultSpace;
- iPtr->resultSpace[0] = 0;
- result = (*cmdPtr->proc)(cmdPtr->clientData, interp, argc, argv);
- if (result != TCL_OK) {
- break;
- }
-
---- 705,714 -----
- iPtr->result = iPtr->resultSpace;
- iPtr->resultSpace[0] = 0;
- result = (*cmdPtr->proc)(cmdPtr->clientData, interp, argc, argv);
-+ /*
-+ * Signal handling added for Extended Tcl.
-+ */
-+ result = Tcl_CheckForSignal (interp, result);
- if (result != TCL_OK) {
- break;
- }
+++ /dev/null
-*** ../../tcl6.4/tclExpr.c Mon Mar 23 09:54:06 1992
---- tclExpr.c Tue Oct 6 17:20:10 1992
-***************
-*** 1318,1324
- if (value.type == TYPE_INT) {
- sprintf(interp->result, "%ld", value.intValue);
- } else if (value.type == TYPE_DOUBLE) {
-! sprintf(interp->result, "%g", value.doubleValue);
- } else {
- if (value.pv.buffer != value.staticSpace) {
- interp->result = value.pv.buffer;
-
---- 1318,1324 -----
- if (value.type == TYPE_INT) {
- sprintf(interp->result, "%ld", value.intValue);
- } else if (value.type == TYPE_DOUBLE) {
-! Tcl_ReturnDouble (interp, value.doubleValue);
- } else {
- if (value.pv.buffer != value.staticSpace) {
- interp->result = value.pv.buffer;