summaryrefslogtreecommitdiffstats
path: root/generic/tclParse.c
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclParse.c (Tcl_ParseCommand): add code that recognizeshobbs2005-10-041-15/+23
| | | | | {} in addition to {expand} for word expansion (make with -DALLOW_EMPTY_EXPAND).
* Systematizing the formattingdkf2005-07-211-808/+869
|
* Merged kennykb-numerics-branch back to the head; TIPs 132 and 232Kevin B Kenny2005-05-101-1/+1
|
* * doc/DString.3: Eliminated use of identifier "string" in Tcl'sdgp2005-05-031-35/+35
| | | | | | | | | | | | | * 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`
* * generic/tclBasic.c (Tcl_EvalEx): Restored recursion limitdgp2005-03-181-4/+11
| | | | | | | | * generic/tclParse.c (TclSubstTokens): testing in nested command * tests/basic.test (basic-46.4): substitutions within direct * tests/parse.test (parse-19.*): script evaluation (Tcl_EvalEx) that got lost in the parser reforms of Tcl 8.1. Added tests for correct behavior. [Bug 1115904]
* * generic/tclParse.c (Tcl_SubstObj): Fix for failed subst-12.3 test.dgp2004-10-261-2/+2
| | | | * tests/subst.test (subst-12.3-5): More tests for Bug 1036649.
* Braces round if bodies...dkf2004-10-061-2/+3
|
* * generic/tclParse.c (Tcl_SubstObj): leak fix by dgp, releaseMiguel Sofer2004-07-121-1/+2
| | | | result on error.
* Patch 922727 committed. Implements three changes:dgp2004-04-061-2/+1
| | | | | | | | | | | | | | | | | | | | | | | * 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):
* * generic/tclParse.c (TclParseInit): Modified TclParseInit sodgp2004-03-081-8/+5
| | | | | | * generic/tclTest.c ([testexprparser]): that Tcl_Parse initialization conforms to documented promised about what fields will not be modified by what Tcl_Parse* routines. [Bug 910595]
* * generic/tclInt.h (TclParseInit): Factored the common codedgp2004-03-041-15/+12
| | | | | * generic/tclParse.c (TclParseInit): for initializing a Tcl_Parse * generic/tclParseExpr.c: struct into one routine.
* * generic/tclParse.c (InitParse): Factored the common codedgp2004-03-041-45/+45
| | | | for initializing a Tcl_Parse struct into one routine.
* All uses of 'panic' (the macro) changeddavygrvy2003-12-241-2/+2
| | | | | | | to 'Tcl_Panic' (the function). The #define of panic in tcl.h clearly states it is deprecated in the comments. [Patch 865264]
* * generic/tclParse.c: Corrected faulty check for trailing whitedgp2003-11-241-2/+4
| | | | | space in {expand} parsing. Thanks Andreas Leitgeb. [Bug 848262]. * tests/parse.test: New tests for the bug.
* Added cast to suppress compiler warning.dgp2003-11-151-2/+2
|
* * doc/ParseCmd.3: Implementation of TIP 157. Adds recognitiondgp2003-11-141-4/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/Tcl.n: of the new leading {expand} syntax on words. * generic/tcl.h: Parses such words as the new Tcl_Token type * generic/tclBasic.c: TCL_TOKEN_EXPAND_WORD. Updated Tcl_EvalEx * generic/tclCompile.c: and the bytecode compiler/execution engine * generic/tclCompile.h: to recognize the new token type. New opcodes * generic/tclExecute.c: INST_LIST_VERIFY and INST_INVOKE_EXP and a new * generic/tclParse.c: operand type OPERAND_ULIST1 are defined. Docs * generic/tclTest.c: and tests are included. * tests/basic.test: * tests/compile.test: * tests/parse.test: * library/auto.tcl: Replaced several [eval]s used to perform * library/package.tcl: argument expansion with the new syntax. * library/safe.tcl: In the test files lindex.test and lset.test, * tests/cmdInfo.test: replaced use of [eval] to force direct * tests/encoding.test: string evaluation with use of [testevalex] * tests/execute.test: which more directly and robustly serves the * tests/fCmd.test: same purpose. * tests/http.test: * tests/init.test: * tests/interp.test: * tests/io.test: * tests/ioUtil.test: * tests/iogt.test: * tests/lindex.test: * tests/lset.test: * tests/namespace-old.test: * tests/namespace.test: * tests/pkg.test: * tests/pkgMkIndex.test: * tests/proc.test: * tests/reg.test: * tests/trace.test: * tests/upvar.test: * tests/winConsole.test: * tests/winFCmd.test:
* Typo fixdkf2003-11-021-2/+2
|
* * generic/tclParse.c (TclSubstTokens): Moved declaration ofdgp2003-04-021-2/+2
| | | | | | utfCharBytes to beginning of procedure so that it does not go out of scope (get free()d) while append is still pointing to it. [Bugs 703167, 713754]
* * generic/tclBasic.c (Tcl_EvalTokensStandard):dgp2003-03-131-8/+451
| | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCmdMZ.c (Tcl_SubstObj): * generic/tclCompCmds.c (TclCompileSwitchCmd): * generic/tclCompExpr.c (CompileSubExpr): * generic/tclCompile.c (TclSetByteCodeFromAny,TclCompileScript, TclCompileTokens,TclCompileCmdWord): * generic/tclCompile.h (TclCompileScript): * generic/tclExecute.c (TclCompEvalObj): * generic/tclInt.h (Interp,TCL_BRACKET_TERM,TclSubstTokens): * generic/tclParse.c (ParseTokens,Tcl_SubstObj,TclSubstTokens): * tests/subst.test (2.4, 8.7, 8.8, 11.4, 11.5): Substantial refactoring of Tcl_SubstObj to make use of the same parsing and substitution procedures as normal script evaluation. Tcl_SubstObj() moved to tclParse.c. New routine TclSubstTokens() created in tclParse.c which implements all substantial functioning of Tcl_EvalTokensStandard(). TclCompileScript() loses its "nested" argument, the Tcl_Interp struct loses its termOffset field and the TCL_BRACKET_TERM flag in the evalFlags field, all of which were only used (indirectly) by Tcl_SubstObj(). Tests subst-8.7,8.8,11.4,11.5 modified to accomodate the only behavior change: reporting of parse errors now takes precedence over [return] and [continue] exceptions. All other behavior should
* Don Porter's fix for bad parsing of nested scripts [Bug 681841].Miguel Sofer2003-02-161-3/+19
|
* * generic/tclParse.c (CommandComplete): more paranoid check tohobbs2003-02-111-2/+2
| | | | break on (p >= end) instead of just (p == end).
* * generic/tclParse.cMiguel Sofer2003-02-111-2/+2
| | | | * tests/parse.test: fix for [Bug 684744], by Don Porter.
* * doc/CmdCmplt.3: Applied Patch 585105 to fully CONST-ifydgp2002-08-051-352/+632
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/Concat.3: all remaining public interfaces of Tcl. * doc/CrtCommand.3: Notably, the parser no longer writes on * doc/CrtSlave.3: the string it is parsing, so it is no * doc/CrtTrace.3: longer necessary for Tcl_Eval() to be * doc/Eval.3: given a writable string. Also, the * doc/ExprLong.3: refactoring of the Tcl_*Var* routines * doc/LinkVar.3: by Miguel Sofer is included, so that the * doc/ParseCmd.3: "part1" argument for them no longer needs * doc/SetVar.3: to be writable either. * doc/TraceVar.3: * doc/UpVar.3: Compatibility support has been enhanced so * generic/tcl.decls that a #define of USE_NON_CONST will remove * generic/tcl.h all possible source incompatibilities with * generic/tclBasic.c the 8.3 version of the header file(s). * generic/tclCmdMZ.c The new #define of USE_COMPAT_CONST now does * generic/tclCompCmds.c what USE_NON_CONST used to do -- disable * generic/tclCompExpr.c only those new CONST's that introduce * generic/tclCompile.c irreconcilable incompatibilities. * generic/tclCompile.h * generic/tclDecls.h Several bugs are also fixed by this patch. * generic/tclEnv.c [Bugs 584051,580433] [Patches 585105,582429] * generic/tclEvent.c * generic/tclInt.decls * generic/tclInt.h * generic/tclIntDecls.h * generic/tclInterp.c * generic/tclLink.c * generic/tclObj.c * generic/tclParse.c * generic/tclParseExpr.c * generic/tclProc.c * generic/tclTest.c * generic/tclUtf.c * generic/tclUtil.c * generic/tclVar.c * mac/tclMacTest.c * tests/expr-old.test * tests/parseExpr.test * unix/tclUnixTest.c * unix/tclXtTest.c * win/tclWinTest.c
* Cleanup and simplificationdkf2002-07-191-26/+26
| | | | (file-vars are private, loops are not done when effects are unobservable)
* * generic/tclParse.c (Tcl_ParseVar): conditionally incr objhobbs2002-04-121-2/+10
| | | | refcount to prevent possible mem leak.
* * Updated APIs in generic/tclParse.c according to the guidelinesdgp2002-01-171-2/+2
| | | | of TIP 27. Updated callers.
* Code reorganisation: moving all eval functions from tclParse.c to tclBasic.cMiguel Sofer2001-11-191-905/+2
|
* Code reordering; execution levels made consistent [Bug 480896].Miguel Sofer2001-11-161-44/+44
|
* Patch for [TIP 56], [Bug: 219384] and [Bug: 455151]: deprecate the useMiguel Sofer2001-09-131-39/+94
| | | | of Tcl_EvalTokens, replaced by the new Tcl_EvalTokensStandard.
* Patch for bug #420507Miguel Sofer2001-05-031-2/+2
|
* * tests/subst.test: added tests for non-zero return code handlinghobbs2000-11-011-6/+42
| | | | | | by subst. * generic/tclParse.c (Tcl_EvalEx): corrected handling of non-zero, non-error return code cases for subst. [BUG: 119829]
* * generic/tclIOUtil.c: changed Tcl_Alloc to ckallochobbs1999-11-101-1/+36
| | | | | | | | | * generic/tclInt.h: * generic/tclObj.c: rolled back changes from 1999-10-29 Purify noted new leaks with that code * generic/tclParse.c: added code in Tcl_ParseBraces to test for possible unbalanced open brace in a comment
* * win/Makefile.in: Added COMPILE_DEBUG_FLAGS macro to make itstanton1999-08-121-1/+13
| | | | | | | | | easier to turn on compiler tracing. * tests/parse.test: * generic/tclParse.c: Fixed bug in Tcl_EvalEx where the termOffset was not being updated in cases where the evaluation returned a non TCL_OK error code. [Bug: 2535]
* * tclParse.c: fixed bug in info complete regarding nested squarehobbs1999-07-301-2/+5
| | | | brackets [Bug: 2382, 2466]
* Removed patch for bug 2382, for info complete.redman1999-07-231-3/+2
|
* Applied patch for info complete. [Bug: 2382]redman1999-07-221-2/+3
|
* Improved support for empty array nameswelch1999-07-021-3/+9
|
* * generic/tclParse.c (Tcl_ParseCommand): Changed to avoidstanton1999-05-041-4/+10
| | | | | modifying eval'ed strings that are already null terminated. [Bug: 1793]
* * Merged changes from 8.1.0 branchstanton1999-04-301-19/+12
|
* Resynced with mainline.rjohnson1999-04-211-1/+1
|
* merged the parse changes between TclPro1.2 and Tcl8.1. Fixed bug in Windows ↵surles1999-04-211-5/+18
| | | | makefile caused when the win/pkgIndex.tcl file was replaced
* merged tcl 8.1 branch back into the main trunkstanton1999-04-161-629/+1915
|
* Replaced SCCS strings, fixed binary filescore_8_0_3stanton1998-09-141-1/+1
|
* Initial revisionrjohnson1998-03-261-0/+938