summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2019-03-18 22:17:52 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2019-03-18 22:17:52 (GMT)
commit1dd829fb01e13e3c74113061a59bea80ad2b7860 (patch)
treedcdc8d774dddefcc32f84d5a8f1f54cc6219e729
parenta7398e7fcb05ac1a37b88ee1be6c14a8b156e1a9 (diff)
parentec4d7da07dc725f100fb8d1ef0421b352ddd6b96 (diff)
downloadtcl-1dd829fb01e13e3c74113061a59bea80ad2b7860.zip
tcl-1dd829fb01e13e3c74113061a59bea80ad2b7860.tar.gz
tcl-1dd829fb01e13e3c74113061a59bea80ad2b7860.tar.bz2
Merge 8.7
-rw-r--r--generic/tclCmdMZ.c2
-rw-r--r--generic/tclExecute.c2
-rw-r--r--generic/tclIO.c6
-rw-r--r--generic/tclStringObj.c2
-rw-r--r--tests-perf/clock.perf.tcl14
-rw-r--r--tests-perf/test-performance.tcl10
-rw-r--r--tests-perf/timer-event.perf.tcl16
7 files changed, 26 insertions, 26 deletions
diff --git a/generic/tclCmdMZ.c b/generic/tclCmdMZ.c
index 253c7cc..831c3c4 100644
--- a/generic/tclCmdMZ.c
+++ b/generic/tclCmdMZ.c
@@ -1447,7 +1447,7 @@ StringIndexCmd(
Tcl_SetObjResult(interp, Tcl_NewByteArrayObj(&uch, 1));
} else {
- char buf[TCL_UTF_MAX] = "";
+ char buf[4] = "";
end = Tcl_UniCharToUtf(ch, buf);
if ((ch >= 0xD800) && (end < 3)) {
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index 69ec6b3..9cde1d0 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -5006,7 +5006,7 @@ TEBCresume(
objResultPtr = Tcl_NewStringObj((const char *)
valuePtr->bytes+index, 1);
} else {
- char buf[TCL_UTF_MAX] = "";
+ char buf[4] = "";
int ch = Tcl_GetUniChar(valuePtr, index);
/*
diff --git a/generic/tclIO.c b/generic/tclIO.c
index ab5d20c..6a80363 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -6220,7 +6220,7 @@ ReadChars(
* and do not encounter the eof char this time.
*/
- dstLimit = dstRead - 1 + TCL_UTF_MAX;
+ dstLimit = dstRead + (TCL_UTF_MAX - 1);
statePtr->flags = savedFlags;
statePtr->inputEncodingFlags = savedIEFlags;
statePtr->inputEncodingState = savedState;
@@ -6245,7 +6245,7 @@ ReadChars(
* here in this call.
*/
- dstLimit = dstRead - 1 + TCL_UTF_MAX;
+ dstLimit = dstRead + (TCL_UTF_MAX - 1);
statePtr->flags = savedFlags;
statePtr->inputEncodingFlags = savedIEFlags;
statePtr->inputEncodingState = savedState;
@@ -6338,7 +6338,7 @@ ReadChars(
* bytes demanded by the Tcl_ExternalToUtf() call!
*/
- dstLimit = Tcl_UtfAtIndex(dst, charsToRead) - 1 + TCL_UTF_MAX - dst;
+ dstLimit = Tcl_UtfAtIndex(dst, charsToRead) - dst + (TCL_UTF_MAX - 1);
statePtr->flags = savedFlags;
statePtr->inputEncodingFlags = savedIEFlags;
statePtr->inputEncodingState = savedState;
diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c
index 6a0d796..590b1bd 100644
--- a/generic/tclStringObj.c
+++ b/generic/tclStringObj.c
@@ -1944,7 +1944,7 @@ Tcl_AppendFormatToObj(
}
break;
case 'c': {
- char buf[TCL_UTF_MAX] = "";
+ char buf[4] = "";
int code, length;
if (TclGetIntFromObj(interp, segment, &code) != TCL_OK) {
diff --git a/tests-perf/clock.perf.tcl b/tests-perf/clock.perf.tcl
index d574c2c..f80746f 100644
--- a/tests-perf/clock.perf.tcl
+++ b/tests-perf/clock.perf.tcl
@@ -2,18 +2,18 @@
# ------------------------------------------------------------------------
#
# test-performance.tcl --
-#
+#
# This file provides common performance tests for comparison of tcl-speed
# degradation by switching between branches.
# (currently for clock ensemble only)
#
# ------------------------------------------------------------------------
-#
+#
# Copyright (c) 2014 Serg G. Brester (aka sebres)
-#
+#
# See the file "license.terms" for information on usage and redistribution
# of this file.
-#
+#
array set in {-time 500}
if {[info exists ::argv0] && [file tail $::argv0] eq [file tail [info script]]} {
@@ -215,7 +215,7 @@ proc test-freescan {{reptime 1000}} {
{clock scan "next January" -base 0 -gmt 1}
# FreeScan : relative week
{clock scan "next Fri" -base 0 -gmt 1}
- # FreeScan : relative weekday and week offset
+ # FreeScan : relative weekday and week offset
{clock scan "next January + 2 week" -base 0 -gmt 1}
# FreeScan : time only with base
{clock scan "19:18:30" -base 148863600 -gmt 1}
@@ -300,7 +300,7 @@ proc test-convert {{reptime 1000}} {
{clock format [clock scan "19:18:30 EST" -base 148863600] -format "%H:%M:%S %z" -timezone EST}
# Format locale 1x: comparison values
- {clock format 0 -gmt 1 -locale en}
+ {clock format 0 -gmt 1 -locale en}
{clock format 0 -gmt 1 -locale de}
{clock format 0 -gmt 1 -locale fr}
# Format locale 2x: without switching locale (en, en)
@@ -340,7 +340,7 @@ proc test-convert {{reptime 1000}} {
{clock scan "19:18:30 MST" -base 148863600; clock scan "19:18:30 EST" -base 148863600}
# FreeScan TZ 2x (+1 gmt, +1 system-default)
{clock scan "19:18:30 MST" -base 148863600 -gmt 1; clock scan "19:18:30 EST" -base 148863600}
-
+
# Scan TZ: comparison included in scan string vs. given
{clock scan "2009-06-30T18:30:00 CEST" -format "%Y-%m-%dT%H:%M:%S %z"}
{clock scan "2009-06-30T18:30:00 CET" -format "%Y-%m-%dT%H:%M:%S %z"}
diff --git a/tests-perf/test-performance.tcl b/tests-perf/test-performance.tcl
index 4629cd4..1ddecb5 100644
--- a/tests-perf/test-performance.tcl
+++ b/tests-perf/test-performance.tcl
@@ -1,19 +1,19 @@
# ------------------------------------------------------------------------
#
# test-performance.tcl --
-#
+#
# This file provides common performance tests for comparison of tcl-speed
# degradation or regression by switching between branches.
#
# To execute test case evaluate direct corresponding file "tests-perf\*.perf.tcl".
#
# ------------------------------------------------------------------------
-#
+#
# Copyright (c) 2014 Serg G. Brester (aka sebres)
-#
+#
# See the file "license.terms" for information on usage and redistribution
# of this file.
-#
+#
namespace eval ::tclTestPerf {
# warm-up interpeter compiler env, calibrate timerate measurement functionality:
@@ -33,7 +33,7 @@ if {[lindex [timerate {} 10] 6] >= (10-1)} {
}
proc {**STOP**} {args} {
- return -code error -level 4 "**STOP** in [info level [expr {[info level]-2}]] [join $args { }]"
+ return -code error -level 4 "**STOP** in [info level [expr {[info level]-2}]] [join $args { }]"
}
proc _test_get_commands {lst} {
diff --git a/tests-perf/timer-event.perf.tcl b/tests-perf/timer-event.perf.tcl
index c5a7d45..f68a56a 100644
--- a/tests-perf/timer-event.perf.tcl
+++ b/tests-perf/timer-event.perf.tcl
@@ -3,17 +3,17 @@
# ------------------------------------------------------------------------
#
# timer-event.perf.tcl --
-#
+#
# This file provides performance tests for comparison of tcl-speed
# of timer events (event-driven tcl-handling).
#
# ------------------------------------------------------------------------
-#
+#
# Copyright (c) 2014 Serg G. Brester (aka sebres)
-#
+#
# See the file "license.terms" for information on usage and redistribution
# of this file.
-#
+#
if {![namespace exists ::tclTestPerf]} {
@@ -40,7 +40,7 @@ proc test-queue {{reptime {1000 10000}}} {
{after idle {set foo bar}}
# update / after idle:
{update; if {![llength [after info]]} break}
-
+
# generate up to $howmuch idle-events:
{after idle {set foo bar}}
# update idletasks / after idle:
@@ -50,7 +50,7 @@ proc test-queue {{reptime {1000 10000}}} {
{after 0 {set foo bar}}
# update / after 0:
{update; if {![llength [after info]]} break}
-
+
# generate up to $howmuch 1-ms events:
{after 1 {set foo bar}}
setup {after 1}
@@ -83,7 +83,7 @@ proc test-queue {{reptime {1000 10000}}} {
setup {set le $i; incr i; list $le .. 1; # cancel up to $howmuch events}
{after cancel $ev([incr i -1]); if {$i <= 1} break}
cleanup {update; unset -nocomplain ev}
-
+
# end $howmuch events.
cleanup {if [llength [after info]] {error "unexpected: [llength [after info]] events are still there."}}
}]
@@ -149,7 +149,7 @@ proc test-long {{reptime 1000}} {
{time {after idle {after 30}} 10; after 1 {set important 1}; vwait important;}
cleanup {foreach i [after info] {after cancel $i}}
# in-between important event (of new generation) by amount of idle events:
- {time {after idle {after 30}} 10; after 1 {after 0 {set important 1}}; vwait important;}
+ {time {after idle {after 30}} 10; after 1 {after 0 {set important 1}}; vwait important;}
cleanup {foreach i [after info] {after cancel $i}}
}
}