rpms/blt/devel blt.spec,1.25,1.26 blt2.4-tk8.5.patch,1.1,1.2

Sergio Pascual (sergiopr) fedora-extras-commits at redhat.com
Thu May 29 22:29:30 UTC 2008


Author: sergiopr

Update of /cvs/pkgs/rpms/blt/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv27116

Modified Files:
	blt.spec blt2.4-tk8.5.patch 
Log Message:
* Thu May 29 2008 Sergio Pascual <sergiopr at fedoraproject.org> 2.4-28.z
- Patched to recover blt::graph (bz #446862)



Index: blt.spec
===================================================================
RCS file: /cvs/pkgs/rpms/blt/devel/blt.spec,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- blt.spec	3 Apr 2008 15:05:27 -0000	1.25
+++ blt.spec	29 May 2008 22:28:37 -0000	1.26
@@ -5,7 +5,7 @@
 Summary: BLT widget extension to Tcl/Tk scripting language development
 Name: blt
 Version: 2.4
-Release: 27%{?dist}
+Release: 28.z%{?dist}
 
 License: MIT
 Group: Development/Libraries
@@ -17,7 +17,8 @@
 Patch3: blt2.4z-destdir.patch
 Patch4: blt2.4z-norpath.patch
 Patch5: blt2.4z-noexactversion.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%__id_u -n)
+BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+
 
 Provides: tk-blt = %{version}-%{release}
 BuildRequires: tk-devel >= 8.4.7
@@ -114,6 +115,9 @@
 %{_includedir}/%{name}
 
 %changelog
+* Thu May 29 2008 Sergio Pascual <sergiopr at fedoraproject.org> 2.4-28.z
+- Patched to recover blt::graph (bz #446862)
+
 * Thu Apr 3 2008 Wart <wart at kobold.org> 2.4-27
 - Remove man pages due to conflict with iwidgets.  This is a common problem
   among Tk widget extensions. (BZ #439769)

blt2.4-tk8.5.patch:

Index: blt2.4-tk8.5.patch
===================================================================
RCS file: /cvs/pkgs/rpms/blt/devel/blt2.4-tk8.5.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- blt2.4-tk8.5.patch	4 Jan 2008 14:34:39 -0000	1.1
+++ blt2.4-tk8.5.patch	29 May 2008 22:28:37 -0000	1.2
@@ -1,32 +1,1410 @@
-diff -ur blt2.4z/src/bltNsUtil.h blt2.4z.new/src/bltNsUtil.h
---- blt2.4z/src/bltNsUtil.h	2002-07-18 08:35:32.000000000 +0200
-+++ blt2.4z.new/src/bltNsUtil.h	2008-01-04 14:59:22.000000000 +0100
-@@ -46,9 +46,8 @@
- #define TCL_NAMESPACE_ONLY TCL_GLOBAL_ONLY
+diff -ur blt2.4z/library/Makefile.vc blt2.4z-8.5.2/library/Makefile.vc
+--- blt2.4z/library/Makefile.vc	2002-08-21 08:20:51.000000000 +0200
++++ blt2.4z-8.5.2/library/Makefile.vc	2008-04-15 17:31:26.000000000 +0200
+@@ -6,7 +6,6 @@
+ include ../win/makedefs
+ 
+ version =	$(BLT_MAJOR_VERSION).$(BLT_MINOR_VERSION)
+-pkgdir =	$(libdir)/tcl$(v1)/blt$(version)
+ srcdir =	.
+ 
+ cursors = 	treeview.cur
+@@ -30,8 +29,7 @@
+ 		tclIndex
+ 
+ instdirs =	$(prefix) $(exec_prefix) $(libdir) \
+-		$(scriptdir) $(scriptdir)/dd_protocols $(libdir)/tcl$(v1) \
+-		$(pkgdir)
++		$(scriptdir) $(scriptdir)/dd_protocols $(libdir)/tcl$(v1)
+ 
+ all: build-pkgindex
+ 
+@@ -62,7 +60,6 @@
+ 
+ install-pkgindex: pkgIndex.tcl
+ 	$(INSTALL_DATA) pkgIndex.tcl $(scriptdir)
+-	$(INSTALL_DATA) pkgIndex.tcl $(pkgdir)
+ 
+ clean:
+ 	$(RM) pkgIndex.tcl
+diff -ur blt2.4z/Makefile.in blt2.4z-8.5.2/Makefile.in
+--- blt2.4z/Makefile.in	2002-02-19 01:11:43.000000000 +0100
++++ blt2.4z-8.5.2/Makefile.in	2008-04-15 17:31:26.000000000 +0200
+@@ -72,4 +72,8 @@
+ 	config.status config.cache config.log Makefile 
+ 
+ distclean: clean
++	(cd src; $(MAKE) distclean)
++	(cd library; $(MAKE) distclean)
++	(cd man; $(MAKE) distclean)
++	(cd demos; $(MAKE) distclean)
+ 	$(RM) $(GENERATED_FILES)
+diff -ur blt2.4z/src/bltBgexec.c blt2.4z-8.5.2/src/bltBgexec.c
+--- blt2.4z/src/bltBgexec.c	2002-09-19 00:30:50.000000000 +0200
++++ blt2.4z-8.5.2/src/bltBgexec.c	2008-04-15 17:31:26.000000000 +0200
+@@ -58,7 +58,7 @@
+ typedef int Process;
  #endif
  
--
--EXTERN Tcl_Command Tcl_FindCommand _ANSI_ARGS_((Tcl_Interp *interp,
+-#if (TCL_VERSION_NUMBER <  _VERSION(8,1,0)) 
++#if (TCL_VERSION_NUMBER <  _VERSION(8,1,0))
+ typedef void *Tcl_Encoding;	/* Make up dummy type for encoding.  */
+ #endif
+ 
+@@ -276,7 +276,7 @@
+     int objc;			/*  */
+ #endif
+ 
+-    int flags;			
++    int flags;
+ 
+     Tcl_File file;		/* Used for backward compatability
+ 				 * with Tcl 7.5 */
+@@ -370,35 +370,35 @@
+     StringToSignal, (Blt_SwitchFreeProc *)NULL, (ClientData)0,
+ };
+ 
+-static Blt_SwitchSpec switchSpecs[] = 
++static Blt_SwitchSpec switchSpecs[] =
+ {
+-    {BLT_SWITCH_STRING, "-decodeoutput", 
++    {BLT_SWITCH_STRING, "-decodeoutput",
+          Blt_Offset(BackgroundInfo, outputEncodingName), 0},
+-    {BLT_SWITCH_STRING, "-decodeerror", 
++    {BLT_SWITCH_STRING, "-decodeerror",
+          Blt_Offset(BackgroundInfo, errorEncodingName), 0},
+-    {BLT_SWITCH_BOOLEAN, "-echo", 
++    {BLT_SWITCH_BOOLEAN, "-echo",
+          Blt_Offset(BackgroundInfo, sink2.echo), 0},
+-    {BLT_SWITCH_STRING, "-error", 
++    {BLT_SWITCH_STRING, "-error",
+          Blt_Offset(BackgroundInfo, sink2.doneVar), 0},
+-    {BLT_SWITCH_STRING, "-update", 
++    {BLT_SWITCH_STRING, "-update",
+ 	Blt_Offset(BackgroundInfo, sink1.updateVar), 0},
+-    {BLT_SWITCH_STRING, "-output", 
++    {BLT_SWITCH_STRING, "-output",
+         Blt_Offset(BackgroundInfo, sink1.doneVar), 0},
+-    {BLT_SWITCH_STRING, "-lasterror", 
++    {BLT_SWITCH_STRING, "-lasterror",
+ 	Blt_Offset(BackgroundInfo, sink2.updateVar), 0},
+-    {BLT_SWITCH_STRING, "-lastoutput", 
++    {BLT_SWITCH_STRING, "-lastoutput",
+ 	Blt_Offset(BackgroundInfo, sink1.updateVar), 0},
+-    {BLT_SWITCH_LIST, "-onerror", 
++    {BLT_SWITCH_LIST, "-onerror",
+ 	Blt_Offset(BackgroundInfo, sink2.updateCmd), 0},
+-    {BLT_SWITCH_LIST, "-onoutput", 
++    {BLT_SWITCH_LIST, "-onoutput",
+ 	Blt_Offset(BackgroundInfo, sink1.updateCmd), 0},
+-    {BLT_SWITCH_BOOLEAN, "-keepnewline", 
++    {BLT_SWITCH_BOOLEAN, "-keepnewline",
+ 	Blt_Offset(BackgroundInfo, keepNewline), 0},
+-    {BLT_SWITCH_BOOLEAN, "-check", 
++    {BLT_SWITCH_INT, "-check",
+ 	Blt_Offset(BackgroundInfo, interval), 0},
+-    {BLT_SWITCH_CUSTOM, "-killsignal", 
++    {BLT_SWITCH_CUSTOM, "-killsignal",
+ 	Blt_Offset(BackgroundInfo, signalNum), 0, &killSignalSwitch},
+-    {BLT_SWITCH_BOOLEAN, "-linebuffered", 
++    {BLT_SWITCH_BOOLEAN, "-linebuffered",
+ 	Blt_Offset(BackgroundInfo, lineBuffered), 0},
+     {BLT_SWITCH_END, NULL, 0, 0}
+ };
+@@ -517,7 +517,7 @@
+  *	Returns the next block of data since the last time this
+  *	routine was called.
+  *
+- *---------------------------------------------------------------------- 
++ *----------------------------------------------------------------------
+  */
+ static unsigned char *
+ NextBlock(sinkPtr, lengthPtr)
+@@ -531,7 +531,7 @@
+     length = sinkPtr->mark - sinkPtr->lastMark;
+     sinkPtr->lastMark = sinkPtr->mark;
+     if (length > 0) {
+-	if ((!(sinkPtr->flags & SINK_KEEP_NL)) && 
++	if ((!(sinkPtr->flags & SINK_KEEP_NL)) &&
+ 	    (string[length - 1] == '\n')) {
+ 	    length--;
+ 	}
+@@ -565,7 +565,7 @@
+ 	for (i = 0; i < newBytes; i++) {
+ 	    if (string[i] == '\n') {
+ 		int length;
+-		
++
+ 		length = i + 1;
+ 		sinkPtr->lastMark += length;
+ 		if (!(sinkPtr->flags & SINK_KEEP_NL)) {
+@@ -594,13 +594,13 @@
+  *	keeping all the data collected from the channel (no -output
+  *	flag and the process is detached).
+  *
+- *---------------------------------------------------------------------- 
++ *----------------------------------------------------------------------
+  */
+ static void
+ ResetSink(sinkPtr)
+     Sink *sinkPtr;
+-{ 
+-    if ((sinkPtr->flags & SINK_BUFFERED) && 
++{
++    if ((sinkPtr->flags & SINK_BUFFERED) &&
+ 	(sinkPtr->fill > sinkPtr->lastMark)) {
+ 	register size_t i, j;
+ 
+@@ -654,8 +654,8 @@
+     }
+     if (bgPtr->lineBuffered) {
+ 	sinkPtr->flags |= SINK_BUFFERED;
+-    }	
+-    if ((sinkPtr->updateCmd != NULL) || 
++    }
++    if ((sinkPtr->updateCmd != NULL) ||
+ 	(sinkPtr->updateVar != NULL) ||
+ 	(sinkPtr->echo)) {
+ 	sinkPtr->flags |= SINK_NOTIFY;
+@@ -843,7 +843,7 @@
+ #define IsOpenSink(sinkPtr)  ((sinkPtr)->fd != -1)
+ 
+ static void
+-CloseSink(interp, sinkPtr) 
++CloseSink(interp, sinkPtr)
+     Tcl_Interp *interp;
+     Sink *sinkPtr;
+ {
+@@ -864,19 +864,19 @@
+ 	if (sinkPtr->doneVar != NULL) {
+ 	    unsigned char *data;
+ 	    size_t length;
+-	    /* 
++	    /*
+ 	     * If data is to be collected, set the "done" variable
+-	     * with the contents of the buffer.  
++	     * with the contents of the buffer.
+ 	     */
+ 	    GetSinkData(sinkPtr, &data, &length);
+-#if (TCL_VERSION_NUMBER <  _VERSION(8,1,0)) 
++#if (TCL_VERSION_NUMBER <  _VERSION(8,1,0))
+ 	    data[length] = '\0';
+-	    if (Tcl_SetVar(interp, sinkPtr->doneVar, data, 
++	    if (Tcl_SetVar(interp, sinkPtr->doneVar, data,
+ 			   TCL_GLOBAL_ONLY) == NULL) {
+ 		Tcl_BackgroundError(interp);
+ 	    }
+ #else
+-	    if (Tcl_SetVar2Ex(interp, sinkPtr->doneVar, NULL, 
++	    if (Tcl_SetVar2Ex(interp, sinkPtr->doneVar, NULL,
+ 			      Tcl_NewByteArrayObj(data, length),
+ 			      (TCL_GLOBAL_ONLY | TCL_LEAVE_ERR_MSG)) == NULL) {
+ 		Tcl_BackgroundError(interp);
+@@ -917,9 +917,9 @@
+ #endif
+     if (sinkPtr->encoding == ENCODING_BINARY) { /* binary */
+ 	/* No translation needed. */
+-	sinkPtr->mark = sinkPtr->fill; 
++	sinkPtr->mark = sinkPtr->fill;
+     } else if (sinkPtr->encoding == ENCODING_ASCII) { /* ascii */
+-#if (TCL_VERSION_NUMBER <  _VERSION(8,1,0)) 
++#if (TCL_VERSION_NUMBER <  _VERSION(8,1,0))
+ 	/* Convert NUL bytes to question marks. */
+ 	srcPtr = sinkPtr->byteArr + sinkPtr->mark;
+ 	endPtr = sinkPtr->byteArr + sinkPtr->fill;
+@@ -932,7 +932,7 @@
+ #endif /* < 8.1.0 */
+ 	/* One-to-one translation. mark == fill. */
+ 	sinkPtr->mark = sinkPtr->fill;
+-#if (TCL_VERSION_NUMBER >= _VERSION(8,1,0)) 
++#if (TCL_VERSION_NUMBER >= _VERSION(8,1,0))
+     } else { /* unicode. */
+ 	int nSrcCooked, nCooked;
+ 	int result;
+@@ -941,41 +941,41 @@
+ 	unsigned char *destPtr;
+ 	unsigned char *raw, *cooked;
+ 	unsigned char leftover[100];
+-	
++
+ 	raw = sinkPtr->byteArr + sinkPtr->mark;
+ 	nRaw = sinkPtr->fill - sinkPtr->mark;
+ 	/* Ideally, the cooked buffer size should be smaller */
+ 	cookedSize = nRaw * TCL_UTF_MAX + 1;
+ 	cooked = Blt_Malloc(cookedSize);
+-	result = Tcl_ExternalToUtf(interp, sinkPtr->encoding, 
+-			(char *)raw, nRaw, 0, NULL, (char *)cooked, 
++	result = Tcl_ExternalToUtf(interp, sinkPtr->encoding,
++			(char *)raw, nRaw, 0, NULL, (char *)cooked,
+ 			cookedSize, &nSrcCooked, &nCooked, NULL);
+ 	nLeftOver = 0;
+ 	if (result == TCL_CONVERT_MULTIBYTE) {
+-	    /* 
++	    /*
+ 	     * Last multibyte sequence wasn't completed.  Save the
+-	     * extra characters in a temporary buffer.  
++	     * extra characters in a temporary buffer.
+ 	     */
+ 	    nLeftOver = (nRaw - nSrcCooked);
+-	    srcPtr = sinkPtr->byteArr + (sinkPtr->mark + nSrcCooked); 
++	    srcPtr = sinkPtr->byteArr + (sinkPtr->mark + nSrcCooked);
+ 	    endPtr = srcPtr + nLeftOver;
+ 	    destPtr = leftover;
+ 	    while (srcPtr < endPtr) {
+ 		*destPtr++ = *srcPtr++;
+ 	    }
+-	} 
++	}
+ 	/*
+-	 * Create a bigger 
++	 * Create a bigger
+ 	 */
+-						 
++
+ 	needed = nLeftOver + nCooked;
+ 	spaceLeft = sinkPtr->size - sinkPtr->mark;
+ 	if (spaceLeft >= needed) {
+ 	    spaceLeft = ExtendSinkBuffer(sinkPtr);
+ 	}
+ 	assert(spaceLeft > needed);
+-	/* 
+-	 * Replace the characters from the mark with the translated 
++	/*
++	 * Replace the characters from the mark with the translated
+ 	 * characters.
+ 	 */
+ 	srcPtr = cooked;
+@@ -986,7 +986,7 @@
+ 	}
+ 	/* Add the number of newly translated characters to the mark */
+ 	sinkPtr->mark += nCooked;
+-	
++
+ 	srcPtr = leftover;
+ 	endPtr = leftover + nLeftOver;
+ 	while (srcPtr < endPtr) {
+@@ -996,7 +996,7 @@
+ #endif /* >= 8.1.0  */
+     }
+ #ifdef WIN32
+-    /* 
++    /*
+      * Translate CRLF character sequences to LF characters.  We have to
+      * do this after converting the string to UTF from UNICODE.
+      */
+@@ -1072,7 +1072,7 @@
+ #endif
+     timeout = (flags & WNOHANG) ? 0 : INFINITE;
+     status = WaitForSingleObject(child.hProcess, timeout);
+-				 
++
+ #if WINDEBUG
+     PurifyPrintf("WAITPID: wait status is %d\n", status);
+ #endif
+@@ -1147,9 +1147,9 @@
+ 
+     EnumWindows(EnumWindowsProc, (LPARAM)&proc);
+ 
+-    /* 
++    /*
+      * Wait on the handle. If it signals, great. If it times out,
+-     * then call TerminateProcess on it.  
++     * then call TerminateProcess on it.
+      *
+      * On Windows 95/98 this also has the added benefit of stopping
+      * KERNEL32.dll from dumping.  The 2 second number is arbitrary.
+@@ -1171,7 +1171,7 @@
+ 
+ #endif /* WIN32 */
+ 
+-#if (TCL_VERSION_NUMBER < _VERSION(8,1,0)) 
++#if (TCL_VERSION_NUMBER < _VERSION(8,1,0))
+ 
+ static void
+ NotifyOnUpdate(interp, sinkPtr, data, nBytes)
+@@ -1192,7 +1192,7 @@
+     data[nBytes] = '\0';
+     if (sinkPtr->echo) {
+ 	Tcl_Channel channel;
+-	
++
+ 	channel = Tcl_GetStdChannel(TCL_STDERR);
+ 	if (channel == NULL) {
+ 	    Tcl_AppendResult(interp, "can't get stderr channel", (char *)NULL);
+@@ -1235,7 +1235,7 @@
+     data[nBytes] = save;
+ }
+ 
+-#else 
++#else
+ 
+ static void
+ NotifyOnUpdate(interp, sinkPtr, data, nBytes)
+@@ -1254,7 +1254,7 @@
+     }
+     if (sinkPtr->echo) {
+ 	Tcl_Channel channel;
+-	
++
+ 	channel = Tcl_GetStdChannel(TCL_STDERR);
+ 	if (channel == NULL) {
+ 	    Tcl_AppendResult(interp, "can't get stderr channel", (char *)NULL);
+@@ -1285,7 +1285,7 @@
+     if (sinkPtr->updateVar != NULL) {
+ 	Tcl_Obj *result;
+ 
+-	result = Tcl_SetVar2Ex(interp, sinkPtr->updateVar, NULL, objPtr, 
++	result = Tcl_SetVar2Ex(interp, sinkPtr->updateVar, NULL, objPtr,
+ 	       (TCL_GLOBAL_ONLY | TCL_LEAVE_ERR_MSG));
+ 	if (result == NULL) {
+ 	    Tcl_BackgroundError(interp);
+@@ -1306,7 +1306,7 @@
+     }
+     ReadBytes(sinkPtr);
+     CookSink(bgPtr->interp, sinkPtr);
+-    if ((sinkPtr->mark > sinkPtr->lastMark) && 
++    if ((sinkPtr->mark > sinkPtr->lastMark) &&
+ 	(sinkPtr->flags & SINK_NOTIFY)) {
+ 	unsigned char *data;
+ 	int length;
+@@ -1390,7 +1390,7 @@
+ {
+ 
+     if (bgPtr->traced) {
+-	Tcl_UntraceVar(bgPtr->interp, bgPtr->statVar, TRACE_FLAGS, 
++	Tcl_UntraceVar(bgPtr->interp, bgPtr->statVar, TRACE_FLAGS,
+ 		VariableProc, bgPtr);
+ 	bgPtr->traced = FALSE;
+     }
+@@ -1558,7 +1558,7 @@
+     register int i;
+     unsigned int lastPid;
+     int pid;
+-    enum PROCESS_STATUS { 
++    enum PROCESS_STATUS {
+ 	PROCESS_EXITED, PROCESS_STOPPED, PROCESS_KILLED, PROCESS_UNKNOWN
+     } pcode;
+     WAIT_STATUS_TYPE waitStatus, lastStatus;
+@@ -1595,7 +1595,7 @@
+     }
+     bgPtr->nProcs = nLeft;
+ 
+-    if ((nLeft > 0) || (IsOpenSink(&bgPtr->sink1)) || 
++    if ((nLeft > 0) || (IsOpenSink(&bgPtr->sink1)) ||
+ 	(IsOpenSink(&bgPtr->sink2))) {
+ 	/* Keep polling for the status of the children that are left */
+ 	bgPtr->timerToken = Tcl_CreateTimerHandler(bgPtr->interval, TimerProc,
+@@ -1641,11 +1641,11 @@
+ 	Tcl_DStringAppendElement(&dString, "child completed normally");
+ 	break;
+     case PROCESS_KILLED:
+-	Tcl_DStringAppendElement(&dString, 
++	Tcl_DStringAppendElement(&dString,
+ 				Tcl_SignalMsg((int)(WTERMSIG(lastStatus))));
+ 	break;
+     case PROCESS_STOPPED:
+-	Tcl_DStringAppendElement(&dString, 
++	Tcl_DStringAppendElement(&dString,
+ 		 Tcl_SignalMsg((int)(WSTOPSIG(lastStatus))));
+ 	break;
+     case PROCESS_UNKNOWN:
+@@ -1658,8 +1658,8 @@
+ 	*bgPtr->exitCodePtr = code;
+     }
+     DisableTriggers(bgPtr);
+-    result = Tcl_SetVar(bgPtr->interp, bgPtr->statVar, 
+-	Tcl_DStringValue(&dString), TCL_GLOBAL_ONLY);
++    result = Tcl_SetVar(bgPtr->interp, bgPtr->statVar,
++	Tcl_DStringValue(&dString), TCL_GLOBAL_ONLY | TCL_LEAVE_ERR_MSG);
+     Tcl_DStringFree(&dString);
+     if (result == NULL) {
+ 	Tcl_BackgroundError(bgPtr->interp);
+@@ -1712,7 +1712,7 @@
+      * timer handler to periodically poll for the exit status of each
+      * process.  Initially check at the next idle interval.
+      */
+-    if (!IsOpenSink(&bgPtr->sink2)) {
++    if (!IsOpenSink(&bgPtr->sink2) && bgPtr->timerToken == 0) {
+ 	bgPtr->timerToken = Tcl_CreateTimerHandler(0, TimerProc, clientData);
+     }
+ }
+@@ -1760,7 +1760,7 @@
+      * timer handler to periodically poll for the exit status of each
+      * process.  Initially check at the next idle interval.
+      */
+-    if (!IsOpenSink(&bgPtr->sink1)) {
++    if (!IsOpenSink(&bgPtr->sink1) && bgPtr->timerToken == 0) {
+ 	bgPtr->timerToken = Tcl_CreateTimerHandler(0, TimerProc, clientData);
+     }
+ }
+@@ -1827,7 +1827,7 @@
+     /* Try to clean up any detached processes */
+     Tcl_ReapDetachedProcs();
+ 
+-    i = Blt_ProcessSwitches(interp, switchSpecs, argc - 2, argv + 2, 
++    i = Blt_ProcessSwitches(interp, switchSpecs, argc - 2, argv + 2,
+ 	(char *)bgPtr, BLT_SWITCH_ARGV_PARTIAL);
+     if (i < 0) {
+ 	FreeBackgroundInfo(bgPtr);
+@@ -1853,7 +1853,7 @@
+ 	if (strcmp(bgPtr->outputEncodingName, "binary") == 0) {
+ 	    encoding = ENCODING_BINARY;
+ 	} else {
+-#if (TCL_VERSION_NUMBER >= _VERSION(8,1,0)) 
++#if (TCL_VERSION_NUMBER >= _VERSION(8,1,0))
+ 	    encoding = Tcl_GetEncoding(interp, bgPtr->outputEncodingName);
+ 	    if (encoding == NULL) {
+ 		goto error;
+@@ -1866,7 +1866,7 @@
+ 	if (strcmp(bgPtr->errorEncodingName, "binary") == 0) {
+ 	    encoding = ENCODING_BINARY;
+ 	} else {
+-#if (TCL_VERSION_NUMBER >= _VERSION(8,1,0)) 
++#if (TCL_VERSION_NUMBER >= _VERSION(8,1,0))
+ 	    encoding = Tcl_GetEncoding(interp, bgPtr->errorEncodingName);
+ 	    if (encoding == NULL) {
+ 		goto error;
+@@ -1878,18 +1878,18 @@
+ 
+     outFdPtr = errFdPtr = (int *)NULL;
+ #ifdef WIN32
+-    if ((!bgPtr->detached) || 
+-	(bgPtr->sink1.doneVar != NULL) || 
+-	(bgPtr->sink1.updateVar != NULL) || 
++    if ((!bgPtr->detached) ||
++	(bgPtr->sink1.doneVar != NULL) ||
++	(bgPtr->sink1.updateVar != NULL) ||
+ 	(bgPtr->sink1.updateCmd != NULL)) {
+ 	outFdPtr = &bgPtr->sink1.fd;
+     }
+ #else
+     outFdPtr = &bgPtr->sink1.fd;
+ #endif
+-    if ((bgPtr->sink2.doneVar != NULL) || 
++    if ((bgPtr->sink2.doneVar != NULL) ||
+ 	(bgPtr->sink2.updateVar != NULL) ||
+-	(bgPtr->sink2.updateCmd != NULL) || 
++	(bgPtr->sink2.updateCmd != NULL) ||
+ 	(bgPtr->sink2.echo)) {
+ 	errFdPtr = &bgPtr->sink2.fd;
+     }
+@@ -1900,6 +1900,7 @@
+     }
+     bgPtr->procArr = pidPtr;
+     bgPtr->nProcs = nProcs;
++    bgPtr->timerToken = 0;
+ 
+     if (bgPtr->sink1.fd == -1) {
+ 
+@@ -1919,7 +1920,7 @@
+ 	(CreateSinkHandler(bgPtr, &bgPtr->sink2, StderrProc) != TCL_OK)) {
+  	goto error;
+     }
+-    if (bgPtr->detached) {	
++    if (bgPtr->detached) {
+ 	char string[200];
+ 
+ 	/* If detached, return a list of the child process ids instead
+@@ -1927,7 +1928,7 @@
+ 	for (i = 0; i < nProcs; i++) {
+ #ifdef WIN32
+ 	    sprintf(string, "%u", (unsigned int)bgPtr->procArr[i].pid);
+-#else 
++#else
+ 	    sprintf(string, "%d", bgPtr->procArr[i]);
+ #endif
+ 	    Tcl_AppendElement(interp, string);
+@@ -1950,7 +1951,7 @@
+ 
+ 	    /* Return the output of the pipeline. */
+ 	    GetSinkData(&bgPtr->sink1, &data, &length);
+-#if (TCL_VERSION_NUMBER <  _VERSION(8,1,0)) 
++#if (TCL_VERSION_NUMBER <  _VERSION(8,1,0))
+ 	    data[length] = '\0';
+ 	    Tcl_SetResult(interp, data, TCL_VOLATILE);
+ #else
+diff -ur blt2.4z/src/bltGrMarker.c blt2.4z-8.5.2/src/bltGrMarker.c
+--- blt2.4z/src/bltGrMarker.c	2002-09-19 00:30:51.000000000 +0200
++++ blt2.4z-8.5.2/src/bltGrMarker.c	2008-04-16 16:47:48.000000000 +0200
+@@ -1061,10 +1061,12 @@
+     Graph *graphPtr;
+     Extents2D *extsPtr;
+ {
++/*
+     assert(extsPtr->right >= extsPtr->left);
+     assert(extsPtr->bottom >= extsPtr->top);
+     assert(graphPtr->right >= graphPtr->left);
+     assert(graphPtr->bottom >= graphPtr->top);
++*/
+ 
+     return (((double)graphPtr->right < extsPtr->left) ||
+ 	    ((double)graphPtr->bottom < extsPtr->top) ||
+diff -ur blt2.4z/src/bltInit.c blt2.4z-8.5.2/src/bltInit.c
+--- blt2.4z/src/bltInit.c	2002-09-10 07:12:33.000000000 +0200
++++ blt2.4z-8.5.2/src/bltInit.c	2008-04-15 17:31:25.000000000 +0200
+@@ -28,7 +28,7 @@
+ 
+ #include <bltInt.h>
+ 
+-#define EXACT 1
++#define EXACT 0
+ 
+ #ifndef BLT_LIBRARY
+ #ifdef WIN32
+diff -ur blt2.4z/src/bltNsUtil.h blt2.4z-8.5.2/src/bltNsUtil.h
+--- blt2.4z/src/bltNsUtil.h	2002-07-18 08:35:32.000000000 +0200
++++ blt2.4z-8.5.2/src/bltNsUtil.h	2008-04-15 17:31:26.000000000 +0200
+@@ -48,7 +48,7 @@
+ 
+ 
+ EXTERN Tcl_Command Tcl_FindCommand _ANSI_ARGS_((Tcl_Interp *interp,
 -	char *name, Tcl_Namespace *nsPtr, int flags));
-+/*EXTERN Tcl_Command Tcl_FindCommand _ANSI_ARGS_((Tcl_Interp *interp,
-+	char *name, Tcl_Namespace *nsPtr, int flags));*/
++	CONST char *name, Tcl_Namespace *nsPtr, int flags));
  
  #define NS_SEARCH_NONE		(0)
  #define NS_SEARCH_CURRENT	(1<<0)
-@@ -64,7 +63,7 @@
- EXTERN Tcl_Namespace *Tcl_GetGlobalNamespace _ANSI_ARGS_((Tcl_Interp *interp));
+@@ -65,15 +65,15 @@
  
  #if (TCL_MAJOR_VERSION >= 8)
--EXTERN Tcl_Namespace *Tcl_CreateNamespace _ANSI_ARGS_((Tcl_Interp *interp,
-+/*EXTERN Tcl_Namespace *Tcl_CreateNamespace _ANSI_ARGS_((Tcl_Interp *interp,
- 	char *name, ClientData clientData, Tcl_NamespaceDeleteProc *nsDelProc));
+ EXTERN Tcl_Namespace *Tcl_CreateNamespace _ANSI_ARGS_((Tcl_Interp *interp,
+-	char *name, ClientData clientData, Tcl_NamespaceDeleteProc *nsDelProc));
++	CONST char *name, ClientData clientData, Tcl_NamespaceDeleteProc *nsDelProc));
  
  EXTERN void Tcl_DeleteNamespace _ANSI_ARGS_((Tcl_Namespace *nsPtr));
-@@ -85,6 +84,7 @@
  
- extern Tcl_HashTable *Blt_GetArrayVariableTable _ANSI_ARGS_((
- 	Tcl_Interp *interp, CONST char *varName, int flags));
-+*/
+ EXTERN Tcl_Namespace *Tcl_FindNamespace _ANSI_ARGS_((Tcl_Interp *interp,
+-	char *name, Tcl_Namespace *context, int flags));
++	CONST char *name, Tcl_Namespace *context, int flags));
+ 
+ EXTERN int Tcl_Export _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Namespace *nsPtr,
+-	char *name, int resetFlag));
++	CONST char *name, int resetFlag));
+ 
+ EXTERN Tcl_Var Tcl_FindNamespaceVar _ANSI_ARGS_((Tcl_Interp *interp, char *name,
+ 	Tcl_Namespace *contextNsPtr, int flags));
+diff -ur blt2.4z/src/bltText.c blt2.4z-8.5.2/src/bltText.c
+--- blt2.4z/src/bltText.c	2002-08-13 21:45:20.000000000 +0200
++++ blt2.4z-8.5.2/src/bltText.c	2008-04-16 16:37:41.000000000 +0200
+@@ -671,6 +671,9 @@
+     Pixmap bitmap;
+     int active;
+ 
++    if (!textPtr)
++	return;
++    
+     display = Tk_Display(tkwin);
+     theta = FMOD(tsPtr->theta, (double)360.0);
+     if (theta < 0.0) {
+diff -ur blt2.4z/src/bltWindow.c blt2.4z-8.5.2/src/bltWindow.c
+--- blt2.4z/src/bltWindow.c	2002-09-19 05:02:09.000000000 +0200
++++ blt2.4z-8.5.2/src/bltWindow.c	2008-04-16 16:38:15.000000000 +0200
+@@ -89,9 +89,9 @@
+ 
+ typedef struct TkDisplayStruct {
+     Display *display;		/* Xlib's info about display. */
+-    struct TkDisplayStruct *nextPtr; /* Next in list of all displays. */
+-    char *name;			/* Name of display (with any screen
+-				 * identifier removed).  Malloc-ed. */
++    struct TkDisplay *nextPtr;	/* Next in list of all displays. */
++    char *name;			/* Name of display (with any screen identifier
++				 * removed). Malloc-ed. */
+     Time lastEventTime;		/* Time of last event received for this
+ 				 * display. */
+ 
+@@ -107,8 +107,8 @@
+      * Information used by tkAtom.c only:
+      */
+ 
+-    int atomInit;		/* 0 means stuff below hasn't been
+-				 * initialized yet. */
++    int atomInit;		/* 0 means stuff below hasn't been initialized
++				 * yet. */
+     Tcl_HashTable nameTable;	/* Maps from names to Atom's. */
+     Tcl_HashTable atomTable;	/* Maps from Atom's back to names. */
+ 
+@@ -116,27 +116,26 @@
+      * Information used primarily by tkBind.c:
+      */
+ 
+-    int bindInfoStale;		/* Non-zero means the variables in this
+-				 * part of the structure are potentially
+-				 * incorrect and should be recomputed. */
++    int bindInfoStale;		/* Non-zero means the variables in this part
++				 * of the structure are potentially incorrect
++				 * and should be recomputed. */
+     unsigned int modeModMask;	/* Has one bit set to indicate the modifier
+-				 * corresponding to "mode shift".  If no
+-				 * such modifier, than this is zero. */
++				 * corresponding to "mode shift". If no such
++				 * modifier, than this is zero. */
+     unsigned int metaModMask;	/* Has one bit set to indicate the modifier
+-				 * corresponding to the "Meta" key.  If no
+-				 * such modifier, then this is zero. */
++				 * corresponding to the "Meta" key. If no such
++				 * modifier, then this is zero. */
+     unsigned int altModMask;	/* Has one bit set to indicate the modifier
+-				 * corresponding to the "Meta" key.  If no
+-				 * such modifier, then this is zero. */
+-    enum {
+-	LU_IGNORE, LU_CAPS, LU_SHIFT
+-    } lockUsage;		/* Indicates how to interpret lock modifier. */
++				 * corresponding to the "Meta" key. If no such
++				 * modifier, then this is zero. */
++    enum {LU_IGNORE, LU_CAPS, LU_SHIFT} lockUsage;
++				/* Indicates how to interpret lock
++				 * modifier. */
+     int numModKeyCodes;		/* Number of entries in modKeyCodes array
+ 				 * below. */
+-    KeyCode *modKeyCodes;	/* Pointer to an array giving keycodes for
+-				 * all of the keys that have modifiers
+-				 * associated with them.  Malloc'ed, but
+-				 * may be NULL. */
++    KeyCode *modKeyCodes;	/* Pointer to an array giving keycodes for all
++				 * of the keys that have modifiers associated
++				 * with them. Malloc'ed, but may be NULL. */
+ 
+     /*
+      * Information used by tkBitmap.c only:
+@@ -150,10 +149,10 @@
+     Tcl_HashTable bitmapIdTable;/* Maps from bitmap id to the TkBitmap
+ 				 * structure for the bitmap. */
+     Tcl_HashTable bitmapDataTable;
+-				/* Used by Tk_GetBitmapFromData to map from
+-				 * a collection of in-core data about a
+-				 * bitmap to a reference giving an auto-
+-				 * matically-generated name for the bitmap. */
++				/* Used by Tk_GetBitmapFromData to map from a
++				 * collection of in-core data about a bitmap
++				 * to a reference giving an automatically-
++				 * generated name for the bitmap. */
+ 
+     /*
+      * Information used by tkCanvas.c only:
+@@ -167,9 +166,9 @@
+      */
+ 
+     int colorInit;		/* 0 means color module needs initializing. */
+-    TkStressedCmap *stressPtr;	/* First in list of colormaps that have
+-				 * filled up, so we have to pick an
+-				 * approximate color. */
++    TkStressedCmap *stressPtr;	/* First in list of colormaps that have filled
++				 * up, so we have to pick an approximate
++				 * color. */
+     Tcl_HashTable colorNameTable;
+ 				/* Maps from color name to TkColor structure
+ 				 * for that color. */
+@@ -192,34 +191,33 @@
+ 				/* Maps from a cursor id to the TkCursor
+ 				 * structure for the cursor. */
+     char cursorString[20];	/* Used to store a cursor id string. */
+-    Font cursorFont;		/* Font to use for standard cursors.
+-				 * None means font not loaded yet. */
++    Font cursorFont;		/* Font to use for standard cursors. None
++				 * means font not loaded yet. */
+ 
+     /*
+      * Information used by tkError.c only:
+      */
+ 
+     struct TkErrorHandler *errorPtr;
+-				/* First in list of error handlers
+-				 * for this display.  NULL means
+-				 * no handlers exist at present. */
+-    int deleteCount;		/* Counts # of handlers deleted since
+-				 * last time inactive handlers were
+-				 * garbage-collected.  When this number
+-				 * gets big, handlers get cleaned up. */
++				/* First in list of error handlers for this
++				 * display. NULL means no handlers exist at
++				 * present. */
++    int deleteCount;		/* Counts # of handlers deleted since last
++				 * time inactive handlers were garbage-
++				 * collected. When this number gets big,
++				 * handlers get cleaned up. */
+ 
+     /*
+      * Used by tkEvent.c only:
+      */
+ 
+     struct TkWindowEvent *delayedMotionPtr;
+-				/* Points to a malloc-ed motion event
+-				 * whose processing has been delayed in
+-				 * the hopes that another motion event
+-				 * will come along right away and we can
+-				 * merge the two of them together.  NULL
+-				 * means that there is no delayed motion
+-				 * event. */
++				/* Points to a malloc-ed motion event whose
++				 * processing has been delayed in the hopes
++				 * that another motion event will come along
++				 * right away and we can merge the two of them
++				 * together. NULL means that there is no
++				 * delayed motion event. */
+ 
+     /*
+      * Information used by tkFocus.c only:
+@@ -229,26 +227,24 @@
+ 				 * statistics. */
+     struct TkWindow *implicitWinPtr;
+ 				/* If the focus arrived at a toplevel window
+-				 * implicitly via an Enter event (rather
+-				 * than via a FocusIn event), this points
+-				 * to the toplevel window.  Otherwise it is
+-				 * NULL. */
++				 * implicitly via an Enter event (rather than
++				 * via a FocusIn event), this points to the
++				 * toplevel window. Otherwise it is NULL. */
+     struct TkWindow *focusPtr;	/* Points to the window on this display that
+-				 * should be receiving keyboard events.  When
++				 * should be receiving keyboard events. When
+ 				 * multiple applications on the display have
+-				 * the focus, this will refer to the
+-				 * innermost window in the innermost
+-				 * application.  This information isn't used
+-				 * under Unix or Windows, but it's needed on
+-				 * the Macintosh. */
++				 * the focus, this will refer to the innermost
++				 * window in the innermost application. This
++				 * information isn't used under Unix or
++				 * Windows, but it's needed on the Mac. */
+ 
+     /*
+      * Information used by tkGC.c only:
+      */
+ 
+-    Tcl_HashTable gcValueTable;	/* Maps from a GC's values to a TkGC structure
++    Tcl_HashTable gcValueTable; /* Maps from a GC's values to a TkGC structure
+ 				 * describing a GC with those values. */
+-    Tcl_HashTable gcIdTable;	/* Maps from a GC to a TkGC. */
++    Tcl_HashTable gcIdTable;    /* Maps from a GC to a TkGC. */
+     int gcInit;			/* 0 means the tables below need
+ 				 * initializing. */
+ 
+@@ -258,23 +254,22 @@
+ 
+     Tcl_HashTable maintainHashTable;
+ 				/* Hash table that maps from a master's
+-				 * Tk_Window token to a list of slaves
+-				 * managed by that master. */
++				 * Tk_Window token to a list of slaves managed
++				 * by that master. */
+     int geomInit;
+ 
+     /*
+      * Information used by tkGet.c only:
+      */
+ 
+-    Tcl_HashTable uidTable;	/* Stores all Tk_Uids used in a thread. */
++    Tcl_HashTable uidTable;	/* Stores all Tk_Uid used in a thread. */
+     int uidInit;		/* 0 means uidTable needs initializing. */
+ 
+     /*
+      * Information used by tkGrab.c only:
+      */
+ 
+-    struct TkWindow *grabWinPtr;
+-				/* Window in which the pointer is currently
++    struct TkWindow *grabWinPtr;/* Window in which the pointer is currently
+ 				 * grabbed, or NULL if none. */
+     struct TkWindow *eventualGrabWinPtr;
+ 				/* Value that grabWinPtr will have once the
+@@ -286,22 +281,22 @@
+ 				 * if no such press in effect. */
+     struct TkWindow *serverWinPtr;
+ 				/* If no application contains the pointer then
+-				 * this is NULL.  Otherwise it contains the
+-				 * last window for which we've gotten an
+-				 * Enter or Leave event from the server (i.e.
+-				 * the last window known to have contained
+-				 * the pointer).  Doesn't reflect events
+-				 * that were synthesized in tkGrab.c. */
++				 * this is NULL. Otherwise it contains the
++				 * last window for which we've gotten an Enter
++				 * or Leave event from the server (i.e. the
++				 * last window known to have contained the
++				 * pointer). Doesn't reflect events that were
++				 * synthesized in tkGrab.c. */
+     TkGrabEvent *firstGrabEventPtr;
+ 				/* First in list of enter/leave events
+-				 * synthesized by grab code.  These events
+-				 * must be processed in order before any other
+-				 * events are processed.  NULL means no such
++				 * synthesized by grab code. These events must
++				 * be processed in order before any other
++				 * events are processed. NULL means no such
+ 				 * events. */
+     TkGrabEvent *lastGrabEventPtr;
+ 				/* Last in list of synthesized events, or NULL
+ 				 * if list is empty. */
+-    int grabFlags;		/* Miscellaneous flag values.  See definitions
++    int grabFlags;		/* Miscellaneous flag values. See definitions
+ 				 * in tkGrab.c. */
+ 
+     /*
+@@ -309,8 +304,8 @@
+      */
+ 
+     int gridInit;		/* 0 means table below needs initializing. */
+-    Tcl_HashTable gridHashTable;/* Maps from Tk_Window tokens to
+-				 * corresponding Grid structures. */
++    Tcl_HashTable gridHashTable;/* Maps from Tk_Window tokens to corresponding
++				 * Grid structures. */
+ 
+     /*
+      * Information used by tkImage.c only:
+@@ -328,17 +323,14 @@
+      * Information used by tkOption.c only.
+      */
+ 
+-
+-
+     /*
+      * Information used by tkPack.c only.
+      */
+ 
+     int packInit;		/* 0 means table below needs initializing. */
+     Tcl_HashTable packerHashTable;
+-				/* Maps from Tk_Window tokens to
+-				 * corresponding Packer structures. */
+-
++				/* Maps from Tk_Window tokens to corresponding
++				 * Packer structures. */
+ 
+     /*
+      * Information used by tkPlace.c only.
+@@ -354,14 +346,13 @@
+      * Information used by tkSelect.c and tkClipboard.c only:
+      */
+ 
+-
+     struct TkSelectionInfo *selectionInfoPtr;
+-    /* First in list of selection information
+-				 * records.  Each entry contains information
++				/* First in list of selection information
++				 * records. Each entry contains information
+ 				 * about the current owner of a particular
+ 				 * selection on this display. */
+-    Atom multipleAtom;		/* Atom for MULTIPLE.  None means
+-				 * selection stuff isn't initialized. */
++    Atom multipleAtom;		/* Atom for MULTIPLE. None means selection
++				 * stuff isn't initialized. */
+     Atom incrAtom;		/* Atom for INCR. */
+     Atom targetsAtom;		/* Atom for TARGETS. */
+     Atom timestampAtom;		/* Atom for TIMESTAMP. */
+@@ -370,9 +361,8 @@
+     Atom applicationAtom;	/* Atom for TK_APPLICATION. */
+     Atom windowAtom;		/* Atom for TK_WINDOW. */
+     Atom clipboardAtom;		/* Atom for CLIPBOARD. */
+-#if (TK_VERSION_NUMBER >= _VERSION(8,4,0))
+-    Atom utf8Atom;
+-#endif
++    Atom utf8Atom;		/* Atom for UTF8_STRING. */
++
+     Tk_Window clipWindow;	/* Window used for clipboard ownership and to
+ 				 * retrieve selections between processes. NULL
+ 				 * means clipboard info hasn't been
+@@ -383,7 +373,7 @@
+ 				/* Last application that owned clipboard. */
+     struct TkClipboardTarget *clipTargetPtr;
+ 				/* First in list of clipboard type information
+-				 * records.  Each entry contains information
++				 * records. Each entry contains information
+ 				 * about the buffers for a given selection
+ 				 * target. */
+ 
+@@ -391,13 +381,13 @@
+      * Information used by tkSend.c only:
+      */
+ 
+-    Tk_Window commTkwin;	/* Window used for communication
+-				 * between interpreters during "send"
+-				 * commands.  NULL means send info hasn't
+-				 * been initialized yet. */
++    Tk_Window commTkwin;	/* Window used for communication between
++				 * interpreters during "send" commands. NULL
++				 * means send info hasn't been initialized
++				 * yet. */
+     Atom commProperty;		/* X's name for comm property. */
+-    Atom registryProperty;	/* X's name for property containing
+-				 * registry of interpreter names. */
++    Atom registryProperty;	/* X's name for property containing registry
++				 * of interpreter names. */
+     Atom appNameProperty;	/* X's name for property used to hold the
+ 				 * application name on each comm window. */
+ 
+@@ -409,34 +399,21 @@
+ 				/* First in list of chunks of free resource
+ 				 * identifiers, or NULL if there are no free
+ 				 * resources. */
+-    XID(*defaultAllocProc) _ANSI_ARGS_((Display *display));
++    XID (*defaultAllocProc) (Display *display);
+ 				/* Default resource allocator for display. */
+     struct TkIdStack *windowStackPtr;
+-				/* First in list of chunks of window
+-				 * identifers that can't be reused right
+-				 * now. */
+-#if (TK_VERSION_NUMBER < _VERSION(8,4,0))
+-    int idCleanupScheduled;	/* 1 means a call to WindowIdCleanup has
+-				 * already been scheduled, 0 means it
+-				 * hasn't. */
+-#else
++				/* First in list of chunks of window ids that
++				 * can't be reused right now. */
+     Tcl_TimerToken idCleanupScheduled;
+ 				/* If set, it means a call to WindowIdCleanup
+ 				 * has already been scheduled, 0 means it
+ 				 * hasn't. */
+-#endif
++
+     /*
+      * Information used by tkUnixWm.c and tkWinWm.c only:
+      */
+ 
+-#if (TK_VERSION_NUMBER < _VERSION(8,4,0))
+-    int wmTracing;		/* Used to enable or disable tracing in
+-				 * this module.  If tracing is enabled,
+-				 * then information is printed on
+-				 * standard output about interesting
+-				 * interactions with the window manager. */
+-#endif
+-    struct TkWmInfo *firstWmPtr; /* Points to first top-level window. */
++    struct TkWmInfo *firstWmPtr;/* Points to first top-level window. */
+     struct TkWmInfo *foregroundWmPtr;
+ 				/* Points to the foreground window. */
+ 
+@@ -444,9 +421,8 @@
+      * Information maintained by tkWindow.c for use later on by tkXId.c:
+      */
+ 
+-
+-    int destroyCount;		/* Number of Tk_DestroyWindow operations
+-				 * in progress. */
++    int destroyCount;		/* Number of Tk_DestroyWindow operations in
++				 * progress. */
+     unsigned long lastDestroyRequest;
+ 				/* Id of most recent XDestroyWindow request;
+ 				 * can re-use ids in windowStackPtr when
+@@ -465,42 +441,41 @@
+      */
+ 
+ #ifdef TK_USE_INPUT_METHODS
+-    XIM inputMethod;		/* Input method for this display */
+-#if (TK_VERSION_NUMBER >= _VERSION(8,4,0))
+-#if TK_XIM_SPOT
++    XIM inputMethod;		/* Input method for this display. */
++    XIMStyle inputStyle;	/* Input style selected for this display. */
+     XFontSet inputXfs;		/* XFontSet cached for over-the-spot XIM. */
+-#endif /* TK_XIM_SPOT */
+-#endif /* TK_VERSION_NUMBER >= 8.4 */
+ #endif /* TK_USE_INPUT_METHODS */
+     Tcl_HashTable winTable;	/* Maps from X window ids to TkWindow ptrs. */
++
+     int refCount;		/* Reference count of how many Tk applications
+-                                 * are using this display. Used to clean up
+-                                 * the display when we no longer have any
+-                                 * Tk applications using it.
+-                                 */
++				 * are using this display. Used to clean up
++				 * the display when we no longer have any Tk
++				 * applications using it. */
++
+     /*
+      * The following field were all added for Tk8.3
+      */
+-    int mouseButtonState;       /* current mouse button state for this
+-                                 * display */
+-#if (TK_VERSION_NUMBER < _VERSION(8,4,0))
+-    int warpInProgress;
+-#endif
++
++    int mouseButtonState;	/* Current mouse button state for this
++				 * display. */
++    Window mouseButtonWindow;	/* Window the button state was set in, added
++				 * in Tk 8.4. */
+     Window warpWindow;
+     int warpX;
+     int warpY;
+-#if (TK_VERSION_NUMBER < _VERSION(8,4,0))
+-    int useInputMethods;        /* Whether to use input methods */
+-#else
++
+     /*
+      * The following field(s) were all added for Tk8.4
+      */
+-    long deletionEpoch;		/* Incremented by window deletions */
+-    unsigned int flags;		/* Various flag values:  these are all
+-				 * defined in below. */
+-    TkCaret caret;		/* information about the caret for this
+-				 * display.  This is not a pointer. */
+-#endif
++
++    unsigned int flags;		/* Various flag values: these are all defined
++				 * in below. */
++    TkCaret caret;		/* Information about the caret for this
++				 * display. This is not a pointer. */
++
++    int iconDataSize;		/* Size of default iconphoto image data. */
++    unsigned char *iconDataPtr;	/* Default iconphoto image data, if set. */
++
+ } TkDisplay;
+ 
+ #else
+diff -ur blt2.4z/src/Makefile.in blt2.4z-8.5.2/src/Makefile.in
+--- blt2.4z/src/Makefile.in	2002-07-15 11:31:29.000000000 +0200
++++ blt2.4z-8.5.2/src/Makefile.in	2008-04-15 17:31:26.000000000 +0200
+@@ -230,7 +230,8 @@
+ 
+ distclean: clean
+ 	$(RM) $(srcdir)/*.bak $(srcdir)/*\~ $(srcdir)/"#"*  Makefile
+-	$(RM) bltConfig.h Makefile TAGS
++	$(RM) bltConfig.h bltHash.h Makefile TAGS
++	(cd shared; $(MAKE) distclean)
+ 
+ .c.o:
+ 	$(CC) -c $(CC_SWITCHES) $<
+diff -ur blt2.4z/src/Makefile.vc blt2.4z-8.5.2/src/Makefile.vc
+--- blt2.4z/src/Makefile.vc	2002-09-07 22:12:10.000000000 +0200
++++ blt2.4z-8.5.2/src/Makefile.vc	2008-04-15 17:31:25.000000000 +0200
+@@ -3,16 +3,15 @@
+ # 	Makefile for BLT library using VC++.
+ # ------------------------------------------------------------------------
+ 
+-include	      e:/src/blt/win/makedefs
++include	      ../win/makedefs
+ 
+-TOOLS32       =	c:/Program\ Files/Microsoft\ Visual\ Studio/Vc98
+ AR            =	lib.exe -link50compat
+ LD            =	link.exe
+ CC            =	cl.exe
+ rc32          =	rc.exe
+ 
+ ifeq ($(WITH_JPEG),0)
+-EXTRA_DEFINES = 
++EXTRA_DEFINES =
+ endif
+ ifeq ($(WITH_JPEG),1)
+ EXTRA_DEFINES = -DHAVE_JPEGLIB_H=1
+@@ -21,23 +20,23 @@
+ JPEGINC	      = $(JPEGDIR)
+ endif
+ ifeq ($(WITH_JPEG),2)
+-EXTRA_DEFINES = -DHAVE_IJL_H=1 
++EXTRA_DEFINES = -DHAVE_IJL_H=1
+ JPEGDIR       =	c:/Program\ Files/Intel/IJL
+ JPEGLIB	      =	$(JPEGDIR)/lib/ijl15l.lib
+ JPEGINC	      = $(JPEGDIR)/Include
+ endif
+ 
+ # ------------------------------------------------------------------------
+-# 	C Compiler options 
++# 	C Compiler options
+ # ------------------------------------------------------------------------
+ 
+ DEFINES       =	-D_X86_=1 -D__STDC__ -DWIN32 -DCONSOLE -D_MT \
+-		$(DEBUG_DEFINES) $(SHLIB_DEFINES) $(EXTRA_DEFINES) 
++		$(DEBUG_DEFINES) $(SHLIB_DEFINES) $(EXTRA_DEFINES)
+ 
+ ifeq ($(SHARED),1)
+ SHLIB_DEFINES =	-D_DLL
+ SHLIB_TARGET  =	build-dll
+-LIBS          =	$(COMMON_LIBS) 
++LIBS          =	$(COMMON_LIBS)
+ else
+ SHLIB_DEFINES =	-D_CTYPE_DISABLE_MACROS
+ LIBS          =	$(COMMON_LIBS) $(EXTRA_LIBS)
+@@ -45,23 +44,23 @@
+ 
+ ifeq ($(DEBUG),1)
+ CFLAGS        =	-Z7 -Od
+-DEBUG_LDFLAGS =	-debug:full -debugtype:cv  
++DEBUG_LDFLAGS =	-debug:full -debugtype:cv
+ DEBUG_DEFINES = -DUSE_TCLALLOC=0
+-TK_LIB        =	$(TKDIR)/win/Debug/tk$(v2)d.lib  
+-TCL_LIB       =	$(TCLDIR)/win/Debug/tcl$(v2)d.lib 
++TK_LIB        =	$(TKDIR)/win/Debug/tk$(v2)d.lib
++TCL_LIB       =	$(TCLDIR)/win/Debug/tcl$(v2)d.lib
+ MSVCRT        =	msvcrtd.lib
+ else
+-CFLAGS        =	-Ox -GB -GD 
+-DEBUG_LDFLAGS =	-debug:full -debugtype:cv  
+-TK_LIB        =	$(TKDIR)/win/Release/tk$(v2).lib  
+-TCL_LIB       =	$(TCLDIR)/win/Release/tcl$(v2).lib 
++CFLAGS        =	-Ox -GB
++DEBUG_LDFLAGS =	-debug:full -debugtype:cv
++TK_LIB        =	$(TKDIR)/win/Release/tk$(v2).lib
++TCL_LIB       =	$(TCLDIR)/win/Release/tcl$(v2).lib
+ MSVCRT        =	msvcrt.lib
+ endif
+ 
+-EXTRA_CFLAGS  =	-nologo -W3 
++EXTRA_CFLAGS  =	-nologo -W3
+ 
+ # ------------------------------------------------------------------------
+-# 	Linker flags and options 
++# 	Linker flags and options
+ # ------------------------------------------------------------------------
+ 
+ COMMON_LDFLAGS = -nodefaultlib -release -nologo -warn:3 \
+@@ -72,14 +71,14 @@
+ SHLIB_LDFLAGS = $(COMMON_LDFLAGS) \
+ 		-subsystem:console -entry:mainCRTStartup \
+ 		-subsystem:windows -entry:WinMainCRTStartup \
+-		-entry:_DllMainCRTStartup$(DLLENTRY) -dll  
++		-entry:_DllMainCRTStartup$(DLLENTRY) -dll
+ 
+ LDFLAGS       =	$(COMMON_LDFLAGS) \
+-		-fixed:NO -stack:2300000 
++		-fixed:NO -stack:2300000
+ 
+ COMMON_LIBS   =	$(TK_LIB) $(TCL_LIB) \
+ 		$(MSVCRT) \
+-		kernel32.lib user32.lib 
++		kernel32.lib user32.lib
+ 
+ EXTRA_LIBS    =	$(OLELIB) \
+ 		$(JPEGLIB) \
+@@ -89,11 +88,11 @@
+ 		winspool.lib \
+ 		comdlg32.lib
+ 
+-TCL_ONLY_LIBS = $(TCL_LIB) $(MSVCRT)  kernel32.lib user32.lib advapi32.lib 
++TCL_ONLY_LIBS = $(TCL_LIB) $(MSVCRT)  kernel32.lib user32.lib advapi32.lib
+ 
+ 
+ # ------------------------------------------------------------------------
+-# 	Source and target installation directories 
++# 	Source and target installation directories
+ # ------------------------------------------------------------------------
+ 
+ srcdir        =	.
+@@ -108,7 +107,6 @@
+ TCLDIR        =	$(srcdir)/../../tcl$(v3)
+ TKDIR         =	$(srcdir)/../../tk$(v3)
+ INCLUDES      =	-I. -I$(srcdir) \
+-		-I$(TOOLS32)/include \
+ 		-I$(JPEGINC) \
+ 		-I$(TCLDIR)/win -I$(TCLDIR)/generic \
+ 		-I$(TKDIR)/win -I$(TKDIR)/generic -I$(TKDIR)/xlib \
+@@ -122,9 +120,9 @@
+ # ------------------------------------------------------------------------
+ 
+ N_OBJS       =	bltTed.o
+-V3_OBJS       =	bltTri.o bltGrMt.o 
++V3_OBJS       =	bltTri.o bltGrMt.o
+ 
+-TK_OBJS       =	tkButton.o tkFrame.o tkScrollbar.o 
++TK_OBJS       =	tkButton.o tkFrame.o tkScrollbar.o
+ 
+ GRAPH_OBJS =	bltGrAxis.o \
+ 		bltGrBar.o \
+@@ -137,7 +135,7 @@
+ 		bltGrMisc.o \
+ 		bltGrPen.o \
+ 		bltGrPs.o \
+-		bltGraph.o 
++		bltGraph.o
+ 
+ TCL_ONLY_OBJS =	bltAlloc.o \
+ 		bltArrayObj.o \
+@@ -161,8 +159,7 @@
+ 		bltWatch.o  \
+ 		bltWinPipe.o \
+ 		bltWinUtil.o \
+-		bltWinDde.o \
+-		pure_api.o
++		bltWinDde.o
+ 
+ DEMO_OBJS     =	tkConsole.o bltWinMain.o
+ 
+@@ -196,14 +193,14 @@
+ 		bltWindow.o \
+ 		bltObjConfig.o \
+ 		bltWinop.o \
+-		$(TK_OBJS) $(N_OBJS) 
++		$(TK_OBJS) $(N_OBJS)
+ 
+ NOT_YET       =	bltContainer.o bltCutBuffer.o bltColor.o
+ 
+ HEADERS       =	blt.h bltChain.h bltVector.h bltTree.h bltPool.h bltHash.h
+ 
+ # GNU Make-specific macro
+-SRCS          =	$(patsubst %.o,$(srcdir)/%.c,$(OBJS)) 
++SRCS          =	$(patsubst %.o,$(srcdir)/%.c,$(OBJS))
+ 
+ shell_name    = bltwish
+ version       =	$(BLT_MAJOR_VERSION)$(BLT_MINOR_VERSION)
+@@ -214,9 +211,9 @@
+ 
+ lib_name =	BLT$(version)
+ lib_a =		BLT$(version).lib
+-lib_so =	BLT$(version).dll		
++lib_so =	BLT$(version).dll
+ tcl_only_lib_a = BLTlite$(version).lib
+-tcl_only_lib_so = BLTlite$(version).dll		
++tcl_only_lib_so = BLTlite$(version).dll
+ 
+ CC_SWITCHES   =	$(CFLAGS) $(EXTRA_CFLAGS) $(DEFINES) $(INCLUDES)
+ VPATH         =	$(srcdir)
+@@ -232,21 +229,19 @@
+ build-dll: build-library $(lib_so) $(tcl_only_lib_so)
+ 
+ $(bltwish): $(lib_a) tkConsole.o  bltWinMain.c
+-	$(RM) $(bltwish) 
++	$(RM) $(bltwish)
+ 	$(CC) -c $(CC_SWITCHES) -DTCLLIBPATH=\"$(TCLLIBPATH)\" \
+ 		-FobltWinMain.o $(srcdir)/bltWinMain.c
+-	LIB=$(TOOLS32)/lib \
+ 	$(LD) $(LDFLAGS) tkConsole.o bltWinMain.o -out:$(bltwish) \
+-		$(lib_a) $(LIBS) 
++		$(lib_a) $(LIBS)
+ 
+ $(bltsh): $(tcl_only_lib_a) bltWinMain.c
+-	$(RM) $(bltsh) 
++	$(RM) $(bltsh)
+ 	$(CC) -c $(CC_SWITCHES) -DTCL_ONLY \
+ 		-DTCLLIBPATH=\"$(TCLLIBPATH)\" \
+ 		-FobltWinMain.o $(srcdir)/bltWinMain.c
+-	LIB=$(TOOLS32)/lib \
+ 	$(LD) $(LDFLAGS) bltWinMain.o -out:$(bltsh) \
+-		$(tcl_only_lib_a) $(TCL_ONLY_LIBS) 
++		$(tcl_only_lib_a) $(TCL_ONLY_LIBS)
+ 
+ $(lib_a):  bltHash.h $(OBJS) bltInit.c
+ 	$(RM) bltInit.o
+@@ -260,7 +255,6 @@
+ 	$(CC) -c $(CC_SWITCHES) -DBLT_LIBRARY=\"$(BLT_LIBRARY)\" \
+ 		-FobltInit.o $(srcdir)/bltInit.c
+ 	$(RM) $@
+-	LIB=$(TOOLS32)/lib \
+ 	$(LD) $(SHLIB_LDFLAGS) -out:$@ bltInit.o $(OBJS) $(SHLIB_LD_LIBS)
+ 
+ $(tcl_only_lib_a):  bltHash.h $(TCL_ONLY_OBJS) bltInit.c
+@@ -268,16 +262,15 @@
+ 	$(CC) -c $(CC_SWITCHES) -DTCL_ONLY -DBLT_LIBRARY=\"$(BLT_LIBRARY)\" \
+ 		-FobltInit.o $(srcdir)/bltInit.c
+ 	$(RM) $@
+-	$(AR) -out:$@ bltInit.o $(TCL_ONLY_OBJS) 
++	$(AR) -out:$@ bltInit.o $(TCL_ONLY_OBJS)
+ 
+ $(tcl_only_lib_so): $(tcl_only_lib_a) $(TCL_ONLY_OBJS) bltInit.c
+ 	$(RM) bltInit.o
+ 	$(CC) -c $(CC_SWITCHES) -DTCL_ONLY -DBLT_LIBRARY=\"$(BLT_LIBRARY)\" \
+ 		-FobltInit.o $(srcdir)/bltInit.c
+ 	$(RM) $@
+-	LIB=$(TOOLS32)/lib \
+ 	$(LD) $(SHLIB_LDFLAGS) -out:$@ bltInit.o $(TCL_ONLY_OBJS) \
+-		$(TCL_ONLY_LIBS) 
++		$(TCL_ONLY_LIBS)
+ 
+ bltHash.h: bltHash.h.in
+ 	sed -e 's/@SIZEOF_VOID_P@/4/' \
+@@ -295,7 +288,7 @@
+ 	    fi ; \
+         done
+ 
+-install-binaries: install-lib install-demos 
++install-binaries: install-lib install-demos
+ 
+ install-demos: build-demos
+ 	$(INSTALL) $(bltwish) $(bindir)/$(bltwish)
+@@ -303,8 +296,8 @@
+ 	$(INSTALL) $(bltsh) $(bindir)/$(bltsh)
+ 	$(INSTALL) $(bltsh) $(bindir)/$(bltsh2)
+ 
+-install-lib: $(lib_so) $(lib_a) 
+-	$(INSTALL_DATA) $(lib_so) $(bindir)
++install-lib: $(lib_so) $(lib_a)
++	$(INSTALL_DATA) $(lib_so) $(libdir)
+ 	$(INSTALL_DATA) $(lib_a) $(libdir)
+ 	$(INSTALL_DATA) $(tcl_only_lib_so) $(bindir)
+ 	$(INSTALL_DATA) $(tcl_only_lib_a) $(libdir)
+@@ -321,11 +314,11 @@
+ 	$(RM) *.o *.pdb *.exp \
+ 		$(lib_a) $(lib_so) $(tcl_only_lib_a) $(tcl_only_lib_so) \
+ 		$(bltwish) $(bltsh) $(bltwish2) $(bltsh2)
+-	$(RM) $(srcdir)/*.bak $(srcdir)/*\~ $(srcdir)/"#"*  
++	$(RM) $(srcdir)/*.bak $(srcdir)/*\~ $(srcdir)/"#"*
++	$(RM) bltHash.h
+ 
+ distclean: clean
+ 	$(RM) Makefile
+ 
+-.c.o:
++%.o : %.c
+ 	$(CC) -c $(CC_SWITCHES) -Fo$*.o $<
+-
+Sólo en blt2.4z/src: pure_api.c
+diff -ur blt2.4z/src/shared/Makefile.in blt2.4z-8.5.2/src/shared/Makefile.in
+--- blt2.4z/src/shared/Makefile.in	2002-05-14 23:37:19.000000000 +0200
++++ blt2.4z-8.5.2/src/shared/Makefile.in	2008-04-15 17:31:25.000000000 +0200
+@@ -175,10 +175,10 @@
+         done
+ clean:
+ 	$(RM) $(OBJS) $(lib_so) $(tcl_only_lib_so) $(bltwish) $(bltsh) \
+-		*pure* .pure* 
++		*pure* .pure* bltInit.o
+ 
+ distclean: clean
+-	$(RM) $(srcdir)/*.bak $(srcdir)/*\~ $(srcdir)/"#"* 
++	$(RM) Makefile $(srcdir)/*.bak $(srcdir)/*\~ $(srcdir)/"#"* 
+ 
+ # ------------------------------------------------------------------------
+ # 	in lieu of viewpath-ing...
+Sólo en blt2.4z-8.5.2/src: t.t
+diff -ur blt2.4z/win/makedefs blt2.4z-8.5.2/win/makedefs
+--- blt2.4z/win/makedefs	2002-10-16 07:33:53.000000000 +0200
++++ blt2.4z-8.5.2/win/makedefs	2008-04-15 17:31:26.000000000 +0200
+@@ -3,33 +3,13 @@
+ 
+ v1 = 8.4
+ v2 = 84
+-v3 = 8.4.0
+-
+-#v1 = 8.3
+-#v2 = 83
+-#v3 = 8.3.4
+-
+-#v1 = 8.3
+-#v2 = 83
+-#v3 = 8.3.2
+-
+-#v1 = 8.2
+-#v2 = 82
+-#v3 = 8.2.3
+-
+-#v1 = 8.1
+-#v2 = 81
+-#v3 = 8.1.1
+-
+-#v1 = 8.0
+-#v2 = 80
+-#v3 = 8.0.5
++v3 = 8.4.12
+ 
+ #Use Independent JPEG Group (IJG) library or Intel JPEG Library (IJL)
+ # 0 = None.
+ # 1 = IJG
+ # 2 = IJL
+-WITH_JPEG=2
++WITH_JPEG=0
+ 
+ # ------------------------------------------------------------------------
+ #       You shouldn't need to edit anything beyond this point
+@@ -39,7 +19,7 @@
+ BLT_MINOR_VERSION = 	4
+ BLT_VERSION =		2.4
+ 
+-prefix =		C:/Program\ Files/Tcl
++prefix =		x:/target/staff/koen/install/tcltk8.4.12/WIN
+ exec_prefix =		$(prefix)
+ includedir =		$(prefix)/include
+ bindir =		$(prefix)/bin
+@@ -48,7 +28,7 @@
+ BLT_LIBRARY =		$(libdir)/blt$(BLT_VERSION)
+ TCLLIBPATH =		$(libdir)/tcl$(v1)
  
- #endif /* TCL_MAJOR_VERSION >= 8 */
+-AUX_LIBS = 
++AUX_LIBS =
+ SHLIB_SUFFIX =		.dll
  
+ INSTALL =		install -m 0755




More information about the fedora-extras-commits mailing list