Compare commits
469
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
681f02daf1 | ||
|
|
154ca655c9 | ||
|
|
7f81f792a1 | ||
|
|
21c60565b1 | ||
|
|
517a53c57c | ||
|
|
5d444e0610 | ||
|
|
cd9fecea9c | ||
|
|
17d343aa62 | ||
|
|
f857e512dd | ||
|
|
628009fb64 | ||
|
|
b76f99d88c | ||
|
|
f256ed021d | ||
|
|
f8e15b9d2c | ||
|
|
cbfc7befb0 | ||
|
|
e1e78edbbc | ||
|
|
97834be313 | ||
|
|
dd3012b0b5 | ||
|
|
0dd0678546 | ||
|
|
3d1095d348 | ||
|
|
834146d5a7 | ||
|
|
1a31487c96 | ||
|
|
83316ca933 | ||
|
|
972b65b569 | ||
|
|
b549e19961 | ||
|
|
05a9b0d75c | ||
|
|
b69d556f2e | ||
|
|
6edec95607 | ||
|
|
b2c94acd0b | ||
|
|
6cda9a3dd0 | ||
|
|
bc6a6d8093 | ||
|
|
11e45a8e8a | ||
|
|
d207738ea6 | ||
|
|
8be00e1a2d | ||
|
|
dda69c2bd3 | ||
|
|
8f3cc52061 | ||
|
|
7429c43446 | ||
|
|
04a12eac75 | ||
|
|
c1c0c583a8 | ||
|
|
2e808506d0 | ||
|
|
ce63d3dd71 | ||
|
|
c51e8269ab | ||
|
|
dd989ca6aa | ||
|
|
beb833ddfb | ||
|
|
7dc11bcdf6 | ||
|
|
6b7d38ac8a | ||
|
|
1d958d0818 | ||
|
|
a57f1df696 | ||
|
|
ac5ad5b7c1 | ||
|
|
ed9b488466 | ||
|
|
01fd1c7404 | ||
|
|
8c1885a481 | ||
|
|
9b015ba94c | ||
|
|
c7b4e5a092 | ||
|
|
cb62b287a5 | ||
|
|
c8f1b6377e | ||
|
|
0cd0bb6862 | ||
|
|
8a552b0e0a | ||
|
|
550d30ff4a | ||
|
|
0714cd9321 | ||
|
|
6a1787475c | ||
|
|
e9d4e1005e | ||
|
|
74c17b45b2 | ||
|
|
c4e63fa109 | ||
|
|
ef88cbd89e | ||
|
|
674aeae3b0 | ||
|
|
7c56b863cb | ||
|
|
72c1f925db | ||
|
|
6a3ecb5e40 | ||
|
|
b0b36759a5 | ||
|
|
d0c0f228e0 | ||
|
|
e42f5d61b2 | ||
|
|
77b96afba5 | ||
|
|
a8e3472731 | ||
|
|
95d020a657 | ||
|
|
6d7abfd8a9 | ||
|
|
bbaecb023a | ||
|
|
3f2cb54333 | ||
|
|
a396f84b31 | ||
|
|
d334401183 | ||
|
|
6a0f0076bc | ||
|
|
3a9990cb01 | ||
|
|
c25e21b7bb | ||
|
|
42b47a6d64 | ||
|
|
2c1225e7dd | ||
|
|
6cbc96a10d | ||
|
|
5eb1f0c955 | ||
|
|
3489a76210 | ||
|
|
28048d3791 | ||
|
|
357515037a | ||
|
|
a435d9e14b | ||
|
|
128e222ada | ||
|
|
83ad62ad4d | ||
|
|
990bb19ffd | ||
|
|
1d514c5f57 | ||
|
|
94cc1a4ddb | ||
|
|
1bf28f3806 | ||
|
|
80888b3fc9 | ||
|
|
fbdfb60849 | ||
|
|
3fe79a32c6 | ||
|
|
2bf69fa2b7 | ||
|
|
b353bc10cb | ||
|
|
45c7b5098e | ||
|
|
f67b7c4e94 | ||
|
|
5c93cd4200 | ||
|
|
f3aab2af7c | ||
|
|
fb45801148 | ||
|
|
cde090bbd2 | ||
|
|
a463dba6d5 | ||
|
|
b03c2cad93 | ||
|
|
8bbff6bc30 | ||
|
|
88b52cca59 | ||
|
|
df537d0dfb | ||
|
|
d738104aff | ||
|
|
dbb0afd2b0 | ||
|
|
032df7c99f | ||
|
|
1000af34fa | ||
|
|
f1a0cd2e9d | ||
|
|
b45f0bb10f | ||
|
|
f81e77119d | ||
|
|
91725a719a | ||
|
|
8055d2fd9a | ||
|
|
04a0e60983 | ||
|
|
da411794db | ||
|
|
c4ee3e6388 | ||
|
|
7fa35ac034 | ||
|
|
d37425bc05 | ||
|
|
02e8249054 | ||
|
|
6edd446f14 | ||
|
|
e7967fc2c8 | ||
|
|
998d27f2c2 | ||
|
|
a60c64b7fc | ||
|
|
ee28e88470 | ||
|
|
f24a078b50 | ||
|
|
74590c5ddc | ||
|
|
5e9f624428 | ||
|
|
3f12ad7691 | ||
|
|
1aea568d6e | ||
|
|
e2e7983c0e | ||
|
|
4725a30a34 | ||
|
|
b663b683d5 | ||
|
|
2085fc1daf | ||
|
|
c2f9601344 | ||
|
|
c8d9ab8790 | ||
|
|
f096df2170 | ||
|
|
896caee843 | ||
|
|
8292447454 | ||
|
|
990d6fd6f1 | ||
|
|
da608f8c61 | ||
|
|
c58016090f | ||
|
|
e7f46501e2 | ||
|
|
13a2801fd7 | ||
|
|
995aaf8bfd | ||
|
|
d7da846591 | ||
|
|
2287394ba1 | ||
|
|
8d1caeae4d | ||
|
|
1be35f340f | ||
|
|
ca471eb748 | ||
|
|
538960215f | ||
|
|
1375c96d2f | ||
|
|
8f07b4a94c | ||
|
|
2edb1dcd83 | ||
|
|
37f6932c0a | ||
|
|
9e7c15f53e | ||
|
|
f850132635 | ||
|
|
f10147dbfe | ||
|
|
0dd529776d | ||
|
|
ea1423a2ab | ||
|
|
5b71bf5ea8 | ||
|
|
a5538d84c4 | ||
|
|
addd1694e0 | ||
|
|
7cdd87e4f1 | ||
|
|
0b9cb76206 | ||
|
|
99fd1215e2 | ||
|
|
6e380ef6e9 | ||
|
|
ae6e14e33c | ||
|
|
bc5ffbb3b2 | ||
|
|
92b58040dd | ||
|
|
fcc907b2a6 | ||
|
|
25ba428ff9 | ||
|
|
2020e9be61 | ||
|
|
6497c6c6ee | ||
|
|
31647bcceb | ||
|
|
3555752d45 | ||
|
|
37fb43ad48 | ||
|
|
cd2858d1d0 | ||
|
|
790b302275 | ||
|
|
dc11ffbbdb | ||
|
|
1571dc01bb | ||
|
|
4dc2505e43 | ||
|
|
18a2ebc51d | ||
|
|
da3723c942 | ||
|
|
27ef344b9c | ||
|
|
885ced5608 | ||
|
|
b1fe66323b | ||
|
|
a188ceee21 | ||
|
|
eb87ed60f6 | ||
|
|
bc94a394c9 | ||
|
|
46d871617f | ||
|
|
d654ce6429 | ||
|
|
452f14ebb5 | ||
|
|
0a7d5ef6ed | ||
|
|
f785a01764 | ||
|
|
274f081025 | ||
|
|
76ed3d5b55 | ||
|
|
fba10e8615 | ||
|
|
1f0c1b800d | ||
|
|
a7e97de50a | ||
|
|
ea11870f5b | ||
|
|
95b511bac2 | ||
|
|
17e1ea228c | ||
|
|
53abdcc518 | ||
|
|
d963b1acb7 | ||
|
|
04432d4dd1 | ||
|
|
3e4f5907b6 | ||
|
|
4a159c5199 | ||
|
|
b53cf6d38c | ||
|
|
779b8dad76 | ||
|
|
cd428c1a44 | ||
|
|
16dbe3f5a2 | ||
|
|
7b989f0312 | ||
|
|
994e1d8062 | ||
|
|
de8e3be492 | ||
|
|
d44a63b65b | ||
|
|
423d995e0d | ||
|
|
5c37d95180 | ||
|
|
970922295a | ||
|
|
31690ce7fb | ||
|
|
630d4b9211 | ||
|
|
7faf4f27a4 | ||
|
|
dd1c28a788 | ||
|
|
afd6d5649f | ||
|
|
e9d7b07476 | ||
|
|
b8ffbb14c4 | ||
|
|
39dbbd57af | ||
|
|
bbfc83c86f | ||
|
|
d31beb3e7f | ||
|
|
aa3b157338 | ||
|
|
bf27b64405 | ||
|
|
76b6b03be7 | ||
|
|
c205f272f7 | ||
|
|
0551ecffd6 | ||
|
|
13967f965d | ||
|
|
79ff282b02 | ||
|
|
9afdf28497 | ||
|
|
bfae5bf492 | ||
|
|
925bd5794e | ||
|
|
ae54e070a1 | ||
|
|
8b894ab295 | ||
|
|
e35292f314 | ||
|
|
7f0e6652c7 | ||
|
|
7634bdaef2 | ||
|
|
9cb330963b | ||
|
|
4dc1a8a588 | ||
|
|
66f257a588 | ||
|
|
36825d23b9 | ||
|
|
326e0a8fdf | ||
|
|
29fdaa6dcd | ||
|
|
ae0ad313fd | ||
|
|
ec64cc0418 | ||
|
|
c482675d84 | ||
|
|
7dd13b72b6 | ||
|
|
54c0881e9d | ||
|
|
d81daf76bd | ||
|
|
11e9b6a9a5 | ||
|
|
8fe7f3fcdf | ||
|
|
f3e9f9caa3 | ||
|
|
28d5ff4eb5 | ||
|
|
71c2d1a883 | ||
|
|
c8597887e4 | ||
|
|
05009534ee | ||
|
|
f50a4eed54 | ||
|
|
90813dfce8 | ||
|
|
a16868a54c | ||
|
|
c4eac3e8eb | ||
|
|
7b78869343 | ||
|
|
ab8a39e6b9 | ||
|
|
870f61c05d | ||
|
|
6585306973 | ||
|
|
b1d510f1db | ||
|
|
111f52e7ed | ||
|
|
6548fc4ad1 | ||
|
|
a629b0ba31 | ||
|
|
8c066a970f | ||
|
|
29b9de871c | ||
|
|
a9dbadf46a | ||
|
|
02e79b9ec1 | ||
|
|
5aa514f49a | ||
|
|
2bc8d915a2 | ||
|
|
c4f7e08fc6 | ||
|
|
008c7038cb | ||
|
|
dfb2a3f2e2 | ||
|
|
8d3c0c2e81 | ||
|
|
e7e4c74b7f | ||
|
|
db811061d4 | ||
|
|
63a316c43b | ||
|
|
3da8f74e75 | ||
|
|
3833c42f54 | ||
|
|
2bfb7b96c0 | ||
|
|
35141afcc9 | ||
|
|
4ef0c69aaa | ||
|
|
ab18c108f7 | ||
|
|
c4b6cab579 | ||
|
|
5b7e79f851 | ||
|
|
0cce018c67 | ||
|
|
a134b03eda | ||
|
|
b37c60fe43 | ||
|
|
d4eb48d90f | ||
|
|
0050652afb | ||
|
|
4704b442fb | ||
|
|
5b8d20e6de | ||
|
|
2151838b5b | ||
|
|
ee54cd02de | ||
|
|
a8f05c5339 | ||
|
|
e26431e0f3 | ||
|
|
23a34a26fe | ||
|
|
3cd3541039 | ||
|
|
87a97e0609 | ||
|
|
0cf3369f9f | ||
|
|
8f28138f6e | ||
|
|
c0d0df8550 | ||
|
|
9df68a3879 | ||
|
|
bd8c790e2e | ||
|
|
5c3b0101a2 | ||
|
|
fed06f2292 | ||
|
|
f68e18d159 | ||
|
|
66a18f91c0 | ||
|
|
4c4629d5fd | ||
|
|
1f93e78598 | ||
|
|
b11d2bb62d | ||
|
|
e0a4741204 | ||
|
|
9b324cef64 | ||
|
|
77e9a375ff | ||
|
|
d8785b8358 | ||
|
|
7de7029fa5 | ||
|
|
1e5db76cc1 | ||
|
|
d65776f03f | ||
|
|
2ee0bbf7fb | ||
|
|
8e39be1340 | ||
|
|
4110638cdd | ||
|
|
e68b3d0183 | ||
|
|
a67b58390b | ||
|
|
b6f5ea3c8f | ||
|
|
680d1a1513 | ||
|
|
f2718ded6d | ||
|
|
c1ce97106f | ||
|
|
c8212c36e9 | ||
|
|
964477ea36 | ||
|
|
88fc841203 | ||
|
|
75a582f357 | ||
|
|
73124928ba | ||
|
|
cc2f6f6a7d | ||
|
|
bf285438a2 | ||
|
|
844c8c3016 | ||
|
|
9c058fa5d4 | ||
|
|
6c2f2fec8a | ||
|
|
0cb6ad07c6 | ||
|
|
bf46c5018d | ||
|
|
e577cd8cf8 | ||
|
|
ff29c56ea4 | ||
|
|
5207d2fe71 | ||
|
|
7f038e4db7 | ||
|
|
8290f077d2 | ||
|
|
df9f4ed74f | ||
|
|
b300fecc27 | ||
|
|
7b7647f1ab | ||
|
|
be577d6027 | ||
|
|
ed326ae9b5 | ||
|
|
710ec0ef20 | ||
|
|
0789d80b7a | ||
|
|
c0e9c99a1c | ||
|
|
47115ff565 | ||
|
|
cb6e9135f2 | ||
|
|
20619d8334 | ||
|
|
7e85a50a46 | ||
|
|
0e5bc322f1 | ||
|
|
3a20c7912b | ||
|
|
e0c7416333 | ||
|
|
7f12c0adfa | ||
|
|
5789574f89 | ||
|
|
f705798ed7 | ||
|
|
8e26969a34 | ||
|
|
ee742713d1 | ||
|
|
00f3aef9ac | ||
|
|
54a8b02774 | ||
|
|
a9f506ce21 | ||
|
|
8c36db11d0 | ||
|
|
a3838de0f9 | ||
|
|
9c0f41cdde | ||
|
|
012caa867f | ||
|
|
2d7c30cea8 | ||
|
|
dbf87bdccf | ||
|
|
097a0bb6e2 | ||
|
|
bbc790ccac | ||
|
|
689cee14b2 | ||
|
|
a52a0147b7 | ||
|
|
d243959c21 | ||
|
|
dba0cd17dc | ||
|
|
3f2f704c28 | ||
|
|
71ae050a68 | ||
|
|
9a27611f89 | ||
|
|
7210b03f81 | ||
|
|
3611f9be2c | ||
|
|
1e5e66b31f | ||
|
|
4315a57ac4 | ||
|
|
89b344e544 | ||
|
|
92a18f28ec | ||
|
|
1a7bb8dae4 | ||
|
|
e1173969e6 | ||
|
|
47b005a0d1 | ||
|
|
b99e43073a | ||
|
|
518ebabc90 | ||
|
|
d2a222320b | ||
|
|
ffcf42745c | ||
|
|
421817ca2c | ||
|
|
40fd1928b8 | ||
|
|
f816bb2a60 | ||
|
|
40a37e9b4a | ||
|
|
e79059759a | ||
|
|
8f836376b7 | ||
|
|
7dd80b0182 | ||
|
|
c9251df909 | ||
|
|
137f138b0a | ||
|
|
9acaee3d40 | ||
|
|
2e4f989482 | ||
|
|
7c0f0f400e | ||
|
|
46d899ba95 | ||
|
|
fcc11a1aff | ||
|
|
b21ca89201 | ||
|
|
1498795d38 | ||
|
|
69d4a9d89e | ||
|
|
35c8885bad | ||
|
|
740454d17a | ||
|
|
6ca0220e0b | ||
|
|
a2827884a9 | ||
|
|
fdcc17288c | ||
|
|
cfe1b9b146 | ||
|
|
6f7c0d0cb8 | ||
|
|
38f165b6d2 | ||
|
|
e5ba57087a | ||
|
|
401704baeb | ||
|
|
bf462d250e | ||
|
|
79a87f7d74 | ||
|
|
99ac77fd22 | ||
|
|
32d41dcbb5 | ||
|
|
113f1348c0 | ||
|
|
849bbbce67 | ||
|
|
e8df4c5fe0 | ||
|
|
69ddcaa16e | ||
|
|
06ce1bc045 | ||
|
|
c2480e69a5 | ||
|
|
4ff3a61b82 | ||
|
|
ee67bf676a | ||
|
|
c2844d65a8 | ||
|
|
6964ca96c2 | ||
|
|
4c3f17ea96 | ||
|
|
fcab9a91fa | ||
|
|
08296be4e4 | ||
|
|
013f304b82 | ||
|
|
3942c68ef0 | ||
|
|
35844385d6 | ||
|
|
d6eeb008f7 | ||
|
|
c0946d430e | ||
|
|
56619f9f70 | ||
|
|
30c0c8a7fe | ||
|
|
8f8aa2b0d9 | ||
|
|
a3eb84e8cb | ||
|
|
d5b999af66 | ||
|
|
4878f1b6a4 | ||
|
|
c5e0f27a28 |
@@ -17,8 +17,26 @@
|
||||
*/tclsh*
|
||||
*/tcltest*
|
||||
*/versions.vc
|
||||
libtommath/bn.ilg
|
||||
libtommath/bn.ind
|
||||
libtommath/pretty.build
|
||||
libtommath/tommath.src
|
||||
libtommath/*.pdf
|
||||
libtommath/*.pl
|
||||
libtommath/*.sh
|
||||
libtommath/tombc/*
|
||||
libtommath/pre_gen/*
|
||||
libtommath/pics/*
|
||||
libtommath/mtest/*
|
||||
libtommath/logs/*
|
||||
libtommath/etc/*
|
||||
libtommath/demo/*
|
||||
libtommath/*.out
|
||||
libtommath/*.tex
|
||||
unix/autoMkindex.tcl
|
||||
unix/dltest.marker
|
||||
unix/tcl.pc
|
||||
unix/tclIndex
|
||||
unix/pkgs/*
|
||||
win/pkgs/*
|
||||
win/tcl.hpj
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>tcl8.6</name>
|
||||
<name>tcl8.7</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
|
||||
+1
-1
@@ -414,7 +414,7 @@
|
||||
Tcl_IsChannelExisting, and Tcl_ClearChannelHandlers to conform to the
|
||||
new stacked channel implementation. Their stub slots were also moved
|
||||
to give preference to the new 8.3.2 stub functions. This will cause an
|
||||
incompatability with 8.4a1 only.
|
||||
incompatibility with 8.4a1 only.
|
||||
(StopCopy): fixed a bug introduced by a partial fix in 8.3.2 that
|
||||
didn't set nonBlocking correctly when resetting the flags for the
|
||||
write side. [Bug: 6261]
|
||||
|
||||
+3
-3
@@ -847,7 +847,7 @@
|
||||
exit.
|
||||
|
||||
* tests/exec.test: marked exec-18.1 unixOnly until the Windows
|
||||
incompatability (in the test, not the core) can be resolved.
|
||||
incompatibility (in the test, not the core) can be resolved.
|
||||
|
||||
* tests/http.test (http-3.11): added close $fp that was causing an
|
||||
error on Windows because the file was not closed before deleting.
|
||||
@@ -3642,7 +3642,7 @@
|
||||
* compat/strtoll.c (strtoll):
|
||||
* compat/strtoull.c (strtoull):
|
||||
* unix/tclUnixPort.h:
|
||||
* win/tclWinPort.h: Const-ing 64-bit compatability declarations. Note
|
||||
* win/tclWinPort.h: Const-ing 64-bit compatibility declarations. Note
|
||||
that the return pointer is non-const because it is entirely legal for
|
||||
the functions to be called from somewhere that owns the string being
|
||||
passed. Fixes problem reported by Larry Virden.
|
||||
@@ -3779,7 +3779,7 @@
|
||||
|
||||
There are a lot of changes from this TIP, so please see
|
||||
http://purl.org/tcl/tip/72.html for discussion of
|
||||
backward-compatability issues, but the main ones modifications are in:
|
||||
backward-compatibility issues, but the main ones modifications are in:
|
||||
|
||||
* generic/tcl.h: New types.
|
||||
* generic/tcl.decls: New public functions.
|
||||
|
||||
+2
-2
@@ -947,7 +947,7 @@
|
||||
declarations match and will end up using the declarations in the
|
||||
public code from now on because of #include ordering. Keeping the old
|
||||
declarations in tclInt.decls; there's no need to gratuitously break
|
||||
compatability for those extensions which are already clients of the
|
||||
compatibility for those extensions which are already clients of the
|
||||
namespace code.
|
||||
|
||||
2003-08-23 Zoran Vasiljevic <zoran@archiwrae.com>
|
||||
@@ -1278,7 +1278,7 @@
|
||||
|
||||
* generic/tclVar.c (Tcl_ArrayObjCmd, TclArraySet): Made [array get]
|
||||
and [array set] work with dictionaries, producing them and consuming
|
||||
them. Note that for compatability reasons, you will never get a dict
|
||||
them. Note that for compatibility reasons, you will never get a dict
|
||||
from feeding a string literal to [array set] since that alters the
|
||||
trace behaviour of "multi-key" sets. [Bug 759935]
|
||||
|
||||
|
||||
+1
-1
@@ -1356,7 +1356,7 @@
|
||||
2004-10-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
|
||||
|
||||
* *.3: Convert CONST to const and VOID to void so we document how
|
||||
people should actually use the Tcl API and not the compatability hacks
|
||||
people should actually use the Tcl API and not the compatibility hacks
|
||||
that it has to have.
|
||||
|
||||
* doc/man.macros, *.3: Update .AS macro so it can know how wide to
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
README: Tcl
|
||||
This is the Tcl 8.6.6 source distribution.
|
||||
This is the Tcl 8.7a0 source distribution.
|
||||
http://sourceforge.net/projects/tcl/files/Tcl/
|
||||
You can get any source release of Tcl from the URL above.
|
||||
|
||||
@@ -49,7 +49,7 @@ and selling it either in whole or in part. See the file
|
||||
|
||||
Extensive documentation is available at our website.
|
||||
The home page for this release, including new features, is
|
||||
http://www.tcl.tk/software/tcltk/8.6.html
|
||||
http://www.tcl.tk/software/tcltk/8.7.html
|
||||
|
||||
Detailed release notes can be found at the file distributions page
|
||||
by clicking on the relevant version.
|
||||
@@ -61,9 +61,9 @@ Information about Tcl itself can be found at
|
||||
There have been many Tcl books on the market. Many are mentioned in the Wiki:
|
||||
http://wiki.tcl.tk/_/ref?N=25206
|
||||
|
||||
To view the complete set of reference manual entries for Tcl 8.6 online,
|
||||
To view the complete set of reference manual entries for Tcl 8.7 online,
|
||||
visit the URL:
|
||||
http://www.tcl.tk/man/tcl8.6/
|
||||
http://www.tcl.tk/man/tcl8.7/
|
||||
|
||||
2a. Unix Documentation
|
||||
----------------------
|
||||
|
||||
@@ -8624,77 +8624,3 @@ improvements to regexp engine from Postgres (lane,porter,fellows,seltenreich)
|
||||
2016-02-22 (bug)[9b4702] [info exists env(missing)] kills trace (nijtmans)
|
||||
|
||||
--- Released 8.6.5, February 29, 2016 --- http://core.tcl.tk/tcl/ for details
|
||||
|
||||
2016-03-01 (bug)[803042] mem leak due to reference cycle (porter)
|
||||
|
||||
2016-03-08 (bug)[bbc304] reflected watch race condition (porter)
|
||||
|
||||
2016-03-17 (bug)[fadc99] compile-5.3 (rodriguez,porter)
|
||||
|
||||
2016-03-17 (enhancement)[1a25fd] compile [variable ${ns}::v] (porter)
|
||||
|
||||
2016-03-20 (bug)[1af8de] crash in compiled [string replace] (harder,fellows)
|
||||
|
||||
2016-03-21 (bug)[d30718] segv in notifier finalize (hirofumi,nijtmans)
|
||||
|
||||
2016-03-23 (enhancement)[7d0db7] parallel make (yarda,nijtmans)
|
||||
|
||||
2016-03-23 [f12535] enable test bindings customization (vogel,nijtmans)
|
||||
|
||||
2016-04-04 (bug)[47ac84] compiled [lreplace] fixes (aspect,ferrieux,fellows)
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
||||
2016-04-08 (bug)[866368] RE \w includes 'Punctuation Connector' (nijtmans)
|
||||
|
||||
2016-04-08 (bug)[2538f3] Win crash Tcl_OpenTcpServer() (griffin)
|
||||
|
||||
2016-04-10 [07d13d] Restore TclBlend support lost in 8.6.1 (buratti)
|
||||
|
||||
2016-05-13 (bug)[3154ea] Mem corruption in assembler exceptions (tkob,kenny)
|
||||
|
||||
2016-05-13 (bug) registry package support any Unicode env (nijtmans)
|
||||
=> registry 1.3.2
|
||||
|
||||
2016-05-21 (bug)[f7d4e] [namespace delete] performance (fellows)
|
||||
|
||||
2016-06-02 (TIP 447) execution time verbosity option (cerutti)
|
||||
=> tcltest 2.4.0
|
||||
|
||||
2016-06-16 (bug)[16828b] crash due to [vwait] trace undo fail (dah,porter)
|
||||
|
||||
2016-06-16 (enhancement)[4b61af] good [info frame] from more cases (beric)
|
||||
|
||||
2016-06-21 (bug)[c383eb] crash in [glob -path a] (oehlmann,porter)
|
||||
|
||||
2016-06-21 (update) Update Unicode data to 9.0 (nijtmans)
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
||||
2016-06-22 (bug)[16896d] Tcl_DString tolerate append to self. (dah,porter)
|
||||
|
||||
2016-06-23 (bug)[d55322] crash in [dict update] (yorick,fellows)
|
||||
|
||||
2016-06-27 (bug)[dd260a] crash in [chan configure -dictionary] (madden,aspect)
|
||||
|
||||
2016-07-02 (bug)[f961d7] usage message with parameters with spaces (porter)
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
||||
2016-07-02 (enhancement)[09fabc] Sort order of -relateddir (lanam)
|
||||
|
||||
2016-07-07 (bug)[5d7ca0] Win: [file executable] for .cmd and .ps1 (nadkarni)
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
||||
2016-07-08 (bug)[a47641] [file normalize] & Windows junctions (nadkarni)
|
||||
|
||||
2016-07-09 [ae61a6] [file] handling of Win hardcoded names (CON) (nadkarni)
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
||||
2016-07-09 [3613671] [file owned] (more) useful on Win (nadkarni)
|
||||
|
||||
2016-07-09 (bug)[1493a4] [namespace upvar] use of resolvers (beric,fellows)
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
||||
2016-07-10 (bug)[da340d] integer division in clock math (nadkarni)
|
||||
|
||||
2016-07-20 tzdata updated to Olson's tzdata2016f (venkat)
|
||||
|
||||
--- Released 8.6.6, July 27, 2016 --- http://core.tcl.tk/tcl/ for details
|
||||
|
||||
+1
-1
@@ -106,5 +106,5 @@ closedir(
|
||||
close(dirp->dd_fd);
|
||||
dirp->dd_fd = -1;
|
||||
dirp->dd_loc = 0;
|
||||
ckfree((char *) dirp);
|
||||
ckfree(dirp);
|
||||
}
|
||||
|
||||
+1
-1
@@ -100,7 +100,7 @@ waitpid(
|
||||
} else {
|
||||
prevPtr->nextPtr = waitPtr->nextPtr;
|
||||
}
|
||||
ckfree((char *) waitPtr);
|
||||
ckfree(waitPtr);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -119,7 +119,7 @@ retrieve the stack trace when script evaluation returns
|
||||
\fBTCL_ERROR\fR, like so:
|
||||
.PP
|
||||
.CS
|
||||
int code = Tcl_Eval(interp, script);
|
||||
int code = Tcl_EvalEx(interp, script, -1, 0);
|
||||
if (code == TCL_ERROR) {
|
||||
Tcl_Obj *options = \fBTcl_GetReturnOptions\fR(interp, code);
|
||||
Tcl_Obj *key = Tcl_NewStringObj("-errorinfo", -1);
|
||||
|
||||
+333
@@ -0,0 +1,333 @@
|
||||
'\"
|
||||
'\" Copyright (c) 2016 Andy Goth
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
.TH Tcl_ArraySet 3 8.7 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
'\" Note: do not modify the .SH NAME line immediately below!
|
||||
.SH NAME
|
||||
Tcl_ArraySet, Tcl_ArrayUnset, Tcl_ArrayGet, Tcl_ArrayNames, Tcl_ArraySize, Tcl_ArrayExists, Tcl_ArraySearchStart, Tcl_ArraySearchPeek, Tcl_ArraySearchNext, Tcl_ArraySearchDone, Tcl_ArrayStatistics \- manipulate Tcl array variables
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
\fB#include <tcl.h>\fR
|
||||
.sp
|
||||
int
|
||||
\fBTcl_ArraySet\fR(\fIinterp, part1Ptr, dictPtr, flags\fR)
|
||||
.sp
|
||||
int
|
||||
\fBTcl_ArrayUnset\fR(\fIinterp, part1Ptr, part2Ptr, flags\fR)
|
||||
.sp
|
||||
int
|
||||
\fBTcl_ArrayGet\fR(\fIinterp, part1Ptr, part2Ptr, dictPtr, flags\fR)
|
||||
.sp
|
||||
int
|
||||
\fBTcl_ArrayNames\fR(\fIinterp, part1Ptr, part2Ptr, listPtr, flags\fR)
|
||||
.sp
|
||||
int
|
||||
\fBTcl_ArraySize\fR(\fIinterp, part1Ptr, part2Ptr, intPtr, flags\fR)
|
||||
.sp
|
||||
int
|
||||
\fBTcl_ArrayExists\fR(\fIinterp, part1Ptr, part2ptr, intPtr, flags\fR)
|
||||
.sp
|
||||
Tcl_ArraySearch
|
||||
\fBTcl_ArraySearchStart\fR(\fIinterp, part1Ptr, part2Ptr, flags\fR)
|
||||
.sp
|
||||
Tcl_Obj *
|
||||
\fBTcl_ArraySearchPeek\fR(\fIsearch\fR)
|
||||
.sp
|
||||
Tcl_Obj *
|
||||
\fBTcl_ArraySearchNext\fR(\fIsearch\fR)
|
||||
.sp
|
||||
void
|
||||
\fBTcl_ArraySearchDone\fR(\fIsearch\fR)
|
||||
.sp
|
||||
int
|
||||
\fBTcl_ArrayStatistics\fR(\fIinterp, part1Ptr, stringPtr, flags\fR)
|
||||
.SH ARGUMENTS
|
||||
.AS Tcl_ArraySearch search
|
||||
.AP Tcl_Interp *interp in
|
||||
Interpreter containing the variable. If an error occurs, an error message is
|
||||
left in the interpreter's result.
|
||||
.AP Tcl_Obj *part1Ptr in
|
||||
Points to a Tcl value containing the array variable's name. The name may
|
||||
include a series of \fB::\fR namespace qualifiers to specify a variable in a
|
||||
particular namespace.
|
||||
.AP Tcl_Obj *part2Ptr in
|
||||
If non-NULL, points to a Tcl value containing an array element name filter
|
||||
specification. The format and interpretation of \fIpart2Ptr\fR are determined
|
||||
by the \fIflags\fR argument.
|
||||
.AP int flags in
|
||||
OR-ed combination of bits providing additional information. See below for valid
|
||||
values.
|
||||
.AP Tcl_Obj *dictPtr in/out
|
||||
Points to the dictionary value to be read or manipulated. If \fIdictPtr\fR does
|
||||
not already point to a dictionary value, an attempt will be made to convert it
|
||||
to one. \fBTcl_ArraySet\fR allows \fIdictPtr\fR to be NULL, in which case it
|
||||
creates an empty array if the array does not already exist.
|
||||
.AP Tcl_Obj *listPtr in/out
|
||||
Points to the list value to be manipulated. If \fIlistPtr\fR does not already
|
||||
point to a list value, an attempt will be made to convert it to one.
|
||||
.AP Tcl_Obj *stringPtr in/out
|
||||
Points to the string value to be manipulated.
|
||||
.AP int *intPtr out
|
||||
Points to location where \fBTcl_ArrayExists\fR stores the array existence flag
|
||||
or \fBTcl_ArraySize\fR stores the number of matching array elements.
|
||||
.AP Tcl_ArraySearch search in/out
|
||||
Token for tracking the progress of enumerating array elements.
|
||||
.BE
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
These functions are used to create, modify, enumerate, analyze, read, and delete
|
||||
Tcl array variables from C code.
|
||||
.PP
|
||||
The \fBTcl_ArraySet\fR, \fBTcl_ArrayUnset\fR, \fBTcl_ArrayGet\fR,
|
||||
\fBTcl_ArrayNames\fR, \fBTcl_ArraySize\fR, \fBTcl_ArrayExists\fR, and
|
||||
\fBTcl_ArrayStatistics\fR functions return \fBTCL_OK\fR on success and
|
||||
\fBTCL_ERROR\fR on error. If an error occurs, an error message is left in the
|
||||
interpreter's result. The possible errors are caused by format (invalid list,
|
||||
dictionary, or regular expression) and traces (array, read, write, or unset).
|
||||
.PP
|
||||
Except for \fBTcl_ArraySet\fR, \fBTcl_ArraySearchStart\fR (not listed above),
|
||||
and \fBTcl_ArrayStatistics\fR, the array functions do not consider it an error
|
||||
for a namespace or variable to not exist or a variable to be a scalar or array
|
||||
element instead of an array. \fBTcl_ArraySet\fR allows the array variable to
|
||||
not exist, in which case it creates it, but it returns \fBTCL_ERROR\fR in all
|
||||
the other situations listed in the previous sentence.
|
||||
.PP
|
||||
Array functions trigger array traces in the same manner as the \fBarray\fR
|
||||
command. After the completion of any array traces, for each accessed array
|
||||
element, \fBTcl_ArraySet\fR triggers write traces, \fBTcl_ArrayUnset\fR triggers
|
||||
unset traces, and \fBTcl_ArrayGet\fR triggers read traces. As discussed above,
|
||||
an error encountered during the execution of a trace causes the function to
|
||||
place error information in the interpreter's result and return \fBTCL_ERROR\fR.
|
||||
.PP
|
||||
The \fBTcl_ArraySet\fR, \fBTcl_ArrayUnset\fR, \fBTcl_ArrayGet\fR,
|
||||
\fBTcl_ArrayNames\fR, \fBTcl_ArraySize\fR, \fBTcl_ArrayExists\fR,
|
||||
\fBTcl_ArraySearchStart\fR, and \fBTcl_ArrayStatistics\fR functions accept a
|
||||
\fIflags\fR argument to control the scope of the variable lookup and to specify
|
||||
the interpretation of \fIpart2Ptr\fR. It consists of an OR-ed combination of
|
||||
zero or more of the following bits.
|
||||
.TP
|
||||
\fBTCL_GLOBAL_ONLY\fR
|
||||
Under normal circumstances the functions look up variables as follows. If a
|
||||
procedure call is active in \fIinterp\fR, the array variable is looked up at the
|
||||
current level of procedure call. Otherwise, the array variable is looked up
|
||||
first in the current namespace, then in the global namespace. However, if this
|
||||
bit is set in \fIflags\fR then the array variable is looked up only in the
|
||||
global namespace even if there is a procedure call active. If both
|
||||
\fBTCL_GLOBAL_ONLY\fR and \fBTCL_NAMESPACE_ONLY\fR are given,
|
||||
\fBTCL_GLOBAL_ONLY\fR is ignored.
|
||||
.TP
|
||||
\fBTCL_NAMESPACE_ONLY\fR
|
||||
If this bit is set in \fIflags\fR then the array variable is looked up only in
|
||||
the current namespace. If a procedure is active, its variables are ignored, and
|
||||
the global namespace is also ignored unless it is the current namespace.
|
||||
.PP
|
||||
With the exception of \fBTcl_ArraySet\fR and \fBTcl_ArrayStatistics\fR which do
|
||||
not support filtering, the \fIflags\fR argument is also OR-ed with zero or one
|
||||
of the following values to select the type of filtering applied by
|
||||
\fIpart2Ptr\fR. Setting more than one filter type may cause \fBTcl_Panic\fR to
|
||||
be called. The filter type is ignored if \fIpart2Ptr\fR is NULL, in which case
|
||||
no filtering is applied and all array elements are matched.
|
||||
.TP
|
||||
\fBTCL_MATCH_EXACT\fR
|
||||
\fIpart2Ptr\fR is an array element name. The filter matches at most a single
|
||||
array element whose name is exactly equal to the value of \fIpart2Ptr\fR. If no
|
||||
filter type is explicitly specified in \fIflags\fR, \fBTCL_MATCH_EXACT\fR is
|
||||
used by default. This differs from the \fBarray\fR commands which default to
|
||||
\fB\-glob\fR.
|
||||
.TP
|
||||
\fBTCL_MATCH_GLOB\fR
|
||||
\fIpart2Ptr\fR is a glob pattern, and it matches array element names according
|
||||
to the rules of \fBstring match\fR. \fIpart2Ptr\fR must match the entire array
|
||||
element name from beginning to end. To match substrings, place \fB*\fR at
|
||||
either end of \fIpart2Ptr\fR.
|
||||
.TP
|
||||
\fBTCL_MATCH_REGEXP\fR
|
||||
\fIpart2Ptr\fR is a regular expression, and it matches array element names
|
||||
according to the rules of \fBregexp\fR. Unless anchored by the \fB^\fR and
|
||||
\fB$\fR constraints, \fIpart2Ptr\fR matches substrings. Thus, an empty
|
||||
\fIpart2Ptr\fR matches every possible array element name. It is an error for
|
||||
\fIpart2Ptr\fR to not be a valid regular expression, but this error is only
|
||||
detected and reported when \fIpart1Ptr\fR names a non-empty array.
|
||||
.PP
|
||||
The \fBTcl_ArraySet\fR, \fBTcl_ArrayGet\fR, and \fBTcl_ArrayNames\fR functions
|
||||
accept \fIdictPtr\fR and \fIlistPtr\fR arguments referencing dictionary and list
|
||||
values, respectively. If these values are not already dictionary and list
|
||||
values, an attempt will be made to convert them. If the conversion fails,
|
||||
\fBTCL_ERROR\fR will be returned and an error message will be left in the
|
||||
interpreter's result.
|
||||
.PP
|
||||
\fBTcl_ArraySet\fR sets the values of zero or more elements in the array named
|
||||
by \fIpart1Ptr\fR. If not NULL, \fIdictPtr\fR must be a valid dictionary, i.e.
|
||||
it must be a list consisting of an even number of elements alternating between
|
||||
key and value. Each key in \fIdictPtr\fR is treated as an element name within
|
||||
the array, and its associated value is used as the new value for that array
|
||||
element. If the variable named by \fIpart1Ptr\fR does not already exist and
|
||||
\fIdictPtr\fR is empty or NULL, the variable is created as an empty array. It
|
||||
is an error for \fIpart1Ptr\fR to name a scalar (non-array) variable or an array
|
||||
element, or for it to reference a nonexistent namespace.
|
||||
.PP
|
||||
\fBTcl_ArrayUnset\fR unsets all elements in the array named by \fIpart1Ptr\fR
|
||||
that match the filter specified by \fIpart2Ptr\fR and \fIflags\fR. It is not an
|
||||
error for \fIpart1Ptr\fR to not name an array or for there to be no matching
|
||||
elements in the array. If \fIpart2Ptr\fR is NULL and \fIpart1Ptr\fR names an
|
||||
array, the entire array is unset, and future calls to \fBTcl_ArrayExists\fR will
|
||||
report it as not existing. This is distinct from unsetting each element of the
|
||||
array (e.g. if \fIpart2Ptr\fR is \fB*\fR and \fIflags\fR is
|
||||
\fBTCL_MATCH_GLOB\fR), which does not cause future calls to
|
||||
\fBTcl_ArrayExists\fR to report the array as not existing.
|
||||
.PP
|
||||
\fBTcl_ArrayGet\fR loads the contents of the array named by \fIpart1Ptr\fR into
|
||||
the \fIdictPtr\fR dictionary object. The array element names and values are
|
||||
used as the dictionary keys and values, respectively. If \fIpart2Ptr\fR is not
|
||||
NULL, \fIpart2Ptr\fR and \fIflags\fR specify a filter used to limit which array
|
||||
elements are loaded into \fIdictPtr\fR. If \fIpart1Ptr\fR does not name an
|
||||
array or if there are no matching elements, \fIdictPtr\fR is not modified.
|
||||
If \fIdictPtr\fR is not empty prior to calling \fBTcl_ArrayGet\fR, the array
|
||||
data is merged into \fIdictPtr\fR. If an array element has the same name as an
|
||||
existing dictionary key, the array element value replaces the existing
|
||||
dictionary value.
|
||||
.PP
|
||||
\fBTcl_ArrayNames\fR loads the element names of the array named by
|
||||
\fIpart1Ptr\fR into the \fIlistPtr\fR list object. If \fIpart2Ptr\fR is not
|
||||
NULL, \fIpart2Ptr\fR and \fIflags\fR specify a filter used to limit which array
|
||||
element names are loaded into \fIlistPtr\fR. If \fIpart1Ptr\fR does not name an
|
||||
array or if there are no matching elements, \fIlistPtr\fR is not modified. If
|
||||
\fIlistPtr\fR is not empty prior to calling \fBTcl_ArrayNames\fR, the array
|
||||
element names are appended to \fIlistPtr\fR.
|
||||
.PP
|
||||
\fBTcl_ArraySize\fR stores the number of elements in the array named by
|
||||
\fIpart1Ptr\fR into the address \fIintPtr\fR. If \fIpart2Ptr\fR is not NULL,
|
||||
\fIpart2Ptr\fR and \fIflags\fR specify a filter used to limit which array
|
||||
elements count toward the total number of elements.
|
||||
.PP
|
||||
\fBTcl_ArrayExists\fR checks for the existence of an array variable named
|
||||
\fIpart1Ptr\fR or (if \fIpart2Ptr\fR is not NULL) an array element within
|
||||
matching the filter specified by \fIpart2Ptr\fR and \fIflags\fR. If the array
|
||||
variable or array element exists, the value \fB1\fR is stored into the location
|
||||
\fIintPtr\fR, even if the array is empty. If \fIpart1Ptr\fR does not name an
|
||||
array variable (the variable does not exist, it is a scalar variable or array
|
||||
element, or it references a nonexistent namespace), or if \fIpart2Ptr\fR is not
|
||||
NULL and no elements match the filter, the value \fB0\fR is stored into the
|
||||
location \fIintPtr\fR.
|
||||
.PP
|
||||
\fBTcl_ArraySearchStart\fR initiates an array search, i.e. an array element
|
||||
enumeration yielding one element at a time. \fIpart1Ptr\fR must name an array.
|
||||
If \fIpart2Ptr\fR is not NULL, \fIpart2Ptr\fR and \fIflags\fR specify a filter
|
||||
used to limit which array elements are included in the enumeration. The return
|
||||
value is a token used to track the progress of the search, and it is to be
|
||||
passed to the \fBTcl_ArraySearchPeek\fR, \fBTcl_ArraySearchNext\fR, and
|
||||
\fBTcl_ArraySearchDone\fR functions. If there is an error looking up the
|
||||
variable, executing an array trace, or validating a regular expression filter,
|
||||
NULL is returned and error information is placed in the interpreter result.
|
||||
.PP
|
||||
\fBTcl_ArraySearchPeek\fR and \fBTcl_ArraySearchNext\fR return the next array
|
||||
element name in the search identified by the \fIsearch\fR argument. If there
|
||||
are no remaining element names, NULL is returned. \fBTcl_ArraySearchPeek\fR
|
||||
does not advance the enumeration, whereas \fBTcl_ArraySearchNext\fR does, so
|
||||
\fBTcl_ArraySearchPeek\fR will return the same value each time it is called if
|
||||
there are no intervening calls to \fBTcl_ArraySearchNext\fR with the same
|
||||
\fIsearch\fR argument.
|
||||
.PP
|
||||
\fBTcl_ArraySearchDone\fR completes the search identified by the \fIsearch\fR
|
||||
argument and deallocates associated resources. To avoid memory leaks,
|
||||
\fBTcl_ArraySearchDone\fR must be called once for each search token returned by
|
||||
\fBTcl_ArraySearchStart\fR.
|
||||
.PP
|
||||
\fBTcl_ArrayStatistics\fR produces statistics about the distribution of data
|
||||
within the hash table underlying the array named by \fIpart1Ptr\fR. This
|
||||
information includes the number of entries in the table, the number of buckets,
|
||||
and the utilization of the buckets. The statistics information is appended to
|
||||
the string value \fIstringPtr\fR.
|
||||
.SH EXAMPLES
|
||||
.PP
|
||||
Common initialization used for subsequent examples:
|
||||
.PP
|
||||
.CS
|
||||
int size, i;
|
||||
Tcl_Obj *obj, **objPtr;
|
||||
Tcl_Obj *varNameObj = Tcl_NewStringObj("colorcount", -1);
|
||||
Tcl_Channel outChan = Tcl_GetChannel(interp, "stdout", NULL);
|
||||
.CE
|
||||
.PP
|
||||
Create an array:
|
||||
.PP
|
||||
.CS
|
||||
obj = Tcl_NewStringObj(
|
||||
" red 1"
|
||||
" green 5"
|
||||
" blue 4"
|
||||
" white 9", -1);
|
||||
\fBTcl_ArraySet\fR(interp, varNameObj, obj, 0);
|
||||
.CE
|
||||
.PP
|
||||
Load the full contents of an array into a single object:
|
||||
.PP
|
||||
.CS
|
||||
Tcl_SetStringObj(obj, NULL, 0);
|
||||
\fBTcl_ArrayGet\fR(interp, varNameObj, NULL, obj, 0);
|
||||
Tcl_ListObjGetElements(interp, obj, &size, &objPtr);
|
||||
for (i = 0; i < size; i += 2, objPtr += 2) {
|
||||
Tcl_WriteChars(outChan, "Color: ", -1);
|
||||
Tcl_WriteObj(outChan, objPtr[0]);
|
||||
Tcl_WriteChars(outChan, " Count: ", -1);
|
||||
Tcl_WriteObj(outChan, objPtr[1]);
|
||||
Tcl_WriteChars(outChan, "\\n", -1);
|
||||
}
|
||||
\fB\(->\fR Color: blue Count: 4
|
||||
Color: white Count: 9
|
||||
Color: green Count: 5
|
||||
Color: red Count: 1
|
||||
.CE
|
||||
.PP
|
||||
Get an array element name list then individually look up each element value:
|
||||
.PP
|
||||
.CS
|
||||
Tcl_SetStringObj(obj, NULL, 0);
|
||||
\fBTcl_ArrayNames\fR(interp, varNameObj, NULL, obj, 0);
|
||||
Tcl_ListObjGetElements(interp, obj, &size, &objPtr);
|
||||
for (i = 0; i < size; ++i, ++objPtr) {
|
||||
Tcl_WriteChars(outChan, "Color: ", -1);
|
||||
Tcl_WriteObj(outChan, *objPtr);
|
||||
Tcl_WriteChars(outChan, " Count: ", -1);
|
||||
Tcl_WriteObj(outChan, Tcl_ObjGetVar2(
|
||||
interp, varNameObj, *objPtr, 0));
|
||||
Tcl_WriteChars(outChan, "\\n", -1);
|
||||
}
|
||||
\fB\(->\fR Color: blue Count: 4
|
||||
Color: white Count: 9
|
||||
Color: green Count: 5
|
||||
Color: red Count: 1
|
||||
.CE
|
||||
.PP
|
||||
Get array hash table statistics:
|
||||
.PP
|
||||
.CS
|
||||
Tcl_SetStringObj(obj, NULL, 0);
|
||||
\fBTcl_ArrayStatistics\fR(interp, varNameObj, obj, 0);
|
||||
Tcl_WriteObj(outChan, obj);
|
||||
Tcl_WriteChars(outChan, "\\n", -1);
|
||||
\fB\(->\fR 4 entries in table, 4 buckets
|
||||
number of buckets with 0 entries: 1
|
||||
number of buckets with 1 entries: 2
|
||||
number of buckets with 2 entries: 1
|
||||
number of buckets with 3 entries: 0
|
||||
number of buckets with 4 entries: 0
|
||||
number of buckets with 5 entries: 0
|
||||
number of buckets with 6 entries: 0
|
||||
number of buckets with 7 entries: 0
|
||||
number of buckets with 8 entries: 0
|
||||
number of buckets with 9 entries: 0
|
||||
number of buckets with 10 or more entries: 0
|
||||
average search distance for entry: 1.2
|
||||
.CE
|
||||
.SH "SEE ALSO"
|
||||
array(n), Tcl_NewObj(3), Tcl_NewListObj(3), Tcl_NewDictObj(3),
|
||||
Tcl_ObjGetVar2(3), Tcl_GetObjResult(3), Tcl_TraceVar2(3)
|
||||
.SH KEYWORDS
|
||||
array, dict, dict value, dictionary, get variable, hash table, iteration,
|
||||
interpreter, set, unset, value, variable
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_CallWhenDeleted 3 7.0 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_CommandComplete 3 "" Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_Concat 3 7.5 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_CreateFileHandler 3 8.0 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_CreateInterp 3 7.5 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_CreateTimerHandler 3 7.5 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_DetachPids 3 "" Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_DictObj 3 8.5 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_DoWhenIdle 3 7.5 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_PutEnv 3 "7.5" Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_ExprLongObj 3 8.0 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_FindExecutable 3 8.1 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_GetCwd 3 8.1 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_GetIndexFromObj 3 8.1 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+24
-9
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_GetInt 3 "" Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
@@ -51,27 +51,42 @@ in the interpreter's result, and nothing is stored at *\fIintPtr\fR
|
||||
or *\fIdoublePtr\fR or *\fIboolPtr\fR.
|
||||
.PP
|
||||
\fBTcl_GetInt\fR expects \fIsrc\fR to consist of a collection
|
||||
of integer digits, optionally signed and optionally preceded by
|
||||
white space. If the first two characters of \fIsrc\fR
|
||||
of integer digits, optionally signed and optionally preceded and
|
||||
followed by white space. If the first two characters of \fIsrc\fR
|
||||
after the optional white space and sign are
|
||||
.QW 0x
|
||||
.QW \fB0x\fR
|
||||
then \fIsrc\fR is expected to be in hexadecimal form; otherwise,
|
||||
if the first such characters are
|
||||
.QW \fB0o\fR
|
||||
then \fIsrc\fR is expected to be in octal form; otherwise,
|
||||
if the first such characters are
|
||||
.QW \fB0b\fR
|
||||
then \fIsrc\fR is expected to be in binary form; otherwise,
|
||||
if the first such character is
|
||||
.QW 0
|
||||
.QW \fB0\fR
|
||||
then \fIsrc\fR
|
||||
is expected to be in octal form; otherwise, \fIsrc\fR is
|
||||
expected to be in decimal form.
|
||||
.PP
|
||||
\fBTcl_GetDouble\fR expects \fIsrc\fR to consist of a floating-point
|
||||
number, which is: white space; a sign; a sequence of digits; a
|
||||
decimal point; a sequence of digits; the letter
|
||||
.QW e ;
|
||||
decimal point
|
||||
.QW \fB.\fR ;
|
||||
a sequence of digits; the letter
|
||||
.QW \fBe\fR ;
|
||||
a signed decimal exponent; and more white space.
|
||||
Any of the fields may be omitted, except that
|
||||
the digits either before or after the decimal point must be present
|
||||
and if the
|
||||
.QW e
|
||||
is present then it must be followed by the exponent number.
|
||||
.QW \fBe\fR
|
||||
is present then it must be followed by the exponent number. If there
|
||||
are no fields apart from the sign and initial sequence of digits
|
||||
(i.e., no decimal point or exponent indicator), that
|
||||
initial sequence of digits should take one of the forms that
|
||||
\fBTcl_GetInt\fR supports, described above. The use of
|
||||
.QW \fB,\fR
|
||||
as a decimal point is not supported nor should any other sort of
|
||||
inter-digit separator be present.
|
||||
.PP
|
||||
\fBTcl_GetBoolean\fR expects \fIsrc\fR to specify a boolean
|
||||
value. If \fIsrc\fR is any of \fB0\fR, \fBfalse\fR,
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_GetOpenFile 3 8.0 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_GetTime 3 8.4 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -281,7 +281,7 @@ The \fIhashKeyProc\fR member contains the address of a function called to
|
||||
calculate a hash value for the key.
|
||||
.PP
|
||||
.CS
|
||||
typedef unsigned int \fBTcl_HashKeyProc\fR(
|
||||
typedef TCL_HASH_TYPE \fBTcl_HashKeyProc\fR(
|
||||
Tcl_HashTable *\fItablePtr\fR,
|
||||
void *\fIkeyPtr\fR);
|
||||
.CE
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
'\"
|
||||
'\" Copyright (c) 1998-2000 by Scriptics Corporation.
|
||||
'\" All rights reserved.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_Init 3 8.0 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+4
-4
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_InitStubs 3 8.1 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
@@ -23,11 +23,11 @@ Tcl interpreter handle.
|
||||
A version string consisting of one or more decimal numbers
|
||||
separated by dots.
|
||||
.AP int exact in
|
||||
Non-zero means that only the particular version specified by
|
||||
1 means that only the particular version specified by
|
||||
\fIversion\fR is acceptable.
|
||||
Zero means that versions newer than \fIversion\fR are also
|
||||
0 means that versions newer than \fIversion\fR are also
|
||||
acceptable as long as they have the same major version number
|
||||
as \fIversion\fR.
|
||||
as \fIversion\fR. Other bits have no effect.
|
||||
.BE
|
||||
.SH INTRODUCTION
|
||||
.PP
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_LimitCheck 3 8.5 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_LinkVar 3 7.5 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Load 3 8.6 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+2
-2
@@ -3,10 +3,10 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
'\" Note that some of these functions do not seem to belong, but they
|
||||
'\" were all introduced with the same TIP (#139)
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_Namespace 3 8.5 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -130,7 +130,7 @@ for the new channel, \fIhostName\fR points to a string containing
|
||||
the name of the client host making the connection, and \fIport\fR
|
||||
will contain the client's port number.
|
||||
The new channel
|
||||
is opened for both input and output.
|
||||
is opened for both input and output.
|
||||
If \fIproc\fR raises an error, the connection is closed automatically.
|
||||
\fIProc\fR has no return value, but if it wishes to reject the
|
||||
connection it can close \fIchannel\fR.
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_ParseArgsObjv 3 8.6 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_Preserve 3 7.5 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_PrintDouble 3 8.0 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_RecordAndEvalObj 3 8.0 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_RecordAndEval 3 7.4 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_SetErrno 3 8.3 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_SetRecursionLimit 3 7.0 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_SignalId 3 8.3 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_Sleep 3 7.5 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_SplitList 3 8.0 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_SplitPath 3 7.5 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_StaticPackage 3 7.5 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH "Standard Channels" 3 7.5 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_StringMatch 3 8.5 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH Tcl_SubstObj 3 8.4 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
'\"
|
||||
'\"
|
||||
'\" Copyright (c) 1992-1999 Karl Lehenbauer and Mark Diekhans.
|
||||
'\" Copyright (c) 2000 by Scriptics Corporation.
|
||||
'\" All rights reserved.
|
||||
'\"
|
||||
'\"
|
||||
.TH TCL_MEM_DEBUG 3 8.1 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH TclZlib 3 8.6 Tcl "Tcl Library Procedures"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+58
-22
@@ -22,6 +22,42 @@ Unless otherwise specified for individual commands below,
|
||||
\fIarrayName\fR must be the name of an existing array variable.
|
||||
The \fIoption\fR argument determines what action is carried
|
||||
out by the command.
|
||||
.PP
|
||||
Many array commands accept \fImode\fR and \fIpattern\fR arguments. These
|
||||
arguments specify a filter to limit which array elements are included in the
|
||||
operation. If neither argument is specified, no filtering is applied, and the
|
||||
entire array is processed. If only one argument is specified, it is used as the
|
||||
\fIpattern\fR argument, and \fB\-glob\fR is used as the default value for
|
||||
\fImode\fR. If both arguments are specified, the first is used as \fImode\fR
|
||||
and the second as \fIpattern\fR. The \fImode\fR argument designates which
|
||||
matching rules to use to match \fIpattern\fR against the names of the elements
|
||||
in the array. The legal \fImode\fR values are:
|
||||
.TP
|
||||
\fB\-exact\fR
|
||||
.
|
||||
\fIPattern\fR is a literal string that is compared for exact equality against
|
||||
each array element name. This mode has limited utility because all uses of the
|
||||
\fBarray\fR command with \fB-exact\fR matching can be implemented by operating
|
||||
directly on the array element with standard \fIname\fB(\fIindex\fB)\fR notation.
|
||||
.TP
|
||||
\fB\-glob\fR
|
||||
.
|
||||
\fIPattern\fR is a glob-style pattern which is matched against each array
|
||||
element name using the same rules as the \fBstring match\fR command.
|
||||
\fIPattern\fR must match the entire array element name from beginning to end.
|
||||
To match substrings, place \fB*\fR at either end of \fIpattern\fR. This mode is
|
||||
the default if no \fImode\fR is specified.
|
||||
.TP
|
||||
\fB\-regexp\fR
|
||||
.
|
||||
\fIPattern\fR is treated as a regular expression and matched against each array
|
||||
element name using the rules described in the \fBre_syntax\fR reference page.
|
||||
Unless anchored by the \fB^\fR and \fB$\fR constraints, \fIpattern\fR matches
|
||||
substrings. Thus, an empty \fIpattern\fR matches every possible array element
|
||||
name. It is an error for \fIpattern\fR to not be a valid regular expression,
|
||||
but this error condition is only detected and reported when \fIarrayName\fR is a
|
||||
non-empty array.
|
||||
.PP
|
||||
The legal \fIoptions\fR (which may be abbreviated) are:
|
||||
.TP
|
||||
\fBarray anymore \fIarrayName searchId\fR
|
||||
@@ -43,20 +79,20 @@ which search on \fIarrayName\fR to destroy, and must have
|
||||
been the return value from a previous invocation of
|
||||
\fBarray startsearch\fR. Returns an empty string.
|
||||
.TP
|
||||
\fBarray exists \fIarrayName\fR
|
||||
\fBarray exists \fIarrayName\fR ?\fImode\fR? ?\fIpattern\fR?
|
||||
Returns 1 if \fIarrayName\fR is an array variable, 0 if there
|
||||
is no variable by that name or if it is a scalar variable.
|
||||
If \fIpattern\fR is specified, this command instead checks if one or more
|
||||
elements of \fIarrayName\fR match the filter defined by \fImode\fR and
|
||||
\fIpattern\fR, returning 1 or 0 if the match succeeds or fails, respectively.
|
||||
.TP
|
||||
\fBarray get \fIarrayName\fR ?\fIpattern\fR?
|
||||
\fBarray get \fIarrayName\fR ?\fImode\fR? ?\fIpattern\fR?
|
||||
Returns a list containing pairs of elements. The first
|
||||
element in each pair is the name of an element in \fIarrayName\fR
|
||||
and the second element of each pair is the value of the
|
||||
array element. The order of the pairs is undefined.
|
||||
If \fIpattern\fR is not specified, then all of the elements of the
|
||||
array are included in the result.
|
||||
If \fIpattern\fR is specified, then only those elements whose names
|
||||
match \fIpattern\fR (using the matching rules of
|
||||
\fBstring match\fR) are included.
|
||||
The \fImode\fR and \fIpattern\fR arguments can be used to limit which array
|
||||
elements are included in the result.
|
||||
If \fIarrayName\fR is not the name of an array variable, or if
|
||||
the array contains no elements, then an empty list is returned.
|
||||
If traces on the array modify the list of elements, the elements
|
||||
@@ -65,15 +101,10 @@ returned are those that exist both before and after the call to
|
||||
.TP
|
||||
\fBarray names \fIarrayName\fR ?\fImode\fR? ?\fIpattern\fR?
|
||||
Returns a list containing the names of all of the elements in
|
||||
the array that match \fIpattern\fR. \fIMode\fR may be one of
|
||||
\fB\-exact\fR, \fB\-glob\fR, or \fB\-regexp\fR. If specified, \fImode\fR
|
||||
designates which matching rules to use to match \fIpattern\fR against
|
||||
the names of the elements in the array. If not specified, \fImode\fR
|
||||
defaults to \fB\-glob\fR. See the documentation for \fBstring match\fR
|
||||
for information on glob style matching, and the documentation for
|
||||
\fBregexp\fR for information on regexp matching.
|
||||
If \fIpattern\fR is omitted then the command returns all of
|
||||
the element names in the array. If there are no (matching) elements
|
||||
the array.
|
||||
The \fImode\fR and \fIpattern\fR arguments can be used to limit which array
|
||||
element names are included in the result.
|
||||
If there are no (matching) elements
|
||||
in the array, or if \fIarrayName\fR is not the name of an array
|
||||
variable, then an empty string is returned.
|
||||
.TP
|
||||
@@ -99,16 +130,20 @@ If the variable \fIarrayName\fR does not already exist
|
||||
and \fIlist\fR is empty,
|
||||
\fIarrayName\fR is created with an empty array value.
|
||||
.TP
|
||||
\fBarray size \fIarrayName\fR
|
||||
Returns a decimal string giving the number of elements in the
|
||||
\fBarray size \fIarrayName\fR ?\fImode\fR? ?\fIpattern\fR?
|
||||
Returns an integer giving the number of elements in the
|
||||
array.
|
||||
The \fImode\fR and \fIpattern\fR arguments can be used to limit which array
|
||||
elements are counted toward the result.
|
||||
If \fIarrayName\fR is not the name of an array then 0 is returned.
|
||||
.TP
|
||||
\fBarray startsearch \fIarrayName\fR
|
||||
\fBarray startsearch \fIarrayName\fR ?\fImode\fR? ?\fIpattern\fR?
|
||||
This command initializes an element-by-element search through the
|
||||
array given by \fIarrayName\fR, such that invocations of the
|
||||
\fBarray nextelement\fR command will return the names of the
|
||||
individual elements in the array.
|
||||
The \fImode\fR and \fIpattern\fR arguments can be used to limit which array
|
||||
element names are returned by future invocations of \fBarray nextelement\fR.
|
||||
When the search has been completed, the \fBarray donesearch\fR
|
||||
command should be invoked.
|
||||
The return value is a
|
||||
@@ -126,9 +161,10 @@ that represents the array. This information includes the number of
|
||||
entries in the table, the number of buckets, and the utilization of
|
||||
the buckets.
|
||||
.TP
|
||||
\fBarray unset \fIarrayName\fR ?\fIpattern\fR?
|
||||
Unsets all of the elements in the array that match \fIpattern\fR (using the
|
||||
matching rules of \fBstring match\fR). If \fIarrayName\fR is not the name
|
||||
\fBarray unset \fIarrayName\fR ?\fImode\fR? ?\fIpattern\fR?
|
||||
Unsets all of the elements in the array that match the filter specified by the
|
||||
\fImode\fR and \fIpattern\fR arguments.
|
||||
If \fIarrayName\fR is not the name
|
||||
of an array variable or there are no matching elements in the array, no
|
||||
error will be raised. If \fIpattern\fR is omitted and \fIarrayName\fR is
|
||||
an array variable, then the command unsets the entire array.
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH break n "" Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH case n 7.0 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH cd n "" Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+6
-7
@@ -89,10 +89,9 @@ have 59 or 61 seconds.
|
||||
.TP
|
||||
\fIunit\fR
|
||||
One of the words, \fBseconds\fR, \fBminutes\fR, \fBhours\fR,
|
||||
\fBdays\fR, \fBweeks\fR, \fBmonths\fR, or \fByears\fR, or
|
||||
any unique prefix of such a word. Used in conjunction with \fIcount\fR
|
||||
to identify an interval of time, for example, \fI3 seconds\fR or
|
||||
\fI1 year\fR.
|
||||
\fBdays\fR, \fBweekdays\fR, \fBweeks\fR, \fBmonths\fR, or \fByears\fR.
|
||||
Used in conjunction with \fIcount\fR to identify an interval of time,
|
||||
for example, \fI3 seconds\fR or \fI1 year\fR.
|
||||
.SS "OPTIONS"
|
||||
.TP
|
||||
\fB\-base\fR time
|
||||
@@ -175,8 +174,7 @@ given as its first argument. The remaining arguments (other than the
|
||||
possible \fB\-timezone\fR, \fB\-locale\fR and \fB\-gmt\fR options)
|
||||
are integers and keywords in alternation, where the keywords are chosen
|
||||
from \fBseconds\fR, \fBminutes\fR, \fBhours\fR,
|
||||
\fBdays\fR, \fBweeks\fR, \fBmonths\fR, or \fByears\fR, or
|
||||
any unique prefix of such a word.
|
||||
\fBdays\fR, \fBweekdays\fR, \fBweeks\fR, \fBmonths\fR, or \fByears\fR.
|
||||
.PP
|
||||
Addition of seconds, minutes and hours is fairly straightforward;
|
||||
the given time increment (times sixty for minutes, or 3600 for hours)
|
||||
@@ -213,7 +211,8 @@ the given time to a calendar day and time of day in the appropriate
|
||||
time zone and locale. The requisite number of days (weeks are converted
|
||||
to days by multiplying by seven) is added to the calendar day, and
|
||||
the date and time are then converted back to a count of seconds from
|
||||
the epoch time.
|
||||
the epoch time. The \fBweekdays\fR keyword is similar to \fBdays\fR,
|
||||
with the only difference that weekends - Saturdays and Sundays - are skipped.
|
||||
.PP
|
||||
Adding and subtracting a given number of days across the point that
|
||||
the time changes at the start or end of summer time (Daylight Saving Time)
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH close n 7.5 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+2
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH concat n 8.3 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
@@ -20,6 +20,7 @@ This command joins each of its arguments together with spaces after
|
||||
trimming leading and trailing white-space from each of them. If all of the
|
||||
arguments are lists, this has the same effect as concatenating them
|
||||
into a single list.
|
||||
Arguments that are empty (after trimming) are ignored entirely.
|
||||
It permits any number of arguments;
|
||||
if no \fIarg\fRs are supplied, the result is an empty string.
|
||||
.SH EXAMPLES
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH continue n "" Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH coroutine n 8.6 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH eof n 7.5 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH eval n "" Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH exit n "" Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+171
-214
@@ -17,14 +17,14 @@ expr \- Evaluate an expression
|
||||
.BE
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
Concatenates \fIarg\fRs (adding separator spaces between them),
|
||||
evaluates the result as a Tcl expression, and returns the value.
|
||||
The operators permitted in Tcl expressions include a subset of
|
||||
Concatenates \fIarg\fRs, separated by a space, into an expression, and evaluates
|
||||
that expression, returning its value.
|
||||
The operators permitted in an expression include a subset of
|
||||
the operators permitted in C expressions. For those operators
|
||||
common to both Tcl and C, Tcl applies the same meaning and precedence
|
||||
as the corresponding C operators.
|
||||
Expressions almost always yield numeric results
|
||||
(integer or floating-point values).
|
||||
The value of an expression is often a numeric result, either an integer or a
|
||||
floating-point value, but may also be a non-numeric value.
|
||||
For example, the expression
|
||||
.PP
|
||||
.CS
|
||||
@@ -32,78 +32,68 @@ For example, the expression
|
||||
.CE
|
||||
.PP
|
||||
evaluates to 14.2.
|
||||
Tcl expressions differ from C expressions in the way that
|
||||
operands are specified. Also, Tcl expressions support
|
||||
non-numeric operands and string comparisons, as well as some
|
||||
Expressions differ from C expressions in the way that
|
||||
operands are specified. Expressions also support
|
||||
non-numeric operands, string comparisons, and some
|
||||
additional operators not found in C.
|
||||
.PP
|
||||
When an expression evaluates to an integer, the value is the decimal form of
|
||||
the integer, and when an expression evaluates to a floating-point number, the
|
||||
value is the form produced by the \fB%g\fR format specifier of Tcl's
|
||||
\fBformat\fR command.
|
||||
.SS OPERANDS
|
||||
.PP
|
||||
A Tcl expression consists of a combination of operands, operators,
|
||||
parentheses and commas.
|
||||
White space may be used between the operands and operators and
|
||||
parentheses (or commas); it is ignored by the expression's instructions.
|
||||
Where possible, operands are interpreted as integer values.
|
||||
Integer values may be specified in decimal (the normal case), in binary
|
||||
(if the first two characters of the operand are \fB0b\fR), in octal
|
||||
(if the first two characters of the operand are \fB0o\fR), or in hexadecimal
|
||||
(if the first two characters of the operand are \fB0x\fR). For
|
||||
compatibility with older Tcl releases, an octal integer value is also
|
||||
indicated simply when the first character of the operand is \fB0\fR,
|
||||
whether or not the second character is also \fBo\fR.
|
||||
If an operand does not have one of the integer formats given
|
||||
above, then it is treated as a floating-point number if that is
|
||||
possible. Floating-point numbers may be specified in any of several
|
||||
common formats making use of the decimal digits, the decimal point \fB.\fR,
|
||||
the characters \fBe\fR or \fBE\fR indicating scientific notation, and
|
||||
the sign characters \fB+\fR or \fB\-\fR. For example, all of the
|
||||
following are valid floating-point numbers: 2.1, 3., 6e4, 7.91e+16.
|
||||
Also recognized as floating point values are the strings \fBInf\fR
|
||||
and \fBNaN\fR making use of any case for each character.
|
||||
If no numeric interpretation is possible (note that all literal
|
||||
operands that are not numeric or boolean must be quoted with either
|
||||
braces or with double quotes), then an operand is left as a string
|
||||
(and only a limited set of operators may be applied to it).
|
||||
An expression consists of a combination of operands, operators, parentheses and
|
||||
commas, possibly with whitespace between any of these elements, which is
|
||||
ignored.
|
||||
An integer operand may be specified in decimal, binary
|
||||
(the first two characters are \fB0b\fR), octal
|
||||
(the first two characters are \fB0o\fR), or hexadecimal
|
||||
(the first two characters are \fB0x\fR) form. For
|
||||
compatibility with older Tcl releases, an operand that begins with \fB0\fR is
|
||||
interpreted as an octal integer even if the second character is not \fBo\fR.
|
||||
A floating-point number may be specified in any of several
|
||||
common decimal formats, and may use the decimal point \fB.\fR,
|
||||
\fBe\fR or \fBE\fR for scientific notation, and
|
||||
the sign characters \fB+\fR and \fB\-\fR. The
|
||||
following are all valid floating-point numbers: 2.1, 3., 6e4, 7.91e+16.
|
||||
The strings \fBInf\fR
|
||||
and \fBNaN\fR, in any combination of case, are also recognized as floating point
|
||||
values. An operand that doesn't have a numeric interpretation must be quoted
|
||||
with either braces or with double quotes.
|
||||
.PP
|
||||
Operands may be specified in any of the following ways:
|
||||
An operand may be specified in any of the following ways:
|
||||
.IP [1]
|
||||
As a numeric value, either integer or floating-point.
|
||||
.IP [2]
|
||||
As a boolean value, using any form understood by \fBstring is\fR
|
||||
\fBboolean\fR.
|
||||
.IP [3]
|
||||
As a Tcl variable, using standard \fB$\fR notation.
|
||||
The variable's value will be used as the operand.
|
||||
As a variable, using standard \fB$\fR notation.
|
||||
The value of the variable is then the value of the operand.
|
||||
.IP [4]
|
||||
As a string enclosed in double-quotes.
|
||||
The expression parser will perform backslash, variable, and
|
||||
command substitutions on the information between the quotes,
|
||||
and use the resulting value as the operand
|
||||
Backslash, variable, and command substitution are performed as described in
|
||||
\fBTcl\fR.
|
||||
.IP [5]
|
||||
As a string enclosed in braces.
|
||||
The characters between the open brace and matching close brace
|
||||
will be used as the operand without any substitutions.
|
||||
The operand is treated as a braced value as described in \fBTcl\fR.
|
||||
.IP [6]
|
||||
As a Tcl command enclosed in brackets.
|
||||
The command will be executed and its result will be used as
|
||||
the operand.
|
||||
Command substitution is performed as described in \fBTcl\fR.
|
||||
.IP [7]
|
||||
As a mathematical function whose arguments have any of the above
|
||||
forms for operands, such as \fBsin($x)\fR. See \fBMATH FUNCTIONS\fR below for
|
||||
As a mathematical function such as \fBsin($x)\fR, whose arguments have any of the above
|
||||
forms for operands. See \fBMATH FUNCTIONS\fR below for
|
||||
a discussion of how mathematical functions are handled.
|
||||
.PP
|
||||
Where the above substitutions occur (e.g. inside quoted strings), they
|
||||
are performed by the expression's instructions.
|
||||
However, the command parser may already have performed one round of
|
||||
substitution before the expression processor was called.
|
||||
As discussed below, it is usually best to enclose expressions
|
||||
in braces to prevent the command parser from performing substitutions
|
||||
on the contents.
|
||||
Because \fBexpr\fR parses and performs substitutions on values that have
|
||||
already been parsed and substituted by \fBTcl\fR, it is usually best to enclose
|
||||
expressions in braces to avoid the first round of substitutions by
|
||||
\fBTcl\fR.
|
||||
.PP
|
||||
For some examples of simple expressions, suppose the variable
|
||||
\fBa\fR has the value 3 and
|
||||
the variable \fBb\fR has the value 6.
|
||||
Then the command on the left side of each of the lines below
|
||||
will produce the value on the right side of the line:
|
||||
Below are some examples of simple expressions where the value of \fBa\fR is 3
|
||||
and the value of \fBb\fR is 6. The command on the left side of each line
|
||||
produces the value on the right side.
|
||||
.PP
|
||||
.CS
|
||||
.ta 6c
|
||||
@@ -114,34 +104,41 @@ will produce the value on the right side of the line:
|
||||
.CE
|
||||
.SS OPERATORS
|
||||
.PP
|
||||
The valid operators (most of which are also available as commands in
|
||||
the \fBtcl::mathop\fR namespace; see the \fBmathop\fR(n) manual page
|
||||
for details) are listed below, grouped in decreasing order of precedence:
|
||||
For operators having both a numeric mode and a string mode, the numeric mode is
|
||||
chosen when all operands have a numeric interpretation. The integer
|
||||
interpretation of an operand is preferred over the floating-point
|
||||
interpretation. To ensure string operations on arbitrary values it is generally a
|
||||
good idea to use \fBeq\fR, \fBne\fR, or the \fBstring\fR command instead of
|
||||
more versatile operators such as \fB==\fR.
|
||||
.PP
|
||||
Unless otherwise specified, operators accept non-numeric operands. The value
|
||||
of a boolean operation is 1 if true, 0 otherwise. See also \fBstring is\fR
|
||||
\fBboolean\fR. The valid operators, most of which are also available as
|
||||
commands in the \fBtcl::mathop\fR namespace (see \fBmathop\fR(n)), are listed
|
||||
below, grouped in decreasing order of precedence:
|
||||
.TP 20
|
||||
\fB\-\0\0+\0\0~\0\0!\fR
|
||||
.
|
||||
Unary minus, unary plus, bit-wise NOT, logical NOT. None of these operators
|
||||
may be applied to string operands, and bit-wise NOT may be
|
||||
applied only to integers.
|
||||
Unary minus, unary plus, bit-wise NOT, logical NOT. These operators
|
||||
may only be applied to numeric operands, and bit-wise NOT may only be
|
||||
applied to integers.
|
||||
.TP 20
|
||||
\fB**\fR
|
||||
.
|
||||
Exponentiation. Valid for any numeric operands.
|
||||
Exponentiation. Valid for numeric operands.
|
||||
.TP 20
|
||||
\fB*\0\0/\0\0%\fR
|
||||
.
|
||||
Multiply, divide, remainder. None of these operators may be
|
||||
applied to string operands, and remainder may be applied only
|
||||
to integers.
|
||||
The remainder will always have the same sign as the divisor and
|
||||
an absolute value smaller than the absolute value of the divisor.
|
||||
Multiply and divide, which are valid for numeric operands, and remainder, which
|
||||
is valid for integers. The remainder, an absolute value smaller than the
|
||||
absolute value of the divisor, has the same sign as the divisor.
|
||||
.RS
|
||||
.PP
|
||||
When applied to integers, the division and remainder operators can be
|
||||
considered to partition the number line into a sequence of equal-sized
|
||||
adjacent non-overlapping pieces where each piece is the size of the divisor;
|
||||
the division result identifies which piece the divisor lay within, and the
|
||||
remainder result identifies where within that piece the divisor lay. A
|
||||
When applied to integers, division and remainder can be
|
||||
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
|
||||
consequence of this is that the result of
|
||||
.QW "-57 \fB/\fR 10"
|
||||
is always -6, and the result of
|
||||
@@ -151,177 +148,157 @@ is always 3.
|
||||
.TP 20
|
||||
\fB+\0\0\-\fR
|
||||
.
|
||||
Add and subtract. Valid for any numeric operands.
|
||||
Add and subtract. Valid for numeric operands.
|
||||
.TP 20
|
||||
\fB<<\0\0>>\fR
|
||||
.
|
||||
Left and right shift. Valid for integer operands only.
|
||||
Left and right shift. Valid for integers.
|
||||
A right shift always propagates the sign bit.
|
||||
.TP 20
|
||||
\fB<\0\0>\0\0<=\0\0>=\fR
|
||||
.
|
||||
Boolean less, greater, less than or equal, and greater than or equal.
|
||||
Each operator produces 1 if the condition is true, 0 otherwise.
|
||||
These operators may be applied to strings as well as numeric operands,
|
||||
in which case string comparison is used.
|
||||
Boolean less than, greater than, less than or equal, and greater than or equal.
|
||||
.TP 20
|
||||
\fB==\0\0!=\fR
|
||||
.
|
||||
Boolean equal and not equal. Each operator produces a zero/one result.
|
||||
Valid for all operand types.
|
||||
Boolean equal and not equal.
|
||||
.TP 20
|
||||
\fBeq\0\0ne\fR
|
||||
.
|
||||
Boolean string equal and string not equal. Each operator produces a
|
||||
zero/one result. The operand types are interpreted only as strings.
|
||||
Boolean string equal and string not equal.
|
||||
.TP 20
|
||||
\fBin\0\0ni\fR
|
||||
.
|
||||
List containment and negated list containment. Each operator produces
|
||||
a zero/one result and treats its first argument as a string and its
|
||||
second argument as a Tcl list. The \fBin\fR operator indicates
|
||||
whether the first argument is a member of the second argument list;
|
||||
the \fBni\fR operator inverts the sense of the result.
|
||||
List containment and negated list containment. The first argument is
|
||||
interpreted as a string, the second as a list. \fBin\fR tests for membership
|
||||
in the list, and \fBni\fR is the inverse.
|
||||
.TP 20
|
||||
\fB&\fR
|
||||
.
|
||||
Bit-wise AND. Valid for integer operands only.
|
||||
Bit-wise AND. Valid for integer operands.
|
||||
.TP 20
|
||||
\fB^\fR
|
||||
.
|
||||
Bit-wise exclusive OR. Valid for integer operands only.
|
||||
Bit-wise exclusive OR. Valid for integer operands.
|
||||
.TP 20
|
||||
\fB|\fR
|
||||
.
|
||||
Bit-wise OR. Valid for integer operands only.
|
||||
Bit-wise OR. Valid for integer operands.
|
||||
.TP 20
|
||||
\fB&&\fR
|
||||
.
|
||||
Logical AND. Produces a 1 result if both operands are non-zero,
|
||||
0 otherwise.
|
||||
Valid for boolean and numeric (integers or floating-point) operands only.
|
||||
Logical AND. If both operands are true, the result is 1, or 0 otherwise.
|
||||
|
||||
.TP 20
|
||||
\fB||\fR
|
||||
.
|
||||
Logical OR. Produces a 0 result if both operands are zero, 1 otherwise.
|
||||
Valid for boolean and numeric (integers or floating-point) operands only.
|
||||
Logical OR. If both operands are false, the result is 0, or 1 otherwise.
|
||||
.TP 20
|
||||
\fIx\fB?\fIy\fB:\fIz\fR
|
||||
.
|
||||
If-then-else, as in C. If \fIx\fR
|
||||
evaluates to non-zero, then the result is the value of \fIy\fR.
|
||||
Otherwise the result is the value of \fIz\fR.
|
||||
The \fIx\fR operand must have a boolean or numeric value.
|
||||
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
|
||||
See the C manual for more details on the results
|
||||
produced by each operator.
|
||||
The exponentiation operator promotes types like the multiply and
|
||||
divide operators, and produces a result that is the same as the output
|
||||
of the \fBpow\fR function (after any type conversions.)
|
||||
All of the binary operators but exponentiation group left-to-right
|
||||
within the same precedence level; exponentiation groups right-to-left. For example, the command
|
||||
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
|
||||
operators group left-to-right. For example, the value of
|
||||
.PP
|
||||
.CS
|
||||
\fBexpr\fR {4*2 < 7}
|
||||
.CE
|
||||
.PP
|
||||
returns 0, while
|
||||
is 0, while the value of
|
||||
.PP
|
||||
.CS
|
||||
\fBexpr\fR {2**3**2}
|
||||
.CE
|
||||
.PP
|
||||
returns 512.
|
||||
is 512.
|
||||
.PP
|
||||
The \fB&&\fR, \fB||\fR, and \fB?:\fR operators have
|
||||
As in C, \fB&&\fR, \fB||\fR, and \fB?:\fR feature
|
||||
.QW "lazy evaluation" ,
|
||||
just as in C, which means that operands are not evaluated if they are
|
||||
not needed to determine the outcome. For example, in the command
|
||||
which means that operands are not evaluated if they are
|
||||
not needed to determine the outcome. For example, in
|
||||
.PP
|
||||
.CS
|
||||
\fBexpr\fR {$v ? [a] : [b]}
|
||||
.CE
|
||||
.PP
|
||||
only one of
|
||||
.QW \fB[a]\fR
|
||||
or
|
||||
.QW \fB[b]\fR
|
||||
will actually be evaluated,
|
||||
depending on the value of \fB$v\fR. Note, however, that this is
|
||||
only true if the entire expression is enclosed in braces; otherwise
|
||||
the Tcl parser will evaluate both
|
||||
.QW \fB[a]\fR
|
||||
and
|
||||
.QW \fB[b]\fR
|
||||
before invoking the \fBexpr\fR command.
|
||||
only one of \fB[a]\fR or \fB[b]\fR is evaluated,
|
||||
depending on the value of \fB$v\fR. This is not true of the normal Tcl parser,
|
||||
so it is normally recommended to enclose the arguments to \fBexpr\fR in braces.
|
||||
Without braces, as in
|
||||
\fBexpr\fR $v ? [a] : [b]
|
||||
both \fB[a]\fR and \fB[b]\fR are evaluated before \fBexpr\fR is even called.
|
||||
.PP
|
||||
For more details on the results
|
||||
produced by each operator, see the documentation for C.
|
||||
.SS "MATH FUNCTIONS"
|
||||
.PP
|
||||
When the expression parser encounters a mathematical function
|
||||
such as \fBsin($x)\fR, it replaces it with a call to an ordinary
|
||||
Tcl function in the \fBtcl::mathfunc\fR namespace. The processing
|
||||
of an expression such as:
|
||||
A mathematical function such as \fBsin($x)\fR is replaced with a call to an ordinary
|
||||
Tcl command in the \fBtcl::mathfunc\fR namespace. The evaluation
|
||||
of an expression such as
|
||||
.PP
|
||||
.CS
|
||||
\fBexpr\fR {sin($x+$y)}
|
||||
.CE
|
||||
.PP
|
||||
is the same in every way as the processing of:
|
||||
is the same in every way as the evaluation of
|
||||
.PP
|
||||
.CS
|
||||
\fBexpr\fR {[tcl::mathfunc::sin [\fBexpr\fR {$x+$y}]]}
|
||||
.CE
|
||||
.PP
|
||||
which in turn is the same as the processing of:
|
||||
which in turn is the same as the evaluation of
|
||||
.PP
|
||||
.CS
|
||||
tcl::mathfunc::sin [\fBexpr\fR {$x+$y}]
|
||||
.CE
|
||||
.PP
|
||||
The executor will search for \fBtcl::mathfunc::sin\fR using the usual
|
||||
rules for resolving functions in namespaces. Either
|
||||
\fB::tcl::mathfunc::sin\fR or \fB[namespace
|
||||
current]::tcl::mathfunc::sin\fR will satisfy the request, and others
|
||||
may as well (depending on the current \fBnamespace path\fR setting).
|
||||
\fBtcl::mathfunc::sin\fR is resolved as described in
|
||||
\fBNAMESPACE RESOLUTION\fR in the \fBnamespace\fR(n) documentation. Given the
|
||||
default value of \fBnamespace path\fR, \fB[namespace
|
||||
current]::tcl::mathfunc::sin\fR or \fB::tcl::mathfunc::sin\fR are the typical
|
||||
resolutions.
|
||||
.PP
|
||||
Some mathematical functions have several arguments, separated by commas like in C. Thus:
|
||||
As in C, a mathematical function may accept multiple arguments separated by commas. Thus,
|
||||
.PP
|
||||
.CS
|
||||
\fBexpr\fR {hypot($x,$y)}
|
||||
.CE
|
||||
.PP
|
||||
ends up as
|
||||
becomes
|
||||
.PP
|
||||
.CS
|
||||
tcl::mathfunc::hypot $x $y
|
||||
.CE
|
||||
.PP
|
||||
See the \fBmathfunc\fR(n) manual page for the math functions that are
|
||||
See the \fBmathfunc\fR(n) documentation for the math functions that are
|
||||
available by default.
|
||||
.SS "TYPES, OVERFLOW, AND PRECISION"
|
||||
.PP
|
||||
All internal computations involving integers are done calling on the
|
||||
LibTomMath multiple precision integer library as required so that all
|
||||
integer calculations are performed exactly. Note that in Tcl releases
|
||||
prior to 8.5, integer calculations were performed with one of the C types
|
||||
When needed to guarantee exact performance, internal computations involving
|
||||
integers use the LibTomMath multiple precision integer library. In Tcl releases
|
||||
prior to 8.5, integer calculations were performed using one of the C types
|
||||
\fIlong int\fR or \fITcl_WideInt\fR, causing implicit range truncation
|
||||
in those calculations where values overflowed the range of those types.
|
||||
Any code that relied on these implicit truncations will need to explicitly
|
||||
add \fBint()\fR or \fBwide()\fR function calls to expressions at the points
|
||||
where such truncation is required to take place.
|
||||
Any code that relied on these implicit truncations should instead call
|
||||
\fBint()\fR or \fBwide()\fR, which do truncate.
|
||||
.PP
|
||||
All internal computations involving floating-point are
|
||||
done with the C type \fIdouble\fR.
|
||||
When converting a string to floating-point, exponent overflow is
|
||||
Internal floating-point computations are
|
||||
performed using the \fIdouble\fR C type.
|
||||
When converting a string to floating-point value, exponent overflow is
|
||||
detected and results in the \fIdouble\fR value of \fBInf\fR or
|
||||
\fB\-Inf\fR as appropriate. Floating-point overflow and underflow
|
||||
are detected to the degree supported by the hardware, which is generally
|
||||
pretty reliable.
|
||||
fairly reliable.
|
||||
.PP
|
||||
Conversion among internal representations for integer, floating-point,
|
||||
and string operands is done automatically as needed.
|
||||
For arithmetic computations, integers are used until some
|
||||
floating-point number is introduced, after which floating-point is used.
|
||||
For example,
|
||||
Conversion among internal representations for integer, floating-point, and
|
||||
string operands is done automatically as needed. For arithmetic computations,
|
||||
integers are used until some floating-point number is introduced, after which
|
||||
floating-point values are used. For example,
|
||||
.PP
|
||||
.CS
|
||||
\fBexpr\fR {5 / 4}
|
||||
@@ -335,82 +312,62 @@ returns 1, while
|
||||
.CE
|
||||
.PP
|
||||
both return 1.25.
|
||||
Floating-point values are always returned with a
|
||||
A floating-point result can be distinguished from an integer result by the
|
||||
presence of either
|
||||
.QW \fB.\fR
|
||||
or an
|
||||
or
|
||||
.QW \fBe\fR
|
||||
so that they will not look like integer values. For example,
|
||||
.PP
|
||||
. For example,
|
||||
.PP
|
||||
.CS
|
||||
\fBexpr\fR {20.0/5.0}
|
||||
.CE
|
||||
.PP
|
||||
returns \fB4.0\fR, not \fB4\fR.
|
||||
.SS "STRING OPERATIONS"
|
||||
.PP
|
||||
String values may be used as operands of the comparison operators,
|
||||
although the expression evaluator tries to do comparisons as integer
|
||||
or floating-point when it can,
|
||||
i.e., when all arguments to the operator allow numeric interpretations,
|
||||
except in the case of the \fBeq\fR and \fBne\fR operators.
|
||||
If one of the operands of a comparison is a string and the other
|
||||
has a numeric value, a canonical string representation of the numeric
|
||||
operand value is generated to compare with the string operand.
|
||||
Canonical string representation for integer values is a decimal string
|
||||
format. Canonical string representation for floating-point values
|
||||
is that produced by the \fB%g\fR format specifier of Tcl's
|
||||
\fBformat\fR command. For example, the commands
|
||||
.PP
|
||||
.CS
|
||||
\fBexpr\fR {"0x03" > "2"}
|
||||
\fBexpr\fR {"0y" > "0x12"}
|
||||
.CE
|
||||
.PP
|
||||
both return 1. The first comparison is done using integer
|
||||
comparison, and the second is done using string comparison.
|
||||
Because of Tcl's tendency to treat values as numbers whenever
|
||||
possible, it is not generally a good idea to use operators like \fB==\fR
|
||||
when you really want string comparison and the values of the
|
||||
operands could be arbitrary; it is better in these cases to use
|
||||
the \fBeq\fR or \fBne\fR operators, or the \fBstring\fR command instead.
|
||||
.SH "PERFORMANCE CONSIDERATIONS"
|
||||
.PP
|
||||
Enclose expressions in braces for the best speed and the smallest
|
||||
storage requirements.
|
||||
This allows the Tcl bytecode compiler to generate the best code.
|
||||
.PP
|
||||
As mentioned above, expressions are substituted twice:
|
||||
once by the Tcl parser and once by the \fBexpr\fR command.
|
||||
For example, the commands
|
||||
Where an expression contains syntax that Tcl would otherwise perform
|
||||
substitutions on, enclosing an expression in braces or otherwise quoting it
|
||||
so that it's a static value allows the Tcl compiler to generate bytecode for
|
||||
the expression, resulting in better speed and smaller storage requirements.
|
||||
This also avoids issues that can arise if Tcl is allowed to perform
|
||||
substitution on the value before \fBexpr\fR is called.
|
||||
.PP
|
||||
In the following example, the value of the expression is 11 because the Tcl parser first
|
||||
substitutes \fB$b\fR and \fBexpr\fR then substitutes \fB$a\fR. Enclosing the
|
||||
expression in braces would result in a syntax error.
|
||||
.CS
|
||||
set a 3
|
||||
set b {$a + 2}
|
||||
\fBexpr\fR $b*4
|
||||
.CE
|
||||
.PP
|
||||
return 11, not a multiple of 4.
|
||||
This is because the Tcl parser will first substitute \fB$a + 2\fR for
|
||||
the variable \fBb\fR,
|
||||
then the \fBexpr\fR command will evaluate the expression \fB$a + 2*4\fR.
|
||||
.PP
|
||||
Most expressions do not require a second round of substitutions.
|
||||
Either they are enclosed in braces or, if not,
|
||||
their variable and command substitutions yield numbers or strings
|
||||
that do not themselves require substitutions.
|
||||
However, because a few unbraced expressions
|
||||
need two rounds of substitutions,
|
||||
the bytecode compiler must emit
|
||||
additional instructions to handle this situation.
|
||||
The most expensive code is required for
|
||||
unbraced expressions that contain command substitutions.
|
||||
These expressions must be implemented by generating new code
|
||||
each time the expression is executed.
|
||||
When the expression is unbraced to allow the substitution of a function or
|
||||
operator, consider using the commands documented in the \fBmathfunc\fR(n) or
|
||||
\fBmathop\fR(n) manual pages directly instead.
|
||||
|
||||
When an expression is generated at runtime, like the one above is, the bytcode
|
||||
compiler must ensure that new code is generated each time the expression
|
||||
is evaluated. This is the most costly kind of expression from a performance
|
||||
perspective. In such cases, consider directly using the commands described in
|
||||
the \fBmathfunc\fR(n) or \fBmathop\fR(n) documentation instead of \fBexpr\fR.
|
||||
|
||||
Most expressions are not formed at runtime, but are literal strings or contain
|
||||
substitutions that don't introduce other substitutions. To allow the bytecode
|
||||
compiler to work with an expression as a string literal at compilation time,
|
||||
ensure that it contains no substitutions or that it is enclosed in braces or
|
||||
otherwise quoted to prevent Tcl from performing substitutions, allowing
|
||||
\fBexpr\fR to perform them instead.
|
||||
.SH EXAMPLES
|
||||
.PP
|
||||
A numeric comparison whose result is 1:
|
||||
.CS
|
||||
\fBexpr\fR {"0x03" > "2"}
|
||||
.CE
|
||||
.PP
|
||||
A string comparison whose result is 1:
|
||||
.CS
|
||||
\fBexpr\fR {"0y" > "0x12"}
|
||||
.CE
|
||||
.PP
|
||||
Define a procedure that computes an
|
||||
.QW interesting
|
||||
mathematical function:
|
||||
@@ -444,8 +401,8 @@ each other:
|
||||
puts "a and b are [\fBexpr\fR {$a eq $b ? {equal} : {different}}]"
|
||||
.CE
|
||||
.PP
|
||||
Set a variable to whether an environment variable is both defined at
|
||||
all and also set to a true boolean value:
|
||||
Set a variable indicating whether an environment variable is defined and has
|
||||
value of true:
|
||||
.PP
|
||||
.CS
|
||||
set isTrue [\fBexpr\fR {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
'\"
|
||||
'\"
|
||||
'\" Copyright (c) 1996 Sun Microsystems, Inc.
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
|
||||
+1
-1
@@ -390,7 +390,7 @@ that use the third component do not attempt to perform tilde
|
||||
substitution.
|
||||
.RE
|
||||
.TP
|
||||
\fBfile stat \fIname varName\fR
|
||||
\fBfile stat \fIname varName\fR
|
||||
.
|
||||
Invokes the \fBstat\fR kernel call on \fIname\fR, and uses the variable
|
||||
given by \fIvarName\fR to hold information returned from the kernel call.
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH flush n 7.5 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH foreach n "" Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH gets n 7.5 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH history n "" Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+4
-1
@@ -418,7 +418,10 @@ set token [::http::geturl https://my.secure.site/]
|
||||
\fB::http::unregister\fR \fIproto\fR
|
||||
.
|
||||
This procedure unregisters a protocol handler that was previously
|
||||
registered via \fB::http::register\fR.
|
||||
registered via \fB::http::register\fR, returning a two-item list of
|
||||
the default port and handler command that was previously installed
|
||||
(via \fB::http::register\fR) if there was such a handler, and an error if
|
||||
there was no such handler.
|
||||
.SH ERRORS
|
||||
The \fB::http::geturl\fR procedure will raise errors in the following cases:
|
||||
invalid command line options,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH if n "" Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH incr n "" Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH info n 8.4 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH interp n 8.6 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH join n "" Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH lappend n "" Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH lassign n 8.5 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH list n "" Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH load n 7.5 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH lrepeat n 8.5 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH lreverse n 8.5 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -303,7 +303,7 @@ used for qualified namespace or variable names.
|
||||
Sets or returns the unknown command handler for the current namespace.
|
||||
The handler is invoked when a command called from within the namespace
|
||||
cannot be found in the current namespace, the namespace's path nor in
|
||||
the global namespace.
|
||||
the global namespace.
|
||||
The \fIscript\fR argument, if given, should be a well
|
||||
formed list representing a command name and optional arguments. When
|
||||
the handler is invoked, the full invocation line will be appended to the
|
||||
|
||||
+1
-1
@@ -138,7 +138,7 @@ before chaining from subclass, args = x 1 2 3 y
|
||||
in the superclass, args = a x 1 2 3 y b
|
||||
in the superclass, args = pureSynthesis
|
||||
after chaining from subclass
|
||||
before chaining from subclass, args =
|
||||
before chaining from subclass, args =
|
||||
in the superclass, args = a b
|
||||
in the superclass, args = pureSynthesis
|
||||
after chaining from subclass
|
||||
|
||||
+2
-2
@@ -283,8 +283,8 @@ error.
|
||||
.PP
|
||||
When an interpreter is created, its initial selection mode value is set to
|
||||
.QW stable
|
||||
unless the environment variable \fBTCL_PKG_PREFER_LATEST\fR
|
||||
is set. If that environment variable is defined (with any value) then
|
||||
unless the environment variable \fBTCL_PKG_PREFER_LATEST\fR is set
|
||||
(to any value) or the Tcl package itself is unstable. Otherwise
|
||||
the initial (and permanent) selection mode value is set to
|
||||
.QW latest .
|
||||
.RE
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
'\"
|
||||
'\" Copyright (c) 1998-2000 by Scriptics Corporation.
|
||||
'\" All rights reserved.
|
||||
'\"
|
||||
'\"
|
||||
.TH pkg::create n 8.3 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH pid n 7.0 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH "platform" n 1.0.4 platform "Tcl Bundled Packages"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH "platform::shell" n 1.1.4 platform::shell "Tcl Bundled Packages"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH prefix n 8.6 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH puts n 7.5 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH pwd n "" Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
'\"
|
||||
'\"
|
||||
'\" Copyright (c) 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net>
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
|
||||
+1
-1
@@ -152,7 +152,7 @@ nulls.
|
||||
.TP
|
||||
\fBsz\fR
|
||||
.
|
||||
The registry value contains a null-terminated string. The data is
|
||||
The registry value contains a null-terminated string. The data is
|
||||
represented in Tcl as a string.
|
||||
.TP
|
||||
\fBexpand_sz\fR
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH rename n "" Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
+1
-3
@@ -123,9 +123,7 @@ with conversion character \fBu\fR.
|
||||
.TP
|
||||
\fBi\fR
|
||||
.
|
||||
The input substring must be an integer. The base (i.e. decimal, binary,
|
||||
octal, or hexadecimal) is determined in the same fashion as described in
|
||||
\fBexpr\fR. The integer value is stored in the variable,
|
||||
The input substring must be an integer. The base (i.e. decimal, octal, or hexadecimal) is determined by the C convention (leading 0 for octal; prefix 0x for hexadecimal). The integer value is stored in the variable,
|
||||
truncated as required by the size modifier value.
|
||||
.TP
|
||||
\fBc\fR
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
'\"
|
||||
.TH seek n 8.1 Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user