From owner-svn-ports-all@FreeBSD.ORG Mon Jun 3 16:46:49 2013 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 6F550846; Mon, 3 Jun 2013 16:46:49 +0000 (UTC) (envelope-from gahr@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 4763919C3; Mon, 3 Jun 2013 16:46:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r53GknPV074311; Mon, 3 Jun 2013 16:46:49 GMT (envelope-from gahr@svn.freebsd.org) Received: (from gahr@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r53GknIO074310; Mon, 3 Jun 2013 16:46:49 GMT (envelope-from gahr@svn.freebsd.org) Message-Id: <201306031646.r53GknIO074310@svn.freebsd.org> From: Pietro Cerutti Date: Mon, 3 Jun 2013 16:46:49 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r319794 - head/lang/q/files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Jun 2013 16:46:49 -0000 Author: gahr Date: Mon Jun 3 16:46:48 2013 New Revision: 319794 URL: http://svnweb.freebsd.org/changeset/ports/319794 Log: - Fix build with Tcl/Tk 8.6 Reported by: miwi (Tcl/Tk 8.6 exp-run late comers) Approved by: portmgr Added: head/lang/q/files/patch-modules-tk_tk.c (contents, props changed) Added: head/lang/q/files/patch-modules-tk_tk.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/q/files/patch-modules-tk_tk.c Mon Jun 3 16:46:48 2013 (r319794) @@ -0,0 +1,74 @@ +--- modules/tk/tk.c.orig 2013-06-03 18:38:51.000000000 +0200 ++++ modules/tk/tk.c 2013-06-03 18:43:27.000000000 +0200 +@@ -369,9 +369,9 @@ + } + } + if (!locked) acquire_lock(); +- if (trace || (int)clientData) { ++ if (trace || clientData != NULL) { + int val; +- if ((int)clientData && check_trace(buf, &val)) { ++ if (clientData != NULL && check_trace(buf, &val)) { + clear_buf(&buf, &bufsz); + Tcl_AppendResult(interp, trace?"1":"0", NULL); + trace = val; +@@ -471,7 +471,7 @@ + return dequeue(); + } + +-static void set_result(char *s) ++static void set_result(const char *s) + { + tld_result = malloc(strlen(s)+1); + if (tld_result) strcpy(tld_result, s); +@@ -481,14 +481,16 @@ + { + int status; + char *cmd; ++ const char *res; + tld_result = NULL; + if (!tld_interp) return 0; + cmd = malloc(strlen(s)+1); + if (!cmd) return 0; + strcpy(cmd, s); + status = Tcl_Eval(tld_interp, cmd); +- if (tld_interp && tld_interp->result && *tld_interp->result) +- set_result(tld_interp->result); ++ res = Tcl_GetStringResult(tld_interp); ++ if (tld_interp && res && *res) ++ set_result(res); + else if (status == TCL_BREAK) + set_result("invoked \"break\" outside of a loop"); + else if (status == TCL_CONTINUE) +@@ -506,6 +508,7 @@ + { + Tk_Window mainw; + tld_result = NULL; ++ const char *res; + if (tld_interp) return 1; + /* Just to be safe, if Tcl has been compiled without thread support then we + only allow a single interpreter in the main thread. */ +@@ -516,8 +519,9 @@ + pthread_setspecific(interp_key, tld_interp); + #endif + if (Tcl_Init(tld_interp) != TCL_OK) { +- if (tld_interp->result && *tld_interp->result) +- set_result(tld_interp->result); ++ res = Tcl_GetStringResult(tld_interp); ++ if (res && *res) ++ set_result(res); + else + set_result("error initializing Tcl"); + tk_stop(); +@@ -533,8 +537,9 @@ + /* oddly, there are no `env' variables passed, and this one is needed */ + Tcl_SetVar2(tld_interp, "env", "DISPLAY", getenv("DISPLAY"), TCL_GLOBAL_ONLY); + if (Tk_Init(tld_interp) != TCL_OK) { +- if (tld_interp->result && *tld_interp->result) +- set_result(tld_interp->result); ++ res = Tcl_GetStringResult(tld_interp); ++ if (res && *res) ++ set_result(res); + else + set_result("error initializing Tk"); + tk_stop();