summaryrefslogtreecommitdiffstats
path: root/generic/tclParse.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge 8.6jan.nijtmans2020-09-011-1/+1
|\
| * Many more internal master/slave -> parent/child renamingsjan.nijtmans2020-09-011-1/+1
| |
| * Addendum to [60fab362ce]: "Also don't allow surrogates in \U??????". This ↵jan.nijtmans2020-07-101-0/+2
| | | | | | | | change was only meant for builds with TCL_UTF_MAX > 3.
* | Merge 8.6jan.nijtmans2020-06-041-19/+16
|\ \ | |/
| * merge 8.5sebres2020-06-021-19/+16
| |\
| | * avoid segfault if Tcl_FreeParse, if parse structure remains uninitialized ↵sebres2020-06-021-19/+16
| | | | | | | | | | | | (parse.tokenPtr may be used uninitialized, for instance it returns from Tcl_ParseCommand etc with error before TclParseInit gets called)
* | | Merge 8.6jan.nijtmans2020-05-061-1/+1
|\ \ \ | |/ /
| * | Merge 8.5. More usage of UCHAR() macro.jan.nijtmans2020-05-061-1/+1
| |\ \ | | |/
| * | Re-join utf-6.93.0 and utf-6.93.1 (please disregard comment in previous ↵jan.nijtmans2020-05-031-13/+10
| | | | | | | | | | | | | | | commit, it was not correct). Perfectionalize TclUtfToUCS4()/TclUCS4Complete() and new (internal) function TclUCS4ToUtf(). They can help preventing bugs regarding splitting/joining surrogates. Used them in a few more places.
* | | Merge 8.6jan.nijtmans2020-04-281-2/+2
|\ \ \ | |/ /
| * | Merge 8.5jan.nijtmans2020-04-281-2/+2
| |\ \ | | |/
| | * Fix [b6038e5bc8]: mis-parse of surrogate pair escapes. Thanks Don!jan.nijtmans2020-04-281-2/+2
| | |\
| | | * Proposed fix.dgp2020-04-281-2/+2
| |_|/ |/| |
| * | Merge 8.5jan.nijtmans2020-04-281-3/+3
| |\ \ | | |/
| | * Backport parsing of surrogate-pair change from 8.6 (only for TCL_UTF_MAX=4)jan.nijtmans2020-04-281-3/+15
| | | | | | | | | Adapt test-cases accordingly. Renumber and split testcases, making the numbering more equal to the numbering in 8.6/8.7/9.0
* | | Merge 8.6 (Except encoding-12.6 test-case still to be handled)jan.nijtmans2020-04-241-6/+8
|\ \ \ | |/ /
| * | Merge from 8.5. Failing tests encoding-12.6, reg-13.3[34] appear to be realdgp2020-04-241-6/+8
| |\ \ | | |/ | | | failures reporting first contact with tests and code.
| | * Add protections against overflow in Unicode values. Backported from 8.6. ↵jan.nijtmans2020-04-241-64/+88
| | | | | | | | | | | | Also remove some out-of-date comments.
* | | Merge 8.6jan.nijtmans2020-04-141-1/+1
|\ \ \ | |/ /
| * | Merge 8.5. Failing tests highlight ticket [1b1f5f0b53].dgp2020-04-131-1/+1
| |\ \ | | |/
| | * Guarantee TclNeedSpace and TclFindElement have common definition of whitespacedgp2020-04-091-1/+1
| | | | | | | | | | | | by having both call the same routine. Create a macro form to contain performance costs and adapt callers.
* | | Merge 8.6jan.nijtmans2020-03-181-1/+1
|\ \ \ | |/ /
| * | More uppercase HEX representations in source-code.jan.nijtmans2020-03-181-1/+1
| | |
* | | Merge 8.7jan.nijtmans2020-02-131-1/+1
|\ \ \
| * \ \ Merge 8.7jan.nijtmans2019-12-031-5/+18
| |\ \ \
| * | | | Merge 8.7jan.nijtmans2019-11-151-1/+1
| | | | |
* | | | | Merge 8.7jan.nijtmans2019-12-031-5/+18
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | Merge 8.6jan.nijtmans2019-12-031-8/+13
| |\ \ \ \ | | | |/ / | | |/| |
| | * | | Fix [3cd9bea1e6]: check-in [43032d7ba3] potential problems. Also don't allow ↵jan.nijtmans2019-12-031-8/+13
| | | | | | | | | | | | | | | | | | | | surrogates in \U?????? syntax.
| * | | | Merge 8.6jan.nijtmans2019-12-021-0/+8
| |\ \ \ \ | | |/ / / | | | / / | | |/ / | |/| |
| | * | If TCL_UTF_MAX>=4, make Tcl_ParseBackslash combine two surrogates so they ↵jan.nijtmans2019-12-021-0/+10
| | | | | | | | | | | | | | | | appear as one 4-byte UTF-8 byte sequence from the start. Add test-case for this.
| | * | Backport [bd94500678e837d7] from 8.7, preventing endless loops in UTF-8 ↵jan.nijtmans2019-03-021-4/+4
| | | | | | | | | | | | | | | | conversions when handling surrogates. Only effective when compiling with -DTCL_UTF_MAX=4|6 (default: 3). Meant for benefit of Androwish.
* | | | Merge tip-548jan.nijtmans2019-08-151-22/+22
|\ \ \ \ | |/ / /
| * | | Merge 8.7jan.nijtmans2019-08-141-2/+1
| |\ \ \
| * | | | Eliminate "register" keyword _everywhere_ in Tcl. This keyword is deprecated ↵jan.nijtmans2019-07-171-22/+22
| | | | | | | | | | | | | | | | | | | | in C++ (removed in C++17, even), and essentially does nothing with most modern compilers.
* | | | | Merge tip-548 (since using the *WChar* functions leads to less type-casts in ↵jan.nijtmans2019-08-031-2/+1
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | c++) Als finish implementaton for MacOSX
| * | | | Document that the *Backslash parsing functions output maximum 4 bytes, ↵jan.nijtmans2019-08-021-2/+1
| |/ / / | | | | | | | | | | | | | | | | irrespectable of the TCL_UTF_MAX setting: It could be 4 for the "\Uxxxxxx" construct, but never more. Move <stddef.h> and <locale.h> to tclInt.h, so the can be removed from various other places.
* | | | Merge 8.7, and continue implementation. Almost donejan.nijtmans2019-07-101-2/+2
|\ \ \ \ | |/ / /
* | | | Experiment: compile Tcl with C++ compiler. WIPjan.nijtmans2019-07-041-3/+3
|/ / /
* | | Make all internal small buffer related to Tcl_UtfBackslash() length 4, not ↵jan.nijtmans2019-03-241-2/+2
| | | | | | | | | | | | | | | TCL_UTF_MAX: For TCL_UTF_MAX=6 it was overkill, for TCL_UTF_MAX=3 not enough. Prove that this works by adding a Travis CI build configuration using TCL_UTF_MAX=3
* | | Fix [bd94500678e837d7]: SEGFAULT by conversion of unicode (out of BMP) to ↵jan.nijtmans2019-02-271-4/+4
|\ \ \ | | | | | | | | | | | | byte-array
| * | | Finish complete fix, all corner-cases correct now. Also spurious UTF-8 ↵jan.nijtmans2019-02-251-2/+2
| | | | | | | | | | | | | | | | testcase failure (as seen on travis) fixed now.
| * | | Minor optimizationsjan.nijtmans2019-02-191-3/+3
| | | |
* | | | More use of (efficient) TclHasIntRep() macro. Also eliminate many (size_t) ↵jan.nijtmans2019-02-271-1/+1
| | | | | | | | | | | | | | | | and (unsigned) type-casts, which don't make sense any more.
* | | | Merge 8.6jan.nijtmans2019-02-191-1/+1
|\ \ \ \ | |/ / / |/| / / | |/ /
* | | Merge 8.6. Also reduce tclCharTypeTable[] to 256 entries, as this table is ↵jan.nijtmans2019-01-261-44/+3
|\ \ \ | |/ / | | | | | | | | | always addressed with unsigned chars now. Eliminate some useless end-of-line spacing that slipped in.
| * | Replace isspace() -> TclIsSpaceProc() _everywhere_. jan.nijtmans2019-01-261-2/+2
| | | | | | | | | Change TclIsSpaceProc() and TclIsBareWord so it works with both signed and unsigned characters. Actually, this is not a signature change, as "char" arguments are enlarged to "int" by the C-compiler anyway.
* | | comment typo'sjan.nijtmans2018-11-241-3/+3
| | |
* | | Fix "string tolower" and friends for handling unpaired surrogates correctly. ↵jan.nijtmans2018-06-241-0/+1
| | | | | | | | | | | | | | | Also add test-cases for those situations. Various typo's in comments.
* | | Merge 8.6. And add more documentation and test-cases regarding the behavior ↵jan.nijtmans2018-06-181-6/+4
|\ \ \ | |/ / | | | | | | of Tcl_UniCharToUtf()