summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsergey.brester <sergey.brester>2019-11-27 13:43:36 (GMT)
committersergey.brester <sergey.brester>2019-11-27 13:43:36 (GMT)
commit87934d6db33216188379da24c1e7efdc81c911dc (patch)
tree2223355786512cee259689f5bd814afd18eb0b28
parentdd334ec3d0d3921423e9614bb88b50d4b4aa0343 (diff)
parent94206b30ffe6cbdb341a8f5a97cdb7fb25c9b818 (diff)
downloadtcl-87934d6db33216188379da24c1e7efdc81c911dc.zip
tcl-87934d6db33216188379da24c1e7efdc81c911dc.tar.gz
tcl-87934d6db33216188379da24c1e7efdc81c911dc.tar.bz2
merge digit-bit-60
-rw-r--r--changes228
-rw-r--r--generic/tcl.h4
-rw-r--r--generic/tclStubInit.c10
-rw-r--r--generic/tclTomMathDecls.h31
-rw-r--r--library/cookiejar/cookiejar.tcl (renamed from library/http/cookiejar.tcl)0
-rw-r--r--library/cookiejar/effective_tld_names.txt.gz (renamed from library/http/effective_tld_names.txt.gz)bin70836 -> 70836 bytes
-rw-r--r--library/cookiejar/idna.tcl (renamed from library/http/idna.tcl)0
-rw-r--r--library/cookiejar/pkgIndex.tcl3
-rw-r--r--library/http/pkgIndex.tcl2
-rw-r--r--library/init.tcl2
-rw-r--r--library/manifest.txt2
-rw-r--r--macosx/README2
-rw-r--r--tests/fileSystemEncoding.test3
-rw-r--r--tests/tcltests.tcl2
-rw-r--r--unix/Makefile.in11
-rwxr-xr-xunix/configure28
-rw-r--r--unix/configure.ac24
-rw-r--r--unix/tcl.spec2
-rw-r--r--unix/tclConfig.h.in26
-rw-r--r--win/Makefile.in9
-rwxr-xr-xwin/configure2
-rw-r--r--win/configure.ac2
-rw-r--r--win/makefile.vc13
23 files changed, 312 insertions, 94 deletions
diff --git a/changes b/changes
index 2ce48bd..bf50b63 100644
--- a/changes
+++ b/changes
@@ -8796,6 +8796,55 @@ improvements to regexp engine from Postgres (lane,porter,fellows,seltenreich)
--- Released 8.6.7, August 9, 2017 --- https://core.tcl-lang.org/tcl/ for details
+Changes to 8.7a1 include all changes to the 8.6 line through 8.6.7,
+plus the following, which focuses on the high-level feature changes
+in this changeset (new minor version) rather than bug fixes:
+
+2016-03-17 (bug)[0b8c38] socket accept callbacks always in global ns (porter)
+ *** POTENTIAL INCOMPATIBILITY ***
+
+2016-07-01 Hack accommodations for legacy Itcl 3 disabled (porter)
+
+2016-07-12 Make TCL_HASH_TYPE build-time configurable (nijtmans)
+
+2016-07-19 (bug)[0363f0] Partial array search ID reform (porter)
+
+2016-07-19 (feature removed) Tcl_ObjType "array search" unregistered (porter)
+ *** POTENTIAL INCOMPATIBILITY for Tcl_GetObjType("array search") ***
+
+2016-10-04 Server socket on port 0 chooses port supporting IPv4 * IPv6 (max)
+
+2016-11-25 [array names -regexp] supports backrefs (goth)
+
+2017-01-04 (TIP 456) New routine Tcl_OpenTcpServerEx() (limeboy)
+
+2017-01-04 (TIP 459) New subcommand [package files] (nijtmans)
+
+2017-01-16 threaded allocator initialization repair (vasiljevic,nijtmans)
+
+2017-01-30 Add to Win shell builtins: assoc ftype move (ashok)
+
+2017-03-31 TCL_MEM_DEBUG facilities better support 64-bit memory (nijtmans)
+
+2017-04-13 \u escaped content in msg files converted to true utf-8 (nijtmans)
+
+2017-05-18 (TIP 458) New epoll or kqueue notifiers are default (alborboz)
+
+2017-05-31 Purge build support for SunOS-4.* (stu)
+
+2017-06-22 (TIP 463) New option [regsub ... -command ...] (fellows)
+
+2017-06-22 (TIP 470) Tcl_GetDefineContextObject();[oo::define [self]] (fellows)
+=> TclOO 1.2.0
+
+2017-06-23 (TIP 472) Support 0d as prefix of decimal numbers (iyer,griffin)
+
+2017-08-31 (bug)[2a9465] http state 100 continue handling broken (oehlmann)
+
+2017-09-02 (bug)[0e4d88] replace command, delete trace kills namespace (porter)
+
+--- Released 8.7a1, September 8, 2017 --- http://core.tcl.tk/tcl/ for details
+
2017-08-10 [array names -regexp] supports backrefs (goth)
2017-08-10 Fix gcc build failures due to #pragma placement (cassoff,fellows)
@@ -8895,58 +8944,179 @@ improvements to regexp engine from Postgres (lane,porter,fellows,seltenreich)
- Released 8.6.9, November 16, 2018 - details at http://core.tcl-lang.org/tcl/ -
-Changes to 8.7a1 include all changes to the 8.6 line through 8.6.7,
+2018-11-22 (bug)[7a9dc5] [file normalize ~/~foo] segfault (sebres)
+
+2018-12-30 (bug)[3cf3a9] variable 'timezone' deprecated in vc2017 (nijtmans)
+
+2019-01-09 (bug)[cc1e91] [list [list {*}[set a " "]]] regression (sebres)
+
+2019-02-01 (bug)[e3f481] tests var-1.2[01] (sebres)
+
+2019-03-01 (new) Update to Unicode 12.0 (nijtmans)
+
+2019-03-05 (new)[TIP 527] New command [timerate] (sebres)
+
+2019-03-08 (bug)[39fed4] [package require] memory validity (hume,porter)
+
+2019-04-23 (new) New command tcl::unsupported::corotype (fellows)
+
+2019-05-04 (bug) memlink when namespace deletion kills linked var (porter)
+
+2019-05-28 (new) README file converted to README.md in Markdown (nijtmans)
+
+2019-06-17 (bug)[8b9854] [info level 0] regression with ensembles (porter)
+
+2019-06-20 (bug)[6bdadf] crash multi-arg write-traced [lappend] (fellows,porter)
+
+2019-06-21 (bug)[f8a33c] crash Tcl_Exit before init (brooks,sebres)
+
+2019-08-27 (bug)[fa6bf3] Bytecode fails epoch recovery at numLevel=0 (sebres)
+
+2019-08-29 (bug)[fec0c1] C stack overflow compiling bytecode (ade,sebres)
+
+2019-09-12 tzdata updated to Olson's tzdata2019c (jima)
+
+2019-09-20 (new) registry/dde no longer need -DUNICODE (nijtmans)
+=> registry 1.3.4
+=> dde 1.4.2
+
+2019-10-02 (bug)[16768d] Fix [info hostname] on NetBSD (rytaro)
+
+2019-10-23 (new) libtommath updated to release 1.2.0 (nijtmans)
+
+2019-10-25 OSX: system Tcl deprecated. End default use of its packages. (walzer)
+
+2019-10-28 (bug)[bcd100] bad fs cache when system encoding changes (coulter)
+
+2019-11-15 (bug)[135804] segfault in [next] after destroy (coulter,sebres)
+
+- Released 8.6.10, Nov 21, 2019 - details at http://core.tcl-lang.org/tcl/ -
+
+Changes to 8.7a3 include all changes to the 8.6 line through 8.6.10,
plus the following, which focuses on the high-level feature changes
in this changeset (new minor version) rather than bug fixes:
-2016-03-17 (bug)[0b8c38] socket accept callbacks always in global ns (porter)
- *** POTENTIAL INCOMPATIBILITY ***
+2017-11-01 (bug)[3c32a3] crash deleting class mixed into instance (coulter)
-2016-07-01 Hack accommodations for legacy Itcl 3 disabled (porter)
+2017-11-03 [TIP 345] eliminate the encoding 'identity' (porter)
-2016-07-12 Make TCL_HASH_TYPE build-time configurable (nijtmans)
+2017-11-04 (bug)[0d902e] [string first] on ASCII stored as Unicode (fellows)
-2016-07-19 (bug)[0363f0] Partial array search ID reform (porter)
+2017-11-17 [TIP 422] Mark all Tcl_*VA() routines deprecated. (nijtmans)
-2016-07-19 (feature removed) Tcl_ObjType "array search" unregistered (porter)
- *** POTENTIAL INCOMPATIBILITY for Tcl_GetObjType("array search") ***
+2017-11-20 (support) Ended use of the obsolete values.h header (culler)
-2016-10-04 Server socket on port 0 chooses port supporting IPv4 * IPv6 (max)
+2017-11-30 (bug)[8e1e31] [lsort] ordering of U+0000 (nijtmans)
-2016-11-25 [array names -regexp] supports backrefs (goth)
+2017-12-07 [TIP 487] Terminate support for pre-XP Windows (nijtmans)
-2017-01-04 (TIP 456) New routine Tcl_OpenTcpServerEx() (limeboy)
+2017-12-08 [TIP 477] Reform of nmake build (nadkarni)
-2017-01-04 (TIP 459) New subcommand [package files] (nijtmans)
+2017-12-20 (bug)[ba1419] Crash: complex ensemble delete, namespace-7.8 (coulter)
-2017-01-16 threaded allocator initialization repair (vasiljevic,nijtmans)
+2018-01-17 [TIP 485] Removal of many deprecated features (nijtmans)
-2017-01-30 Add to Win shell builtins: assoc ftype move (ashok)
+2018-01-27 (bug) Crash in [join $l $l], join-4.1 (porter)
-2017-03-31 TCL_MEM_DEBUG facilities better support 64-bit memory (nijtmans)
+2018-02-06 [TIP 493] Cease Distribution of http 1.0 (porter)
-2017-04-13 \u escaped content in msg files converted to true utf-8 (nijtmans)
+2018-02-06 [TIP 484] internal rep for native ints are all 64-bit (nijtmans)
-2017-05-18 (TIP 458) New epoll or kqueue notifiers are default (alborboz)
+2018-02-14 [TIP 476] Scan/Printf consistency (nijtmans)
-2017-05-31 Purge build support for SunOS-4.* (stu)
+2018-03-05 [TIP 351] [lsearch] striding
-2017-06-22 (TIP 463) New option [regsub ... -command ...] (fellows)
+2018-03-05 [TIPs 330,336] tighten access to Interp fields (porter)
-2017-06-22 (TIP 470) Tcl_GetDefineContextObject();[oo::define [self]] (fellows)
-=> TclOO 1.2.0
+2018-03-12 [TIP 462] [::tcl::process]
-2017-06-23 (TIP 472) Support 0d as prefix of decimal numbers (iyer,griffin)
+2018-03-12 [TIP 490] add oo support for msgcat => msgcat 1.7.0 (oehlmann)
-2017-08-31 (bug)[2a9465] http state 100 continue handling broken (oehlmann)
+2018-03-12 [TIP 499] custom locale preference list (oehlmann)
+=> msgcat 1.7.0
-2017-09-02 (bug)[0e4d88] replace command, delete trace kills namespace (porter)
+2018-03-20 [TIP 503] End CONST84 support for Tcl 8.3 (porter)
---- Released 8.7a1, September 8, 2017 --- http://core.tcl.tk/tcl/ for details
+2018-03-30 Refactored [lrange] (spjuth)
-2018-03-12 (TIP 490) add oo support for msgcat => msgcat 1.7.0 (oehlmann)
+2018-04-20 [TIP 389] Unicode beyond BMP (nijtmans)
-2018-03-12 (TIP 499) custom locale preference list (oehlmann)
-=> msgcat 1.7.0
+2018-04-20 [TIP 421] [array for]
+
+2018-05-11 [TIP 425] Windows panic callback use of UTF-8
+
+2018-05-17 [TIP 491] Phase out --disable-threads support
+
+2018-06-03 [TIP 500] TclOO Private Methods and Variables
+
+2018-07-26 (bug)[ba921a] [string cat] of bytearrays (coulter,porter)
+
+2018-09-02 [TIP 478] Many new features in TclOO (lester,fellows)
+
+2018-09-04 (bug)[540bed] [binary format w] from bignum (nijtmans)
+
+2018-09-12 [TIP 430] zipfs and embedded script library (woods)
+
+2018-09-26 [TIP 508] [array default] (bonnet,fellows)
+
+2018-09-27 [TIP 515] level value reform (nijtmans)
+
+2018-09-27 [TIP 516] More OO slot operations (fellows)
+
+2018-09-27 [TIP 426] [info cmdtype] (fellows)
+
+2018-09-28 [TIP 509] Cross platform reentrant mutex
+
+2018-10-08 [TIP 514] native integers are 64-bit
+
+2018-10-12 [TIP 502] index value reform (porter)
+
+2018-11-06 [TIP 406] http cookies (fellows)
+
+2018-11-06 [TIP 445] Tcl_ObjType utilities (migrate to Tcl 9) (porter)
+
+2018-11-06 [TIP 501] [string is dict]
+
+2018-11-06 [TIP 519] inline export/unexport option for [oo::define]
+
+2018-11-06 [TIP 523] [lpop]
+
+2018-11-06 [TIP 524] TclOO custom dialects
+
+2018-11-06 [TIP 506] Tcl_(Incr|Decr)RefCount macros -> functions (porter)
+
+2018-11-15 [TIP 512] No stub for Tcl_SetExitProc()
+
+2019-04-08 (bug)[45b9fa] crash in [try] (coulter)
+
+2019-04-14 [TIP 160] terminal and serial channel controls
+
+2019-04-14 [TIP 312] more types for Tcl_LinkVar
+
+2019-04-14 [TIP 367] [lremove]
+
+2019-04-14 [TIP 504] [string insert]
+
+2019-04-16 [TIP 342] [dict getwithdefault]
+
+2019-05-25 [TIP 431] [file tempdir]
+
+2019-05-25 [TIP 383] [coroinject], [coroprobe]
+
+2019-05-31 [TIP 544] Tcl_GetIntForIndex()
+
+2019-06-12 Replace TclOffset() with offsetof()
+
+2019-06-15 [TIP 461] string compare operators for [expr]
+
+2019-06-16 [TIP 521] floating point classification functions for [expr]
+
+2019-06-20 (bug)[6bdadf] crash multi-arg traced [lappend] (fellows)
+
+2019-06-28 [TIP 547] New encodings utf-16, ucs-2
+
+2019-09-14 [TIP 414] Tcl_InitSubsystems()
+
+2019-09-14 [TIP 548] wchar_t conversion functions
-- Released 8.7a3, Nov 30, 2018 --- http://core.tcl-lang.org/tcl/ for details -
+- Released 8.7a3, Nov 21, 2019 --- http://core.tcl-lang.org/tcl/ for details -
diff --git a/generic/tcl.h b/generic/tcl.h
index dea9ee8..697a95f 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -51,10 +51,10 @@ extern "C" {
#define TCL_MAJOR_VERSION 8
#define TCL_MINOR_VERSION 7
#define TCL_RELEASE_LEVEL TCL_ALPHA_RELEASE
-#define TCL_RELEASE_SERIAL 2
+#define TCL_RELEASE_SERIAL 3
#define TCL_VERSION "8.7"
-#define TCL_PATCH_LEVEL "8.7a2"
+#define TCL_PATCH_LEVEL "8.7a3"
#if !defined(TCL_NO_DEPRECATED) || defined(RC_INVOKED)
/*
diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c
index 6bdb1e8..040fb32 100644
--- a/generic/tclStubInit.c
+++ b/generic/tclStubInit.c
@@ -109,7 +109,6 @@
#define TclBN_mp_tc_div_2d mp_signed_rsh
#define TclBN_mp_tc_or TclBN_mp_or
#define TclBN_mp_tc_xor TclBN_mp_xor
-#define TclBN_mp_toradix_n mp_toradix_n
#define TclBN_mp_to_radix mp_to_radix
#define TclBN_mp_to_ubin mp_to_ubin
#define TclBN_mp_ubin_size mp_ubin_size
@@ -142,14 +141,14 @@ static int TclSockMinimumBuffersOld(int sock, int size)
mp_err TclBN_mp_set_int(mp_int *a, unsigned long i)
{
- mp_set_u64(a, i);
+ TclBN_mp_set_u64(a, i);
return MP_OKAY;
}
static mp_err TclBN_mp_set_long(mp_int *a, unsigned long i)
{
- mp_set_u64(a, i);
- return MP_OKAY;
+ TclBN_mp_set_u64(a, i);
+ return MP_OKAY;
}
#define TclBN_mp_set_ul (void (*)(mp_int *a, unsigned long i))TclBN_mp_set_long
@@ -198,7 +197,6 @@ mp_err TclBN_mp_mul_d(const mp_int *a, unsigned int b, mp_int *c) {
# define TclBN_mp_expt_d_ex 0
# define TclBN_mp_to_unsigned_bin 0
# define TclBN_mp_to_unsigned_bin_n 0
-# undef TclBN_mp_toradix_n
# define TclBN_mp_toradix_n 0
# undef TclBN_mp_sqr
# define TclBN_mp_sqr 0
@@ -283,7 +281,7 @@ mp_err TclBN_mp_init_l(mp_int *a, long b)
}
void TclBN_mp_set(mp_int *a, unsigned int b) {
- mp_set_u64(a, b);
+ TclBN_mp_set_u64(a, b);
}
mp_err TclBN_mp_toradix_n(const mp_int *a, char *str, int radix, int maxlen)
diff --git a/generic/tclTomMathDecls.h b/generic/tclTomMathDecls.h
index b2294be..f199a2a 100644
--- a/generic/tclTomMathDecls.h
+++ b/generic/tclTomMathDecls.h
@@ -56,15 +56,16 @@
# define MODULE_SCOPE extern
#endif
-MODULE_SCOPE void TclBN_s_mp_reverse(unsigned char *s, size_t len);
MODULE_SCOPE mp_err TclBN_s_mp_add_d(const mp_int *a, mp_digit b, mp_int *c);
MODULE_SCOPE mp_ord TclBN_s_mp_cmp_d(const mp_int *a, mp_digit b);
-MODULE_SCOPE mp_err TclBN_s_mp_sub_d(const mp_int *a, mp_digit b, mp_int *c);
MODULE_SCOPE mp_err TclBN_s_mp_div_d(const mp_int *a, mp_digit b, mp_int *c, mp_digit *d);
-MODULE_SCOPE mp_err TclBN_s_mp_init_set(mp_int *a, mp_digit b);
+MODULE_SCOPE mp_err TclBN_s_mp_div_3(const mp_int *a, mp_int *c, mp_digit *b);
+MODULE_SCOPE mp_err TclBN_s_mp_expt_u32(const mp_int *a, uint32_t b, mp_int *c);
+MODULE_SCOPE mp_err TclBN_s_mp_init_set(mp_int *a, mp_digit b);
MODULE_SCOPE mp_err TclBN_s_mp_mul_d(const mp_int *a, mp_digit b, mp_int *c);
+MODULE_SCOPE void TclBN_s_mp_reverse(unsigned char *s, size_t len);
MODULE_SCOPE void TclBN_s_mp_set(mp_int *a, mp_digit b);
-MODULE_SCOPE mp_err TclBN_s_mp_expt_u32(const mp_int *a, unsigned int b, mp_int *c);
+MODULE_SCOPE mp_err TclBN_s_mp_sub_d(const mp_int *a, mp_digit b, mp_int *c);
/* Rename the global symbols in libtommath to avoid linkage conflicts */
@@ -72,33 +73,40 @@ MODULE_SCOPE mp_err TclBN_s_mp_expt_u32(const mp_int *a, unsigned int b, mp_int
#ifndef TCL_WITH_EXTERNAL_TOMMATH
#define bn_reverse TclBN_reverse
#define mp_add TclBN_mp_add
+#define mp_add_d TclBN_s_mp_add_d
#define mp_and TclBN_mp_and
#define mp_clamp TclBN_mp_clamp
#define mp_clear TclBN_mp_clear
#define mp_clear_multi TclBN_mp_clear_multi
#define mp_cmp TclBN_mp_cmp
+#define mp_cmp_d TclBN_s_mp_cmp_d
#define mp_cmp_mag TclBN_mp_cmp_mag
#define mp_cnt_lsb TclBN_mp_cnt_lsb
#define mp_copy TclBN_mp_copy
#define mp_count_bits TclBN_mp_count_bits
#define mp_div TclBN_mp_div
+#define mp_div_d TclBN_s_mp_div_d
#define mp_div_2 TclBN_mp_div_2
+#define mp_div_3 TclBN_s_mp_div_3
#define mp_div_2d TclBN_mp_div_2d
#define mp_exch TclBN_mp_exch
#define mp_expt_d TclBN_mp_expt_d
#define mp_expt_d_ex TclBN_mp_expt_d_ex
+#define mp_expt_u32 TclBN_s_mp_expt_u32
#define mp_get_mag_u64 TclBN_mp_get_mag_u64
#define mp_grow TclBN_mp_grow
#define mp_init TclBN_mp_init
#define mp_init_copy TclBN_mp_init_copy
#define mp_init_i64 TclBN_mp_init_i64
#define mp_init_multi TclBN_mp_init_multi
+#define mp_init_set TclBN_s_mp_init_set
#define mp_init_size TclBN_mp_init_size
#define mp_init_u64 TclBN_mp_init_u64
#define mp_lshd TclBN_mp_lshd
#define mp_mod TclBN_mp_mod
#define mp_mod_2d TclBN_mp_mod_2d
#define mp_mul TclBN_mp_mul
+#define mp_mul_d TclBN_s_mp_mul_d
#define mp_mul_2 TclBN_mp_mul_2
#define mp_mul_2d TclBN_mp_mul_2d
#define mp_neg TclBN_mp_neg
@@ -106,10 +114,17 @@ MODULE_SCOPE mp_err TclBN_s_mp_expt_u32(const mp_int *a, unsigned int b, mp_int
#define mp_radix_size TclBN_mp_radix_size
#define mp_read_radix TclBN_mp_read_radix
#define mp_rshd TclBN_mp_rshd
+#define mp_s_rmap TclBN_mp_s_rmap
+#define mp_s_rmap_reverse TclBN_mp_s_rmap_reverse
+#define mp_s_rmap_reverse_sz TclBN_mp_s_rmap_reverse_sz
+#define mp_set TclBN_s_mp_set
#define mp_set_i64 TclBN_mp_set_i64
+#define mp_set_u64 TclBN_mp_set_u64
#define mp_shrink TclBN_mp_shrink
+#define mp_sqr TclBN_mp_sqr
#define mp_sqrt TclBN_mp_sqrt
#define mp_sub TclBN_mp_sub
+#define mp_sub_d TclBN_s_mp_sub_d
#define mp_signed_rsh TclBN_mp_signed_rsh
#define mp_tc_and TclBN_mp_and
#define mp_tc_div_2d TclBN_mp_signed_rsh
@@ -651,17 +666,25 @@ extern const TclTomMathStubs *tclTomMathStubsPtr;
/* !END!: Do not edit above this line. */
#if defined(USE_TCL_STUBS)
+#undef mp_add_d
#define mp_add_d TclBN_mp_add_d
+#undef mp_cmp_d
#define mp_cmp_d TclBN_mp_cmp_d
+#undef mp_div_d
#ifdef MP_64BIT
#define mp_div_d TclBN_mp_div_ld
#else
#define mp_div_d TclBN_mp_div_d
#endif
+#undef mp_sub_d
#define mp_sub_d TclBN_mp_sub_d
+#undef mp_init_set
#define mp_init_set TclBN_mp_init_set
+#undef mp_mul_d
#define mp_mul_d TclBN_mp_mul_d
+#undef mp_set
#define mp_set TclBN_mp_set
+#undef mp_expt_u32
#define mp_expt_u32 TclBN_mp_expt_u32
#endif /* USE_TCL_STUBS */
diff --git a/library/http/cookiejar.tcl b/library/cookiejar/cookiejar.tcl
index 2eae877..2eae877 100644
--- a/library/http/cookiejar.tcl
+++ b/library/cookiejar/cookiejar.tcl
diff --git a/library/http/effective_tld_names.txt.gz b/library/cookiejar/effective_tld_names.txt.gz
index 13e08bb..13e08bb 100644
--- a/library/http/effective_tld_names.txt.gz
+++ b/library/cookiejar/effective_tld_names.txt.gz
Binary files differ
diff --git a/library/http/idna.tcl b/library/cookiejar/idna.tcl
index 2a7d289..2a7d289 100644
--- a/library/http/idna.tcl
+++ b/library/cookiejar/idna.tcl
diff --git a/library/cookiejar/pkgIndex.tcl b/library/cookiejar/pkgIndex.tcl
new file mode 100644
index 0000000..a8d8742
--- /dev/null
+++ b/library/cookiejar/pkgIndex.tcl
@@ -0,0 +1,3 @@
+if {![package vsatisfies [package provide Tcl] 8.6-]} {return}
+package ifneeded cookiejar 0.1 [list source [file join $dir cookiejar.tcl]]
+package ifneeded tcl::idna 1.0 [list source [file join $dir idna.tcl]]
diff --git a/library/http/pkgIndex.tcl b/library/http/pkgIndex.tcl
index e126083..f9f1176 100644
--- a/library/http/pkgIndex.tcl
+++ b/library/http/pkgIndex.tcl
@@ -1,4 +1,2 @@
if {![package vsatisfies [package provide Tcl] 8.6-]} {return}
package ifneeded http 2.9.1 [list tclPkgSetup $dir http 2.9.1 {{http.tcl source {::http::config ::http::formatQuery ::http::geturl ::http::reset ::http::wait ::http::register ::http::unregister ::http::mapReply}}}]
-package ifneeded cookiejar 0.1 [list source [file join $dir cookiejar.tcl]]
-package ifneeded tcl::idna 1.0 [list source [file join $dir idna.tcl]]
diff --git a/library/init.tcl b/library/init.tcl
index a26d788..54d8a38 100644
--- a/library/init.tcl
+++ b/library/init.tcl
@@ -19,7 +19,7 @@
if {[info commands package] == ""} {
error "version mismatch: library\nscripts expect Tcl version 7.5b1 or later but the loaded version is\nonly [info patchlevel]"
}
-package require -exact Tcl 8.7a2
+package require -exact Tcl 8.7a3
# Compute the auto path to use in this interpreter.
# The values on the path come from several locations:
diff --git a/library/manifest.txt b/library/manifest.txt
index 16092b8..6bbbb51 100644
--- a/library/manifest.txt
+++ b/library/manifest.txt
@@ -8,6 +8,8 @@ apply {{dir} {
0 http 2.9.1 {http http.tcl}
1 msgcat 1.7.0 {msgcat msgcat.tcl}
1 opt 0.4.7 {opt optparse.tcl}
+ 0 cookiejar 0.1 {cookiejar cookiejar.tcl}
+ 0 tcl::idna 1.0 {cookiejar idna.tcl}
0 platform 1.0.14 {platform platform.tcl}
0 platform::shell 1.1.4 {platform shell.tcl}
1 tcltest 2.5.1 {tcltest tcltest.tcl}
diff --git a/macosx/README b/macosx/README
index 62b3a99..f28c055 100644
--- a/macosx/README
+++ b/macosx/README
@@ -57,7 +57,7 @@ No nroff manpages are installed by default by the GNUmakefile.
- The Tcl framework can be installed in any of the system's standard
framework directories:
- $HOME/Library/Frameworks /Library/Frameworks /System/Library/Frameworks
+ $HOME/Library/Frameworks /Library/Frameworks
3. Building Tcl on Mac OS X
diff --git a/tests/fileSystemEncoding.test b/tests/fileSystemEncoding.test
index fa67646..0f8a2a7 100644
--- a/tests/fileSystemEncoding.test
+++ b/tests/fileSystemEncoding.test
@@ -38,11 +38,12 @@ namespace eval ::tcl::test::fileSystemEncoding {
makeFile {} $utf8name
set globbed [lindex [glob -directory $dir *] 0]
encoding system utf-8
- lappend res [file exists $globbed]
+ set res [file exists $globbed]
encoding system iso8859-1
lappend res [file exists $globbed]
return $res
} -cleanup {
+ removeFile $utf8name
file delete -force $dir
encoding system $saved
} -result {0 1}
diff --git a/tests/tcltests.tcl b/tests/tcltests.tcl
index c3c8650..b0aa054 100644
--- a/tests/tcltests.tcl
+++ b/tests/tcltests.tcl
@@ -24,7 +24,7 @@ namespace eval ::tcltests {
proc tempdir_alternate {} {
- file tempfile tempfile
+ close [file tempfile tempfile]
set tmpdir [file dirname $tempfile]
set execname [info nameofexecutable]
regsub -all {[^[:alpha:][:digit:]]} $execname _ execname
diff --git a/unix/Makefile.in b/unix/Makefile.in
index e604385..6132f3e 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -1016,7 +1016,7 @@ install-libraries: libraries
$(INSTALL_DATA_DIR) "$$i"; \
fi; \
done
- @for i in opt0.4 encoding ../tcl8 ../tcl8/8.4 ../tcl8/8.4/platform ../tcl8/8.5 ../tcl8/8.6 ../tcl8/8.7; do \
+ @for i in opt0.4 cookiejar0.1 encoding ../tcl8 ../tcl8/8.4 ../tcl8/8.4/platform ../tcl8/8.5 ../tcl8/8.6 ../tcl8/8.7; do \
if [ ! -d "$(SCRIPT_INSTALL_DIR)"/$$i ] ; then \
echo "Making directory $(SCRIPT_INSTALL_DIR)/$$i"; \
$(INSTALL_DATA_DIR) "$(SCRIPT_INSTALL_DIR)"/$$i; \
@@ -1027,6 +1027,10 @@ install-libraries: libraries
$(UNIX_DIR)/tclAppInit.c @LDAIX_SRC@ @DTRACE_SRC@ ; do \
$(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"; \
done
+ @echo "Installing package cookiejar 0.1 files to $(SCRIPT_INSTALL_DIR)/cookiejar0.1/"
+ @for i in $(TOP_DIR)/library/cookiejar/*.{tcl,txt.gz}; do \
+ $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/cookiejar0.1; \
+ done
@echo "Installing package http 2.9.1 as a Tcl Module"
@$(INSTALL_DATA) $(TOP_DIR)/library/http/http.tcl \
"$(MODULE_INSTALL_DIR)"/tcl8/8.6/http-2.9.1.tm
@@ -1037,7 +1041,7 @@ install-libraries: libraries
@echo "Installing package msgcat 1.7.0 as a Tcl Module"
@$(INSTALL_DATA) $(TOP_DIR)/library/msgcat/msgcat.tcl \
"$(MODULE_INSTALL_DIR)"/tcl8/8.7/msgcat-1.7.0.tm
- @echo "Installing package tcltest 2.5.0 as a Tcl Module"
+ @echo "Installing package tcltest 2.5.1 as a Tcl Module"
@$(INSTALL_DATA) $(TOP_DIR)/library/tcltest/tcltest.tcl \
"$(MODULE_INSTALL_DIR)"/tcl8/8.5/tcltest-2.5.1.tm
@echo "Installing package platform 1.0.14 as a Tcl Module"
@@ -2205,7 +2209,7 @@ DISTROOT = /tmp/dist
DISTNAME = tcl${VERSION}${PATCH_LEVEL}
ZIPNAME = tcl${MAJOR_VERSION}${MINOR_VERSION}${PATCH_LEVEL}-src.zip
DISTDIR = $(DISTROOT)/$(DISTNAME)
-BUILTIN_PACKAGE_LIST = http opt msgcat reg dde tcltest platform
+BUILTIN_PACKAGE_LIST = cookiejar http opt msgcat reg dde tcltest platform
$(UNIX_DIR)/configure: $(UNIX_DIR)/configure.ac $(UNIX_DIR)/tcl.m4 \
$(UNIX_DIR)/aclocal.m4
@@ -2247,6 +2251,7 @@ dist: $(UNIX_DIR)/configure $(UNIX_DIR)/tclConfig.h.in $(UNIX_DIR)/tcl.pc.in \
mkdir $(DISTDIR)/library/$$i;\
cp -p $(TOP_DIR)/library/$$i/*.tcl $(DISTDIR)/library/$$i; \
done
+ cp -p $(TOP_DIR)/library/cookiejar/*.txt.gz $(DISTDIR)/library/cookiejar
@mkdir $(DISTDIR)/library/encoding
cp -p $(TOP_DIR)/library/encoding/*.enc $(DISTDIR)/library/encoding
@mkdir $(DISTDIR)/library/msgs
diff --git a/unix/configure b/unix/configure
index 42f45a1..0c3da63 100755
--- a/unix/configure
+++ b/unix/configure
@@ -771,6 +771,7 @@ enable_man_compression
enable_man_suffix
with_encoding
enable_shared
+with_system_libtommath
enable_64bit
enable_64bit_vis
enable_rpath
@@ -1430,6 +1431,9 @@ Optional Packages:
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-encoding encoding for configuration values (default:
iso8859-1)
+ --with-system-libtommath
+ use external libtommath (default: true if available,
+ false otherwise)
--with-tzdata install timezone data (default: autodetect)
Some influential environment variables:
@@ -2385,7 +2389,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
TCL_VERSION=8.7
TCL_MAJOR_VERSION=8
TCL_MINOR_VERSION=7
-TCL_PATCH_LEVEL="a2"
+TCL_PATCH_LEVEL="a3"
VERSION=${TCL_VERSION}
EXTRA_INSTALL_BINARIES=${EXTRA_INSTALL_BINARIES:-"@:"}
@@ -4659,10 +4663,17 @@ $as_echo "#define HAVE_ZLIB 1" >>confdefs.h
# Add stuff for libtommath
libtommath_ok=yes
-ac_fn_c_check_header_mongrel "$LINENO" "tommath.h" "ac_cv_header_tommath_h" "$ac_includes_default"
+
+# Check whether --with-system-libtommath was given.
+if test "${with_system_libtommath+set}" = set; then :
+ withval=$with_system_libtommath; libtommath_ok=${withval}
+fi
+
+if test x"${libtommath_ok}" == x -o x"${libtommath_ok}" != xno; then
+ ac_fn_c_check_header_mongrel "$LINENO" "tommath.h" "ac_cv_header_tommath_h" "$ac_includes_default"
if test "x$ac_cv_header_tommath_h" = xyes; then :
- ac_fn_c_check_type "$LINENO" "mp_int" "ac_cv_type_mp_int" "#include <tommath.h>
+ ac_fn_c_check_type "$LINENO" "mp_int" "ac_cv_type_mp_int" "#include <tommath.h>
"
if test "x$ac_cv_type_mp_int" = xyes; then :
@@ -4672,13 +4683,13 @@ fi
else
- libtommath_ok=no
+ libtommath_ok=no
fi
-if test $libtommath_ok = yes; then :
+ if test $libtommath_ok = yes; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing mp_log_u32" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing mp_log_u32" >&5
$as_echo_n "checking for library containing mp_log_u32... " >&6; }
if ${ac_cv_search_mp_log_u32+:} false; then :
$as_echo_n "(cached) " >&6
@@ -4734,11 +4745,12 @@ if test "$ac_res" != no; then :
else
- libtommath_ok=no
+ libtommath_ok=no
fi
fi
+fi
if test $libtommath_ok = yes; then :
@@ -10493,7 +10505,7 @@ VERSION=${TCL_VERSION}
if test "$FRAMEWORK_BUILD" = "1" ; then
test -z "$TCL_PACKAGE_PATH" && \
- TCL_PACKAGE_PATH="~/Library/Tcl /Library/Tcl ~/Library/Frameworks /Library/Frameworks"
+ TCL_PACKAGE_PATH="~/Library/Tcl /Library/Tcl ~/Library/Frameworks /Library/Frameworks"
test -z "$TCL_MODULE_PATH" && \
TCL_MODULE_PATH="~/Library/Tcl /Library/Tcl"
elif test "$prefix/lib" != "$libdir"; then
diff --git a/unix/configure.ac b/unix/configure.ac
index c0d08b4..e12cfc5 100644
--- a/unix/configure.ac
+++ b/unix/configure.ac
@@ -25,7 +25,7 @@ m4_ifdef([SC_USE_CONFIG_HEADERS], [
TCL_VERSION=8.7
TCL_MAJOR_VERSION=8
TCL_MINOR_VERSION=7
-TCL_PATCH_LEVEL="a2"
+TCL_PATCH_LEVEL="a3"
VERSION=${TCL_VERSION}
EXTRA_INSTALL_BINARIES=${EXTRA_INSTALL_BINARIES:-"@:"}
@@ -171,13 +171,19 @@ AC_DEFINE(HAVE_ZLIB, 1, [Is there an installed zlib?])
# Add stuff for libtommath
libtommath_ok=yes
-AC_CHECK_HEADER([tommath.h],[
- AC_CHECK_TYPE([mp_int],[],[libtommath_ok=no],[#include <tommath.h>])],[
- libtommath_ok=no])
-AS_IF([test $libtommath_ok = yes], [
- AC_SEARCH_LIBS([mp_log_u32],[tommath],[],[
- libtommath_ok=no
- ])])
+AC_ARG_WITH(system-libtommath,
+AC_HELP_STRING([--with-system-libtommath],
+ [use external libtommath (default: true if available, false otherwise)]),
+ libtommath_ok=${withval})
+if test x"${libtommath_ok}" == x -o x"${libtommath_ok}" != xno; then
+ AC_CHECK_HEADER([tommath.h],[
+ AC_CHECK_TYPE([mp_int],[],[libtommath_ok=no],[#include <tommath.h>])],[
+ libtommath_ok=no])
+ AS_IF([test $libtommath_ok = yes], [
+ AC_SEARCH_LIBS([mp_log_u32],[tommath],[],[
+ libtommath_ok=no
+ ])])
+fi
AS_IF([test $libtommath_ok = yes], [
AC_DEFINE(TCL_WITH_EXTERNAL_TOMMATH, 1, [Tcl with external libtommath])
], [
@@ -949,7 +955,7 @@ VERSION=${TCL_VERSION}
if test "$FRAMEWORK_BUILD" = "1" ; then
test -z "$TCL_PACKAGE_PATH" && \
- TCL_PACKAGE_PATH="~/Library/Tcl /Library/Tcl ~/Library/Frameworks /Library/Frameworks"
+ TCL_PACKAGE_PATH="~/Library/Tcl /Library/Tcl ~/Library/Frameworks /Library/Frameworks"
test -z "$TCL_MODULE_PATH" && \
TCL_MODULE_PATH="~/Library/Tcl /Library/Tcl"
elif test "$prefix/lib" != "$libdir"; then
diff --git a/unix/tcl.spec b/unix/tcl.spec
index 265e4df..e148f36 100644
--- a/unix/tcl.spec
+++ b/unix/tcl.spec
@@ -4,7 +4,7 @@
Name: tcl
Summary: Tcl scripting language development environment
-Version: 8.7a2
+Version: 8.7a3
Release: 2
License: BSD
Group: Development/Languages
diff --git a/unix/tclConfig.h.in b/unix/tclConfig.h.in
index 4857287..fb29a32 100644
--- a/unix/tclConfig.h.in
+++ b/unix/tclConfig.h.in
@@ -4,9 +4,6 @@
#ifndef _TCLCONFIG
#define _TCLCONFIG
-/* Define if building universal (internal helper macro) */
-#undef AC_APPLE_UNIVERSAL_BUILD
-
/* Is gettimeofday() actually declared in <sys/time.h>? */
#undef GETTOD_NOT_DECLARED
@@ -235,10 +232,10 @@
/* Is 'struct stat64' in <sys/stat.h>? */
#undef HAVE_STRUCT_STAT64
-/* Define to 1 if `st_blksize' is a member of `struct stat'. */
+/* Define to 1 if `st_blksize' is member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BLKSIZE
-/* Define to 1 if `st_blocks' is a member of `struct stat'. */
+/* Define to 1 if `st_blocks' is member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BLOCKS
/* Define to 1 if you have the <sys/epoll.h> header file. */
@@ -385,9 +382,6 @@
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
/* Define to the version of this package. */
#undef PACKAGE_VERSION
@@ -457,17 +451,9 @@
/* Should we use vfork() instead of fork()? */
#undef USE_VFORK
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
- significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-# define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-# undef WORDS_BIGENDIAN
-# endif
-#endif
+/* Define to 1 if your processor stores words with the most significant byte
+ first (like Motorola and SPARC, unlike Intel and VAX). */
+#undef WORDS_BIGENDIAN
/* Are we building with zipfs enabled? */
#undef ZIPFS_BUILD
@@ -525,7 +511,7 @@
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
-/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* Define to `unsigned' if <sys/types.h> does not define. */
#undef size_t
/* Define as int if socklen_t is not available */
diff --git a/win/Makefile.in b/win/Makefile.in
index e77132c..9febe60 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -846,7 +846,7 @@ install-libraries: libraries install-tzdata install-msgs
else true; \
fi; \
done;
- @for i in opt0.4 encoding ../tcl8 ../tcl8/8.4 ../tcl8/8.4/platform ../tcl8/8.5 ../tcl8/8.6 ../tcl8/8.7; \
+ @for i in opt0.4 cookiejar0.1 encoding ../tcl8 ../tcl8/8.4 ../tcl8/8.4/platform ../tcl8/8.5 ../tcl8/8.6 ../tcl8/8.7; \
do \
if [ ! -d $(SCRIPT_INSTALL_DIR)/$$i ] ; then \
echo "Making directory $(SCRIPT_INSTALL_DIR)/$$i"; \
@@ -859,6 +859,11 @@ install-libraries: libraries install-tzdata install-msgs
do \
$(COPY) "$$i" "$(SCRIPT_INSTALL_DIR)"; \
done;
+ @echo "Installing package cookiejar 0.1 files to $(SCRIPT_INSTALL_DIR)/cookiejar0.1/"
+ @for j in $(ROOT_DIR)/library/cookiejar/*.{tcl,txt.gz}; do \
+ do \
+ $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/cookiejar0.1"; \
+ done;
@echo "Installing package http 2.9.1 as a Tcl Module";
@$(COPY) $(ROOT_DIR)/library/http/http.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.6/http-2.9.1.tm;
@echo "Installing library opt0.4 directory";
@@ -868,7 +873,7 @@ install-libraries: libraries install-tzdata install-msgs
done;
@echo "Installing package msgcat 1.7.0 as a Tcl Module";
@$(COPY) $(ROOT_DIR)/library/msgcat/msgcat.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.7/msgcat-1.7.0.tm;
- @echo "Installing package tcltest 2.4.0 as a Tcl Module";
+ @echo "Installing package tcltest 2.5.1 as a Tcl Module";
@$(COPY) $(ROOT_DIR)/library/tcltest/tcltest.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.5/tcltest-2.5.1.tm;
@echo "Installing package platform 1.0.14 as a Tcl Module";
@$(COPY) $(ROOT_DIR)/library/platform/platform.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.4/platform-1.0.14.tm;
diff --git a/win/configure b/win/configure
index d0478ed..cbde7ae 100755
--- a/win/configure
+++ b/win/configure
@@ -2156,7 +2156,7 @@ SHELL=/bin/sh
TCL_VERSION=8.7
TCL_MAJOR_VERSION=8
TCL_MINOR_VERSION=7
-TCL_PATCH_LEVEL="a2"
+TCL_PATCH_LEVEL="a3"
VER=$TCL_MAJOR_VERSION$TCL_MINOR_VERSION
TCL_DDE_VERSION=1.4
diff --git a/win/configure.ac b/win/configure.ac
index aceea8e..3c38219 100644
--- a/win/configure.ac
+++ b/win/configure.ac
@@ -14,7 +14,7 @@ SHELL=/bin/sh
TCL_VERSION=8.7
TCL_MAJOR_VERSION=8
TCL_MINOR_VERSION=7
-TCL_PATCH_LEVEL="a2"
+TCL_PATCH_LEVEL="a3"
VER=$TCL_MAJOR_VERSION$TCL_MINOR_VERSION
TCL_DDE_VERSION=1.4
diff --git a/win/makefile.vc b/win/makefile.vc
index e22f5f9..e5629ff 100644
--- a/win/makefile.vc
+++ b/win/makefile.vc
@@ -895,6 +895,10 @@ install-binaries:
install-libraries: tclConfig tcl-nmake install-msgs install-tzdata
@if not exist "$(SCRIPT_INSTALL_DIR)" \
$(MKDIR) "$(SCRIPT_INSTALL_DIR)"
+ @if not exist "$(SCRIPT_INSTALL_DIR)\opt0.4" \
+ $(MKDIR) "$(SCRIPT_INSTALL_DIR)\opt0.4"
+ @if not exist "$(SCRIPT_INSTALL_DIR)\cookiejar0.1" \
+ $(MKDIR) "$(SCRIPT_INSTALL_DIR)\cookiejar0.1"
@if not exist "$(SCRIPT_INSTALL_DIR)\..\tcl8" \
$(MKDIR) "$(SCRIPT_INSTALL_DIR)\..\tcl8"
@if not exist "$(SCRIPT_INSTALL_DIR)\..\tcl8\8.4" \
@@ -935,8 +939,13 @@ install-libraries: tclConfig tcl-nmake install-msgs install-tzdata
@$(CPY) "$(WIN_DIR)\targets.vc" "$(LIB_INSTALL_DIR)\nmake\"
@$(CPY) "$(WIN_DIR)\nmakehlp.c" "$(LIB_INSTALL_DIR)\nmake\"
@$(CPY) "$(OUT_DIR)\tcl.nmake" "$(LIB_INSTALL_DIR)\nmake\"
- @echo Installing library opt0.4 directory
- @$(CPY) "$(ROOT)\library\opt\*.tcl" \
+ @echo Installing package cookiejar 0.1 files to $(SCRIPT_INSTALL_DIR)/cookiejar0.1/
+ @$(CPY) "$(ROOT)\library\cookiejar\*.tcl" \
+ "$(SCRIPT_INSTALL_DIR)\cookiejar0.1\"
+ @$(CPY) "$(ROOT)\library\cookiejar\*.gz" \
+ "$(SCRIPT_INSTALL_DIR)\cookiejar0.1\"
+ @echo Installing package opt0.4 files to $(SCRIPT_INSTALL_DIR)/opt0.4/
+ @$(CPY) "$(ROOT)\library\opt0.4\*.tcl" \
"$(SCRIPT_INSTALL_DIR)\opt0.4\"
@echo Installing package http $(PKG_HTTP_VER) as a Tcl Module
@$(COPY) "$(ROOT)\library\http\http.tcl" \