summaryrefslogtreecommitdiffstats
path: root/generic/tclPkg.c
Commit message (Collapse)AuthorAgeFilesLines
* Factor out a number of common patterns of use of Tcl_DStringAppend.dkf2012-07-031-3/+3
|
* Reduce use of Tcl_AppendElement, which is not (and can't be) a Tcl_Obj-aware ↵dkf2011-05-091-17/+28
| | | | API.
* More generation of error codes (namespace creation, path normalization,dkf2011-04-031-14/+30
| | | pipeline creation, package handling, procedures, [scan] formats)
* Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts indkf2011-03-121-6/+6
| | | rest of Tcl source code. No ABI change. API change *should* be harmless.
* Now that we're no longer using SCM based on RCS, the RCS Keyword linesdgp2011-03-021-2/+0
|\ | | | | cause more harm than good. Purged them (except in zlib files).
| * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-021-2/+0
| |\ | | | | | | more harm than good. Purged them.
| | * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-011-2/+0
| | | | | | | | | more harm than good. Purged them.
| | * * generic/tclPkg.c: Backport fix for [1573844] to thedgp2007-09-191-802/+484
| | | | | | | | | | | | * tests/pkg.test: TCL_TIP268 sections.
| | * * generic/tclEvent.c (Tcl_CreateThread): Replaced some calls todgp2007-03-191-3/+3
| | | | | | | | | | | | | | | | | | * generic/tclPkg.c (CheckVersion): Tcl_Alloc() with calls to * unix/tclUnixTime.c (SetTZIfNecessary): ckalloc(), which better * win/tclAppInit.c (setargv): supports memory debugging.
| | * Backport to 8.4 (Don Porter's work).andreas_kupries2006-12-051-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When no requirements are supplied to a [package require $pkg] and [package unknown] is invoked to find a satisfying package, pass the requirement argument "0-" (which means all versions are acceptable). This permits a registered [package unknown] command to call [package vsatisfies $testVersion {*}$args] without any special handling of the empty $args case. This fixes/avoids a bug in [::tcl::tm::UnknownHandler] that was causing old TM versions to be provided in preference to newer TM versions. Thanks to Julian Noble for discovering the issue.
| | * * generic/tclPkg.c (Tcl_PkgRequireEx): Corrected crash whenandreas_kupries2006-10-111-8/+12
| | | | | | | | | | | | | | | argument version==NULL passed in. Backport of the fix for the same problem in 8.5.
| | * * generic/tclPkg.c (Tcl_PkgRequireEx): Changes handling of theandreas_kupries2006-09-221-2/+59
| | | | | | | | | | | | | | | | | | return information from 'Tcl_PkgRequireProc'. Keep the interpreter result empty. Backport of fix for problem found while testing #268 under 8.5. More details in the comments.
| | * * generic/tcl.decls: Implemented TIP #268, conditionally.andreas_kupries2006-09-221-86/+1288
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclBasic.c: Define TCL_TIP268 to activate the new * generic/tclDecls.h: features. * generic/tclInt.h: * generic/tclPkg.c: * generic/tclStubInit.c: * generic/tclTest.c: * library/init.tcl * library/package.tcl: * tests/pkg.test: * tests/platform.test: * tests/safe.test: * doc/PkgRequire.3:
| | * * generic/tclIOGT.c (ExecuteCallback):hobbs2006-08-301-4/+5
| | | | | | | | | | | | | | | * generic/tclPkg.c (Tcl_PkgRequireEx): replace Tcl_GlobalEval(Obj) with more efficient Tcl_Eval(Obj)Ex
| | * * generic/tclPkg.c: Revised Bug 1162286 fix from 2005-11-08dgp2006-04-051-4/+10
| | | | | | | | | | | | | | | | | | | | | to be even more forgiving of package version mismatch errors in [package ifneeded] commands, not even logging any warning messages. This further reduces the ***POTENTIAL INCOMPATIBILITY*** noted for that change.
| | * * generic/tclPkg.c: Revised Bug 1162286 fix from 2005-11-08dgp2005-11-181-7/+51
| | | | | | | | | | | | | | | | | | * tests/pkg.test: to be more forgiving of package version mismatch errors in [package ifneeded] commands. This reduces the ***POTENTIAL INCOMPATIBILITY*** noted for that change.
| | * * generic/tclPkg.c: Corrected inconsistencies in the value returneddgp2005-11-081-14/+76
| | | | | | | | | | | | | | | | | | | | | | | | * tests/pkg.test: by Tcl_PkgRequire(Ex) so that the returned values will always agree with what is stored in the package database. This way repeated calls to Tcl_PkgRequire(Ex) have the same results. Thanks to Hemang Lavana. [Bug 1162286]. * tests/namespace.test (25.7,8): Backport test of knownBug.
| * | Various trivial fixes, discovered during CYGWIN porting attempt. All ↵nijtmans2010-01-061-2/+2
| | | | | | | | | | | | backported from trunk.
| * | * generic/tclStubLib.c (Tcl_InitStubs): Added missing error message.dgp2008-04-011-1/+3
| | | | | | | | | | | | * generic/tclPkg.c (Tcl_PkgInitStubsCheck):
* | | [Patch 2997642] many type casts needed when using Tcl_Pkg* API. Remaining part.nijtmans2010-08-311-4/+4
| | | | | | | | | | | | Typo in rules.vc
* | | [Patch 2997642] many type casts needed when using Tcl_Pkg* API. Partly.nijtmans2010-08-301-7/+8
| | |
* | | Unnecessary type casts, See Tcl [Patch #2997087]nijtmans2010-05-051-12/+12
| | |
* | | Fix gcc warning, using gcc-4.3.4 on cygwinnijtmans2009-12-111-2/+2
| | | | | | | | | | | | | | | warning: array subscript has type 'char' win/makefile.vc Revert to version 1.203 [Bug #2912773]
* | | Fix gcc warning, using gcc-4.3.4 on cygwinnijtmans2009-12-111-2/+2
| | | | | | | | | | | | | | | warning: array subscript has type 'char' win/makefile.vc Revert to version 1.203 [Bug #2912773]
* | | - eliminate some unnessary type castsnijtmans2009-02-101-4/+5
| | | | | | | | | | | | | | | - some internal const decorations - spacing
* | | Add "const" to many internalnijtmans2008-10-161-3/+3
| | | | | | | | | | | | | | | const tables. No functional or API change.
* | | fix [2021443] inconsistant "wrong # args" messagesnijtmans2008-07-191-3/+3
| | |
* | | more consistent wrong # arg messages: change all messages containing ↵nijtmans2008-07-131-2/+2
| | | | | | | | | | | | ?options? to the form ?-option value ...?
* | | * generic/tclStubLib.c (Tcl_InitStubs): Added missing error message.dgp2008-04-011-1/+3
|/ / | | | | | | * generic/tclPkg.c (Tcl_PkgInitStubsCheck):
* | merge stable branch onto HEADdgp2007-12-131-1/+1
| |
* | A little more errorCode goodnessdkf2007-11-211-4/+10
| |
* | More minor cleanupdkf2007-11-181-71/+77
| |
* | formattingdgp2007-09-191-9/+5
| |
* | * generic/tcl.h: Revised Tcl_InitStubs() to restore Tcl 8.4dgp2007-09-171-1/+45
| | | | | | | | | | | | * generic/tclPkg.c: source compatibility with callers of * generic/tclStubLib.c: Tcl_InitStubs(interp, TCL_VERSION, 1). [Bug 1578344].
* | * doc/package.n: Restored the functioning ofdgp2007-09-111-188/+57
| | | | | | | | | | * generic/tclPkg.c: [package require -exact] to be compatible * tests/pkg.test: with Tcl 8.4. [Bug 1578344].
* | * doc/package.n: Restored the document parallel syntax of thedgp2007-09-101-55/+35
| | | | | | | | | | * generic/tclPkg.c: [package present] and [package require] * tests/pkg.test: commands. [Bug 1723675]
* | Replaced commas in varargs with string concatenation where possible [Patch ↵Kevin B Kenny2007-04-201-4/+4
| | | | | | | | 1515234]
* | * generic/tclPkg.c: When no requirements are supplied to adgp2006-12-051-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | * tests/pkg.test: [package require $pkg] and [package unknown] is invoked to find a satisfying package, pass the requirement argument "0-" (which means all versions are acceptable). This permits a registered [package unknown] command to call [package vsatisfies $testVersion {*}$args] without any special handling of the empty $args case. This fixes/avoids a bug in [::tcl::tm::UnknownHandler] that was causing old TM versions to be provided in preference to newer TM versions. Thanks to Julian Noble for discovering the issue.
* | TIP#270 IMPLEMENTATIONdgp2006-11-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tcl.decls: New public routines Tcl_ObjPrintf, * generic/tclStringObj.c: Tcl_AppendObjToErrorInfo, Tcl_Format, * generic/tclInt.h: Tcl_AppendLimitedToObj, Tcl_AppendFormatToObj and Tcl_AppendPrintfToObj. Former internal versions removed. * generic/tclDecls.h: make genstubs * generic/tclStubInit.c: * generic/tclBasic.c: Updated callers. * generic/tclCkalloc.c: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclCompExpr.c: * generic/tclCompile.c: * generic/tclDictObj.c: * generic/tclExecute.c: * generic/tclIORChan.c: * generic/tclIOUtil.c: * generic/tclMain.c: * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclPkg.c: * generic/tclProc.c: * generic/tclStrToD.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c:
* | Rewrite for style and clarity (esp. tclPkg.c)dkf2006-11-081-393/+513
| |
* | * generic/tclBasic.c: Further revised TclAppendPrintToObj() anddgp2006-11-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCkalloc.c: TclObjPrintf() routines to panic when unable * generic/tclCmdAH.c: to complete their formatting operations, rather * generic/tclCmdIL.c: than report an error message. This means an * generic/tclCmdMZ.c: interp argument for error message recording is * generic/tclDictObj.c: no longer needed, further simplifying the * generic/tclExecute.c: interface for callers. * generic/tclIORChan.c: * generic/tclIOUtil.c: * generic/tclInt.h: * generic/tclMain.c: * generic/tclNamesp.c: * generic/tclParseExpr.c: * generic/tclPkg.c: * generic/tclProc.c: * generic/tclStringObj.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c:
* | * generic/tclBasic.c: Refactored and renamed the routinesdgp2006-10-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCkalloc.c: TclObjPrintf, TclFormatObj, and * generic/tclCmdAH.c: TclFormatToErrorInfo to a new set of * generic/tclCmdIL.c: routines TclAppendPrintfToObj, * generic/tclCmdMZ.c: TclAppendFormatToObj, TclObjPrintf, and * generic/tclDictObj.c: TclObjFormat, with the intent of making * generic/tclExecute.c: the latter list, plus TclAppendLimitedToObj * generic/tclIORChan.c: and TclAppendObjToErrorInfo, public via * generic/tclIOUtil.c: a revised TIP 270. * generic/tclInt.h: * generic/tclMain.c: * generic/tclNamesp.c: * generic/tclParseExpr.c: * generic/tclPkg.c: * generic/tclProc.c: * generic/tclStringObj.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c:
* | * generic/tclPkg.c (ExactRequirement): Plugged memory leak. Alsodgp2006-10-161-4/+5
| | | | | | | | | | changed Tcl_Alloc()/Tcl_Free() calls to ckalloc()/ckfree() for easier memory debugging in the future. [Bug 1568373]
* | * generic/tclPkg.c (Tcl_PackageRequireEx): Corrected crashdgp2006-10-111-8/+12
| | | | | | | | when argument version=NULL passed in.
* | * generic/tclPkg.c (CompareVersions): Bugfix. Check string lengthsandreas_kupries2006-09-281-9/+17
| | | | | | | | | | | | | | * tests/pkg.test: before comparison. The shorter string is the smaller number. Added testcases as well. Interestingly all existing test cases for vcompare compared numbers of the same length with each other. See [SF Tcl Bug 1563836].
* | * generic/tclPkg.c (CompareVersion): Flatten strcmp() results todgp2006-09-281-1/+2
| | | | | | | | {-1, 0, 1} to match expectations of CompareVersion() callers.
* | * tests/pkg.test: Added test for version comparison at the 32bitandreas_kupries2006-09-271-38/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | boundary. [SF Tcl Bug 1563836]. * generic/tclPkg.c: [SF Tcl Bug 1563836]. Rewrote CompareVersion to perform string comparison instead of numeric. This breaks through the 32bit limit on version numbers. See code for details (handling of leading zeros, signs, etc.). un-CONSTed some arguments of CompareVersions, RequirementSatisfied, and AllRequirementsSatisfied. The new compare modifies the string (temporary string terminators). All callers use heap-allocated ver-intreps, so we are good with that.
* | TIP#268 IMPLEMENTATIONandreas_kupries2006-09-221-130/+857
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclDecls.h: Regenerated from tcl.decls. * generic/tclStubInit.c: * doc/PkgRequire.3: Documentation of extended API, * doc/package.n: extended testsuite. * tests/pkg.test: * generic/tcl.decls: Implementation. * generic/tclBasic.c: * generic/tclConfig.c: * generic/tclInt.h: * generic/tclPkg.c: * generic/tclTest.c: * generic/tclTomMathInterface.c: * library/init.tcl: * library/package.tcl: * library/tm.tcl:
* | * generic/tclIOGT.c (ExecuteCallback):hobbs2006-08-301-3/+4
| | | | | | | | | | * generic/tclPkg.c (Tcl_PkgRequireEx): replace Tcl_GlobalEval(Obj) with more efficient Tcl_Eval(Obj)Ex
* | * generic/tclPkg.c: Corrected inconsistencies in the value returneddgp2005-11-081-14/+83
| | | | | | | | | | | | | | * tests/pkg.test: by Tcl_PkgRequire(Ex) so that the returned values will always agree with what is stored in the package database. This way repeated calls to Tcl_PkgRequire(Ex) have the same results. Thanks to Hemang Lavana. [Bug 1162286].