Tcl Source Code

All files named "generic/tclGet.c"
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History for generic/tclGet.c

2024-07-20
15:59
Merge trunk [91c2f411e7e71552], TIP #636 (tip-636-tcl9-644), resolve all conflicts including those resulting from conflicting Tcl_Obj interface implementations, and relicense under GNU Affero General Public License. All tests pass. file: [313be75a79] check-in: [d8a3450f12] user: pooryorick branch: unchained, size: 5022
2022-10-07
14:04
TIP #618: New Tcl_GetBool* functions with TCL_NULL_OK flag file: [db5b672117] check-in: [bfc41f580a] user: jan.nijtmans branch: core-8-branch, size: 4652
2022-05-10
10:18
Update doc file: [32d0f615c8] check-in: [f805309275] user: jan.nijtmans branch: tip-618, size: 4678
10:05
Merge 8.7. Update doc file: [9e734fbb92] check-in: [b053dadbd7] user: jan.nijtmans branch: tip-618, size: 4678
2022-04-29
20:09
re-structure, add more examples file: [557e6878ea] check-in: [1cc44267e1] user: jan.nijtmans branch: tip-618, size: 4678
2022-04-20
14:08
Merge 8.7 file: [54c359df6f] check-in: [c4c36b2706] user: jan.nijtmans branch: tip-618, size: 4593
10:20
Merge 8.7 file: [69c58e3d46] check-in: [06c121d0f3] user: jan.nijtmans branch: main, size: 4066
10:02
Merge 8.6 file: [3478175308] check-in: [c698281105] user: jan.nijtmans branch: core-8-branch, size: 4066
09:41
boolPtr -> intPtr, since Tcl doens't use pointer to bool's (they didn't exist when the API was designed) file: [9d395966ff] check-in: [81c8869db7] user: jan.nijtmans branch: core-8-6-branch, size: 4053
2022-04-15
12:20
Restore Tcl_GetBoolenanFromObj/Tcl_GetBoolenan signatures file: [81eb36cd5f] check-in: [4b7f564fd6] user: jan.nijtmans branch: tip-618, size: 4595
2022-03-31
13:48
Better errpr-handling file: [3d4e23e287] check-in: [086055bcdf] user: jan.nijtmans branch: tip-618, size: 4586
2022-02-22
21:01
TIP #618: New Tcl_GetBool* functions with INDEX_NULL_OK flag file: [637cfb22c7] check-in: [566ab0f509] user: jan.nijtmans branch: tip-618, size: 4611
2021-10-08
08:40
Merge 8.7 file: [229af55247] check-in: [916029c89c] user: jan.nijtmans branch: main, size: 4069
2021-10-06
19:33
Change "IntRep" to "InternalRep", as discussed in the Tcl Core mailing list file: [2501588739] check-in: [0509fa5750] user: jan.nijtmans branch: internalrep, size: 4069
2020-12-08
15:42
Merge 8.7 file: [e2dda0421f] check-in: [71493b571b] user: jan.nijtmans branch: main, size: 4059
15:31
Add -finput-charset=UTF-8 and -fextended-identifiers to gcc (and clang). All C sources can now use UTF-8, as far as gcc/clang/msvc support it. Not used yet file: [699c83c8f5] check-in: [4254aa305b] user: jan.nijtmans branch: core-8-branch, size: 4059
2018-02-22
20:09
merge core-8-branch file: [830af47ce4] check-in: [d84b8524af] user: jan.nijtmans branch: trunk, size: 4061
20:03
Correctly distinguish between internalrep.longValue (in case of boolean) and internalre.wideValue (in case of int). Add comment warning for that file: [9b7628a2ba] check-in: [1a90ee1f22] user: jan.nijtmans branch: core-8-branch, size: 4061
2018-02-09
10:09
small code review: resolve conversion warnings (possible loss of data, signed/unsigned comparison) file: [b5487cda23] check-in: [29bc6e1422] user: sebres branch: core-8-branch, size: 4061
2017-10-30
08:47
Experimental branch meant to eliminate the "wideint" type, just merge it to a single "int" type. No effect on linux64 and similar systems, code simplification for Win64 and 32-bit system. No TIP yet, implementation ongoing. file: [13b34ad3ab] check-in: [c2abe1efd0] user: jan.nijtmans branch: no-wideint, size: 4056
2016-12-21
12:59
Experimental (partial) fix for [39f6304c2e]: Tcl_LinkVar is not tolerant to minus, plus, dot. This handled minus and plus only, not other possible errors. Will need a TIP, because the boolean type is extended to consider '-', '+' and 'o' (necessary for being able to type 'on' or 'off') as valid booleans Dot, and integer prefixes (such as 0x) not handled yet, should be handled completely different. file: [d34bf26a6e] check-in: [2d5e0a6533] user: jan.nijtmans branch: bug-39f6304c2e, size: 4062
2013-02-11
15:53
Still to be TIP'ed. In this branch objTypes are not registered to Tcl any more, and still can do everything. It proves that Tcl_ConvertToType and the toAnyProc in thc Tcl_ObjType struct can be safely removed. Conversion to any specific type must be done by the "Tcl_GetXXXFromObj" type functions. One objType which didn't have such a function yet: "end-offset". This branch replaces this type by an "index" objType with its own Tcl_GetIntForIndex function (which functions the same as the currently private TclGetIntForIndex, only faster...). In addition, it affects Tcl_GetBoolean, which now follows the same same parsing rules as Tcl_GetBooleanFromObj. file: [5aad47dbe6] check-in: [271dbffaf7] user: jan.nijtmans branch: no-register-objtypes, size: 3995
2013-02-04
10:51
Eliminate all Tcl_ConvertToType calls and all direct calls to typePtr->setFromAnyProc (except the call from inside the Tcl_ConvertToType function) from the Tcl core. file: [a91b7e7666] check-in: [af25d8dc8c] user: jan.nijtmans branch: trunk, size: 4056
2012-11-15
17:55
More complete purge of things only present for supporting long-dead Mac 9 systems. file: [1cbb3acb21] check-in: [7506775d52] user: dgp branch: core-8-4-branch, size: 9362
2011-08-17
16:24
3393150 Overlooked free of intreps. (It matters for bignums!) file: [e6f01a3f26] check-in: [ee34ff2b8a] user: dgp branch: trunk, size: 4070
16:21
3393150 Overlooked free of intreps. (It matters for bignums!) file: [8b7819f934] check-in: [a80a0119e2] user: dgp branch: core-8-5-branch, size: 5397
2011-03-02
20:27
Now that we're no longer using SCM based on RCS, the RCS Keyword lines cause more harm than good. Purged them (except in zlib files). file: [1702a0ae27] check-in: [c64f310d38] user: dgp branch: trunk, size: 4020
16:06
Now that we're no longer using SCM based on RCS, the RCS Keyword lines cause more harm than good. Purged them. file: [952d43f843] check-in: [79367df0f0] user: dgp branch: core-8-5-branch, size: 5322
2011-03-01
15:38
Now that we're no longer using SCM based on RCS, the RCS Keyword lines cause more harm than good. Purged them. file: [7a98cd274f] check-in: [90b4acd7bd] user: dgp branch: core-8-4-branch, size: 9365
2008-07-29
20:13
merge updates from (near) HEAD file: [5f79d0ec73] check-in: [f51e3a3c72] user: dgp branch: dgp-refactor, size: 4090
2008-07-08
17:53
* generic/tclGet.c: Corrected out of date comments.
file: [37c4c0ad72] check-in: [e4ee9a0659] user: dgp branch: core-8-5-branch, size: 5393
17:52
* generic/tclGet.c: Corrected out of date comments and removed * generic/tclInt.decls: internal routine TclGetLong() that's no longer used. If an extension is using this from the internal stubs table, it can shift to the public routine Tcl_GetLongFromObj() or can request addition of a public Tcl_GetLong(). ***POTENTIAL INCOMPATIBILITY***
* generic/tclIntDecls.h: make genstubs * generic/tclStubInit.c:
file: [66471f9a19] check-in: [006f71d8fb] user: dgp branch: trunk, size: 4087
2008-05-11
04:22
merge updates from HEAD file: [f67ddb12e0] check-in: [b084fd8e3a] user: dgp branch: dgp-refactor, size: 5340
2008-04-27
22:21
Get rid of pre-C89-isms (esp. CONST vs const). file: [47608847d3] check-in: [2d205c22fb] user: dkf branch: trunk, size: 5337
2007-12-13
15:22
merge stable branch onto HEAD file: [d74fd97c41] check-in: [d1f7550cd9] user: dgp branch: trunk, size: 5337
2007-11-13
13:15
merge updates from HEAD file: [8f44753ea5] check-in: [5be2e31506] user: dgp branch: dgp-refactor, size: 5340
13:07
merge updates from HEAD file: [216694c9ae] check-in: [cfa59af20c] user: dgp branch: core-stabilizer-branch, size: 5341
2007-11-12
22:05
* generic/tclGet.c (Tcl_Get, Tcl_GetInt): revert use of TclGet* macros due to compiler warning. These cases won't save time either.
file: [d7db9cf9aa] check-in: [22bc9d9f9a] user: hobbs branch: trunk, size: 5339
20:40
merge updates from HEAD file: [7985a14bc1] check-in: [27f428842c] user: dgp branch: dgp-refactor, size: 5338
19:18
merge updates from HEAD file: [bc0683bef3] check-in: [72c5ac9502] user: dgp branch: core-stabilizer-branch, size: 5339
2007-11-11
19:32
[Patch 1830038]: Increased usage of macros to detect and take advantage of objTypes. file: [1f600ad807] check-in: [11e8f31512] user: msofer branch: trunk, size: 5338
2005-12-02
18:42
merge updates from HEAD file: [3aab73195b] check-in: [1059d34b2b] user: dgp branch: dgp-refactor, size: 5340
2005-11-07
15:12
ANSIfy file: [534b5128c8] check-in: [611d25e47c] user: dkf branch: trunk, size: 5337
2005-08-02
18:14
merge updates from HEAD file: [ac96dbc24a] check-in: [10feab7c07] user: dgp branch: kennykb-numerics-branch, size: 5426
2005-07-26
04:11
Merge updates from HEAD file: [04294cc5d3] check-in: [8351a734a6] user: dgp branch: dgp-refactor, size: 5426
2005-07-24
22:56
Getting more systematic about style file: [531b5170b0] check-in: [83d72c558c] user: dkf branch: trunk, size: 5423
2005-06-13
01:45
*** MERGE WITH HEAD *** (tag msofer-wcodes-20050611)
file: [7b5b1bf1f8] check-in: [d666b09ed5] user: msofer branch: msofer-wcodes-branch, size: 5308
2005-05-10
18:33
Merged kennykb-numerics-branch back to the head; TIPs 132 and 232 file: [2eb32f5436] check-in: [1cc2336920] user: kennykb branch: trunk, size: 5306
2005-05-05
17:55
Merged with HEAD file: [21d86820d9] check-in: [b77c9a87c6] user: kennykb branch: kennykb-numerics-branch, size: 5309
2005-05-04
17:34
merge updates from HEAD file: [df01f704ca] check-in: [edf99c3880] user: dgp branch: dgp-refactor, size: 5305
2005-05-03
18:07
* doc/DString.3: Eliminated use of identifier "string" in Tcl's * doc/Environment.3: public C API to avoid conflict/confusion with * doc/Eval.3: the std::string of C++. * doc/ExprLong.3, doc/ExprLongObj.3, doc/GetInt.3, doc/GetOpnFl.3: * doc/ParseCmd.3, doc/RegExp.3, doc/SetResult.3, doc/StrMatch.3: * doc/Utf.3, generic/tcl.decls, generic/tclBasic.c, generic/tclEnv.c: * generic/tclGet.c, generic/tclParse.c, generic/tclParseExpr.c: * generic/tclRegexp.c, generic/tclResult.c, generic/tclUtf.c: * generic/tclUtil.c, unix/tclUnixChan.c:
* generic/tclDecls.h: `make genstubs`
file: [f5107c74c5] check-in: [83aa957ebe] user: dgp branch: trunk, size: 5302
2005-04-29
22:39
Merge updates from HEAD file: [f6fb367dd9] check-in: [ac63d218d8] user: dgp branch: dgp-refactor, size: 5329
2005-04-25
21:37
Merged with HEAD. file: [99b4cc7218] check-in: [fcce6158ac] user: kennykb branch: kennykb-numerics-branch, size: 5333
2005-04-22
15:46
The 2005-04-21 changes to Tcl_GetBooleanFromObj were done to bring it into agreement with its docs. Further investigation reveals it was the docs that were incorrect.
* doc/BoolObj.3: Corrections to the documentation of Tcl_GetBooleanFromObj to bring it into agreement with what this public interface has always done, including noting the difference in function between Tcl_GetBooleanFromObj and Tcl_GetBoolean.
* generic/tclGet.c: Revised Tcl_GetBoolean to no longer be a wrapper around Tcl_GetBooleanFromObj (different function!).
* generic/tclObj.c: Removed TclGetTruthValueFromObj routine that was added yesterday. Revisions so that only Tcl_GetBoolean-approved values get the "boolean" Tcl_ObjType. This retains the fix for [Bug 1187123].
* generic/tclInt.h: Revert most recent change. * generic/tclBasic.c: * generic/tclCompCmds.c: * generic/tclDictObj.c: * generic/tclExecute.c: * tests/obj.test:
file: [5aa4754582] check-in: [9cc02e7123] user: dgp branch: trunk, size: 5326
2005-04-21
20:24
* generic/tclGet.c: Radical code simplification. Converted Tcl_GetFoo() routines into wrappers around Tcl_GetFooFromObj(). Reduces code duplication, and the resulting potential for inconsistency.
* generic/tclObj.c: Several changes: - Fixed Tcl_GetBooleanFromObj to agree with its documentation and with Tcl_GetBoolean, accepting only "0" and "1" and not other numeric strings. [Bug 1187123] - Added new private routine TclGetTruthValueFromObj to perform the more permissive conversion of numeric values to boolean that is needed by the [expr] machinery.
* generic/tclInt.h (TclGetTruthValueFromObj): New routine. * generic/tclExecute.c: Updated callers to call new routine. * tests/obj.test: Corrected bad tests that actually expected values like "47" and "0xac" to be accepted as booleans.
file: [9483f37821] check-in: [c5a5c3f411] user: dgp branch: trunk, size: 5251
14:23
* doc/GetInt.3: Convert argument "string" to "str" to agree with code. Also clarified a few details on int and double formats. * generic/tclGet.c: Radical code simplification. Converted most Tcl_GetFoo() routines into wrappers around Tcl_GetFooFromObj(). Reduces code duplication, and the resulting potential for inconsistency.
file: [1345888c8c] check-in: [c2065c79f6] user: dgp branch: trunk, size: 6303
2005-04-20
16:06
* generic/tclGet.c (Tcl_GetInt): Corrected error that did not * generic/tclObj.c (Tcl_GetIntFromObj): permit 0x80000000 to be recognized as an integer on TCL_WIDE_INT_IS_LONG systems [Bug 1090869].
file: [0280ce2af1] check-in: [3d004086cf] user: dgp branch: core-8-4-branch, size: 9435
16:04
* generic/tclGet.c (Tcl_GetInt): Corrected error that did not * generic/tclObj.c (Tcl_GetIntFromObj): permit 0x80000000 to be recognized as an integer on TCL_WIDE_INT_IS_LONG systems [Bug 1090869].
file: [a1151bac38] check-in: [4e2a92f900] user: dgp branch: trunk, size: 9408
2005-03-04
20:43
made code permissive about infinities file: [555af1ae0d] check-in: [ab448d97fd] user: kennykb branch: kennykb-numerics-branch, size: 9172
2005-02-02
15:53
sync with head, add TclStrToD (TIP #132) file: [7b184838f5] check-in: [82ce6a0c40] user: kennykb branch: kennykb-numerics-branch, size: 9364
2004-04-09
20:57
Merge updates from HEAD file: [d68ebd2fa4] check-in: [5b5c8133e5] user: dgp branch: dgp-refactor, size: 9351
2004-04-06
22:25
Patch 922727 committed. Implements three changes:
* generic/tclInt.h: Reworked the Tcl header files into a clean * unix/tclUnixPort.h: hierarchy where tcl.h < tclPort.h < tclInt.h * win/tclWinInt.h: and every C source file should #include * win/tclWinPort.h: at most one of those files to satisfy its declaration needs. tclWinInt.h and tclWinPort.h also better organized so that tclWinPort.h includes the Windows implementation of cross-platform declarations, while tclWinInt.h makes declarations that are available on Windows only.
* generic/tclBinary.c (TCL_NO_MATH): Deleted the generic/tclMath.h * generic/tclMath.h (removed): header file. The internal Tcl * macosx/Makefile (PRIVATE_HEADERS): header, tclInt.h, has a * win/tcl.dsp: #include <math.h> directly, and file external to Tcl needing libm should do the same.
* win/Makefile.in (WIN_OBJS): Deleted the win/tclWinMtherr.c file. * win/makefile.bc (TCLOBJS): It's a vestige from matherr() days * win/makefile.vc (TCLOBJS): gone by. * win/tcl.dsp: * win/tclWinMtherr.c (removed):
file: [c7bf420443] check-in: [2e5b18c85c] user: dgp branch: trunk, size: 9347
2002-11-19
02:34
* generic/tclUtil.c (SetEndOffsetFromAny): handle integer offset after the "end-" prefix.
* generic/get.test: * generic/string.test: * generic/tclObj.c (SetIntFromAny, SetWideIntFromAny): * generic/tclGet.c (TclGetLong, Tcl_GetInt): simplify sign handling before calling strtoul(l). [Bug #634856]
file: [5485bcdeed] check-in: [9ed6048410] user: hobbs branch: trunk, size: 9373
2001-09-25
16:23
* Updated APIs in generic/tclGet.c according to the guidelines of TIP 27. [Patch 464674]
file: [216904dee3] check-in: [7f1745dad6] user: dgp branch: trunk, size: 9036
2000-03-31
19:39
* generic/tclGet.c (Tcl_GetDouble): Added additional conditions to error test (previously only errno was checked, but the return value of strtod() should be checked as well). [Bug: 4118].

* tests/exec.test: Added test for proper conversion of UTF data when used with "<< $dataWithUTF" on exec's.

* unix/tclUnixPipe.c (TclpCreateTempFile): Added Tcl_UtfToExternalDString call, so that if there is UTF content in the string it will be properly converted to the system encoding before being written [Bug: 4030]. (TclpCreateTempFile): Added a check on the return value of tmpnam; some systems (Linux, for example) will start to return NULL after tmpnam has been called TMP_MAX times; not checking for this can have bad results (overwriting temp files, core dumps, etc.) file: [9321d9ee82] check-in: [27f457dd13] user: ericm branch: trunk, size: 8984

1999-12-04
06:15
* tests/expr-old.test: * tests/parseExpr.test: * tests/string.test: * generic/tclGet.c: * generic/tclInt.h: * generic/tclObj.c: * generic/tclParseExpr.c: * generic/tclUtil.c: * generic/tclExecute.c: added TclCheckBadOctal routine to enhance error message checking for when users use invalid octal numbers (like 08), as well as replumbed the Expr*Funcs with a new VerifyExprObjType to simplify type handling.
* tests/expr.test: * generic/tclCompile.c: fixed 'bad code length' error for 'expr + {[incr]}' case, with new test case [Bug: 3736] and seg fault on 'expr + {[error]}' (different cause) that was caused by a correct optimization that didn't correctly track how it was modifying the source string in the opt. The optimization was removed, which means that: expr 1 + {[string length abc]} will be not be compiled inline as before, but this should be written: expr {1 + [string length abc]} which will be compiled inline for speed. This prevents expr 1 + {[mindless error]} from seg faulting, and only affects optimizations for degenerate cases [Bug: 3737]
file: [fcf8fec877] check-in: [bc2b85b9c2] user: hobbs branch: trunk, size: 8916
1999-08-19
02:59
1999-08-18 Jeff Hobbs <[email protected]>
* doc/OpenFileChnl.3: * doc/file.n: * tests/cmdAH.test: * tclIO.c: * tclCmdAH.c: added "file channels ?pattern?" tcl command, with associated Tcl_GetChannelNames and Tcl_GetChannelNamesEx public C APIs (added to tcl.decls as well), with docs and tests.
* generic/tclCompile.c: add TCL_TOKEN_VARIABLE to the part types that cause differed compilation for exprs, to correct the expr double-evaluation problem for vars. Added test cases.
file: [3aaf3029c5] check-in: [fb64d24b32] user: hobbs branch: trunk, size: 8838
1999-04-21
00:42
Deleted: Added comments for 4/19 and 4/20 check-in: [6c6fc5d7b2] user: redman branch: scriptics-tclpro-1-2-old, size: 0
1999-04-16
00:46
merged tcl 8.1 branch back into the main trunk file: [4577af5f39] check-in: [f3b32fb71c] user: stanton branch: trunk, size: 8882
1999-03-11
19:28
Deleted: Add documentation for Tcl_GetVersion() check-in: [940e47cf48] user: redman branch: scriptics-tclpro-1-2, size: 0
1998-09-24
23:58
merging changes from 8.0.3 into 8.1a2 file: [441e317f2a] check-in: [1c3c1ab19f] user: stanton branch: core-8-1-branch-old, size: 8886
1998-09-21
23:39
Added contents of Tcl 8.1a2 file: [937f91e1fe] check-in: [8c56dc8868] user: stanton branch: core-8-1-branch-old, size: 8861
1998-09-14
18:39
Replaced SCCS strings, fixed binary files file: [522514e703] check-in: [196f92fd17] user: stanton branch: trunk, size: 8827
1998-03-26
14:45
Added: Initial revision file: [3540fc684d] check-in: [cacdd0f329] user: rjohnson branch: trunk, size: 8806