diff options
| author | dgp <dgp@users.sourceforge.net> | 2016-11-04 15:52:17 (GMT) |
|---|---|---|
| committer | dgp <dgp@users.sourceforge.net> | 2016-11-04 15:52:17 (GMT) |
| commit | fbc3a63f6c2f807d2181059be4b58e68e1791f00 (patch) | |
| tree | 41598aab42e4b2e8638fd08568b6203c6404ca91 | |
| parent | f2262dec1cdcdbae633751f0c986e4bfff4035db (diff) | |
| parent | 18a2ebc51dc9923f5cd946614aa87f4293ab40bd (diff) | |
| download | tcl-fbc3a63f6c2f807d2181059be4b58e68e1791f00.zip tcl-fbc3a63f6c2f807d2181059be4b58e68e1791f00.tar.gz tcl-fbc3a63f6c2f807d2181059be4b58e68e1791f00.tar.bz2 | |
merge trunk
| -rw-r--r-- | doc/expr.n | 10 | ||||
| -rw-r--r-- | generic/tclEnsemble.c | 2 | ||||
| -rw-r--r-- | generic/tclListObj.c | 14 | ||||
| -rw-r--r-- | generic/tclStringObj.c | 4 | ||||
| -rw-r--r-- | library/http/http.tcl | 4 | ||||
| -rw-r--r-- | library/http/pkgIndex.tcl | 4 | ||||
| -rw-r--r-- | library/msgcat/msgcat.tcl | 2 | ||||
| -rw-r--r-- | library/tcltest/tcltest.tcl | 2 | ||||
| -rw-r--r-- | tests/all.tcl | 2 | ||||
| -rw-r--r-- | tests/main.test | 2 | ||||
| -rw-r--r-- | tests/msgcat.test | 2 | ||||
| -rw-r--r-- | tests/safe.test | 2 | ||||
| -rw-r--r-- | tests/tm.test | 2 | ||||
| -rw-r--r-- | tools/tcltk-man2html-utils.tcl | 5 | ||||
| -rw-r--r-- | unix/Makefile.in | 4 | ||||
| -rw-r--r-- | win/Makefile.in | 4 |
16 files changed, 35 insertions, 30 deletions
@@ -135,7 +135,7 @@ absolute value of the divisor, has the same sign as the divisor. .RS .PP When applied to integers, division and remainder can be -considered to partition the number line into a sequence of +considered to partition the number line into a sequence of adjacent non-overlapping pieces, where each piece is the size of the divisor; the quotient identifies which piece the dividend lies within, and the remainder identifies where within that piece the dividend lies. A @@ -199,10 +199,10 @@ Logical OR. If both operands are false, the result is 0, or 1 otherwise. If-then-else, as in C. If \fIx\fR is false , the result is the value of \fIy\fR. Otherwise the result is the value of \fIz\fR. .PP -The exponentiation operator promotes types in the same way that the multiply -and divide operators do, and the result is is the same as the result of +The exponentiation operator promotes types in the same way that the multiply +and divide operators do, and the result is is the same as the result of \fBpow\fR. -Exponentiation groups right-to-left within a precedence level. Other binary +Exponentiation groups right-to-left within a precedence level. Other binary operators group left-to-right. For example, the value of .PP .CS @@ -217,7 +217,7 @@ is 0, while the value of .PP is 512. .PP -As in C, \fB&&\fR, \fB||\fR, and \fB?:\fR feature +As in C, \fB&&\fR, \fB||\fR, and \fB?:\fR feature .QW "lazy evaluation" , which means that operands are not evaluated if they are not needed to determine the outcome. For example, in diff --git a/generic/tclEnsemble.c b/generic/tclEnsemble.c index bd68078..6811849 100644 --- a/generic/tclEnsemble.c +++ b/generic/tclEnsemble.c @@ -3149,7 +3149,7 @@ TclCompileEnsemble( * any extra elements that might have been appended by failing * pathways above. */ - (void) Tcl_ListObjReplace(NULL, replaced, depth-1, INT_MAX, 0, NULL); + (void) Tcl_ListObjReplace(NULL, replaced, depth-1, LIST_MAX, 0, NULL); /* * TODO: Reconsider whether we ought to call CompileToInvokedCommand() diff --git a/generic/tclListObj.c b/generic/tclListObj.c index e2e0f63..603b828 100644 --- a/generic/tclListObj.c +++ b/generic/tclListObj.c @@ -935,18 +935,18 @@ Tcl_ListObjReplace( } if (count < 0) { count = 0; - } else if (numElems < first+count || first+count < 0) { - /* - * The 'first+count < 0' condition here guards agains integer - * overflow in determining 'first+count'. - */ + } else if (first > INT_MAX - count /* Handle integer overflow */ + || numElems < first+count) { count = numElems - first; } if (objc > LIST_MAX - (numElems - count)) { - Tcl_SetObjResult(interp, Tcl_ObjPrintf( - "max length of a Tcl list (%d elements) exceeded", LIST_MAX)); + if (interp != NULL) { + Tcl_SetObjResult(interp, Tcl_ObjPrintf( + "max length of a Tcl list (%d elements) exceeded", + LIST_MAX)); + } return TCL_ERROR; } isShared = (listRepPtr->refCount > 1); diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c index 61ff2fc..85b15fd 100644 --- a/generic/tclStringObj.c +++ b/generic/tclStringObj.c @@ -2656,7 +2656,7 @@ TclStringCatObjv( /* Value has a string rep. */ if (objPtr->length) { /* - * Non-empty string rep. Not a pure bytearray, so we + * Non-empty string rep. Not a pure bytearray, so we * won't create a pure bytearray */ binary = 0; @@ -2753,7 +2753,7 @@ TclStringCatObjv( if (inPlace && !Tcl_IsShared(*objv)) { int start; - + objResultPtr = *objv++; objc--; Tcl_GetByteArrayFromObj(objResultPtr, &start); dst = Tcl_SetByteArrayLength(objResultPtr, length) + start; diff --git a/library/http/http.tcl b/library/http/http.tcl index dfd6996..d105886 100644 --- a/library/http/http.tcl +++ b/library/http/http.tcl @@ -8,10 +8,10 @@ # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. -package require Tcl 8.6 +package require Tcl 8.6- # Keep this in sync with pkgIndex.tcl and with the install directories in # Makefiles -package provide http 2.8.9 +package provide http 2.8.10 namespace eval http { # Allow resourcing to not clobber existing data diff --git a/library/http/pkgIndex.tcl b/library/http/pkgIndex.tcl index 6e0301a..841b4eb 100644 --- a/library/http/pkgIndex.tcl +++ b/library/http/pkgIndex.tcl @@ -1,2 +1,2 @@ -if {![package vsatisfies [package provide Tcl] 8.6]} {return} -package ifneeded http 2.8.9 [list tclPkgSetup $dir http 2.8.9 {{http.tcl source {::http::config ::http::formatQuery ::http::geturl ::http::reset ::http::wait ::http::register ::http::unregister ::http::mapReply}}}] +if {![package vsatisfies [package provide Tcl] 8.6-]} {return} +package ifneeded http 2.8.10 [list tclPkgSetup $dir http 2.8.10 {{http.tcl source {::http::config ::http::formatQuery ::http::geturl ::http::reset ::http::wait ::http::register ::http::unregister ::http::mapReply}}}] diff --git a/library/msgcat/msgcat.tcl b/library/msgcat/msgcat.tcl index a43f13e..928474d 100644 --- a/library/msgcat/msgcat.tcl +++ b/library/msgcat/msgcat.tcl @@ -11,7 +11,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. -package require Tcl 8.5 +package require Tcl 8.5- # When the version number changes, be sure to update the pkgIndex.tcl file, # and the installation directory in the Makefiles. package provide msgcat 1.6.0 diff --git a/library/tcltest/tcltest.tcl b/library/tcltest/tcltest.tcl index cde2660..75975d2 100644 --- a/library/tcltest/tcltest.tcl +++ b/library/tcltest/tcltest.tcl @@ -16,7 +16,7 @@ # Contributions from Don Porter, NIST, 2002. (not subject to US copyright) # All rights reserved. -package require Tcl 8.5 ;# -verbose line uses [info frame] +package require Tcl 8.5- ;# -verbose line uses [info frame] namespace eval tcltest { # When the version number changes, be sure to update the pkgIndex.tcl file, diff --git a/tests/all.tcl b/tests/all.tcl index 0a6f57f..69a16ba 100644 --- a/tests/all.tcl +++ b/tests/all.tcl @@ -11,7 +11,7 @@ # of this file, and for a DISCLAIMER OF ALL WARRANTIES. package prefer latest -package require Tcl 8.5 +package require Tcl 8.5- package require tcltest 2.2 namespace import tcltest::* configure {*}$argv -testdir [file dir [info script]] diff --git a/tests/main.test b/tests/main.test index 96af066..ab66b38 100644 --- a/tests/main.test +++ b/tests/main.test @@ -16,7 +16,7 @@ namespace eval ::tcl::test::main { # - tests use testing commands introduced in Tcltest 8.4 testConstraint Tcltest [expr { [llength [package provide Tcltest]] - && [package vsatisfies [package provide Tcltest] 8.4]}] + && [package vsatisfies [package provide Tcltest] 8.5-]}] # Procedure to simulate interactive typing of commands, line by line proc type {chan script} { diff --git a/tests/msgcat.test b/tests/msgcat.test index e69220e..1c3ce58 100644 --- a/tests/msgcat.test +++ b/tests/msgcat.test @@ -12,7 +12,7 @@ # Note that after running these tests, entries will be left behind in the # message catalogs for locales foo, foo_BAR, and foo_BAR_baz. -package require Tcl 8.5 +package require Tcl 8.5- if {[catch {package require tcltest 2}]} { puts stderr "Skipping tests in [info script]. tcltest 2 required." return diff --git a/tests/safe.test b/tests/safe.test index 6c9c6c9..e43ce12 100644 --- a/tests/safe.test +++ b/tests/safe.test @@ -10,7 +10,7 @@ # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. -package require Tcl 8.5 +package require Tcl 8.5- if {[lsearch [namespace children] ::tcltest] == -1} { package require tcltest 2 diff --git a/tests/tm.test b/tests/tm.test index a4dafe0..567d351 100644 --- a/tests/tm.test +++ b/tests/tm.test @@ -6,7 +6,7 @@ # Copyright (c) 2004 by Donal K. Fellows. # All rights reserved. -package require Tcl 8.5 +package require Tcl 8.5- if {"::tcltest" ni [namespace children]} { package require tcltest 2 namespace import -force ::tcltest::* diff --git a/tools/tcltk-man2html-utils.tcl b/tools/tcltk-man2html-utils.tcl index 8fd1245..9052049 100644 --- a/tools/tcltk-man2html-utils.tcl +++ b/tools/tcltk-man2html-utils.tcl @@ -57,9 +57,14 @@ proc copyright {copyright {level {}}} { } proc copyout {copyrights {level {}}} { + set count 0 set out "<div class=\"copy\">" foreach c $copyrights { + if {$count > 0} { + append out <BR> + } append out "[copyright $c $level]\n" + incr count } append out "</div>" return $out diff --git a/unix/Makefile.in b/unix/Makefile.in index eb083e0..628c6e9 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -840,8 +840,8 @@ install-libraries: libraries do \ $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/http1.0; \ done; - @echo "Installing package http 2.8.9 as a Tcl Module"; - @$(INSTALL_DATA) $(TOP_DIR)/library/http/http.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.6/http-2.8.9.tm; + @echo "Installing package http 2.8.10 as a Tcl Module"; + @$(INSTALL_DATA) $(TOP_DIR)/library/http/http.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.6/http-2.8.10.tm; @echo "Installing package opt0.4 files to $(SCRIPT_INSTALL_DIR)/opt0.4/"; @for i in $(TOP_DIR)/library/opt/*.tcl ; \ do \ diff --git a/win/Makefile.in b/win/Makefile.in index 066e6b1..0ab4204 100644 --- a/win/Makefile.in +++ b/win/Makefile.in @@ -651,8 +651,8 @@ install-libraries: libraries install-tzdata install-msgs do \ $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/http1.0"; \ done; - @echo "Installing package http 2.8.9 as a Tcl Module"; - @$(COPY) $(ROOT_DIR)/library/http/http.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.6/http-2.8.9.tm; + @echo "Installing package http 2.8.10 as a Tcl Module"; + @$(COPY) $(ROOT_DIR)/library/http/http.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.6/http-2.8.10.tm; @echo "Installing library opt0.4 directory"; @for j in $(ROOT_DIR)/library/opt/*.tcl; \ do \ |
