summaryrefslogtreecommitdiffstats
path: root/generic/tclParse.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge 8.7jan.nijtmans2020-12-131-2/+2
|\
| * Add -finput-charset=UTF-8 and -fextended-identifiers to gcc (and clang). All ↵jan.nijtmans2020-12-081-2/+2
| | | | | | | | C sources can now use UTF-8, as far as gcc/clang/msvc support it. Not used yet
| * More usage of TclUtfToUCS4/TclUniCharToUCS4 in stead of it's UniChar ↵jan.nijtmans2020-11-181-5/+5
| | | | | | | | variants: This handles surrogate pairs better.
* | Merge 8.7jan.nijtmans2020-10-141-22/+19
|\ \ | |/
| * Merge 8.6. Don't inline functions which are too big to be inlined (according ↵jan.nijtmans2020-10-091-2/+2
| |\ | | | | | | | | | to the -Winline compiler flag)
| * \ 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)
* | | | First, experimental implementation of TIP #575. Barely tested, will fail. WIPjan.nijtmans2020-05-121-4/+4
|/ / /
* | | 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.