summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* Fix [5019748c73]: FreeScan resp. Oldscan does not recognize positive time ↵jan.nijtmans2020-07-102-151/+120
|\ | | | | | | zone offset
| * Proposed fix for [5019748c73]: FreeScan resp. Oldscan does not recognize ↵jan.nijtmans2020-07-092-151/+120
| | | | | | | | positive time zone offset like "31 Jan 14 23:59:59 +0100"
* | 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-07-081-147/+131
|\
| * Merge 8.5jan.nijtmans2020-06-251-2/+2
| |\
| * \ merge zlib-chan-f70ce1fead, [f70ce1fead] - rewritten and optimized inflate:sebres2020-06-241-149/+133
| |\ \ | | | | | | | | | | | | | | | | default read ahead limit set to 4K (instead of 1); better SF/BO prevention; code simplification, no interim copy/move buffers, no decompression d-string, the inflate occurring in single step (ResultDecompress combines ResultGenerate and ResultCopy); better handling in non-blocking mode (also recognizes or distinguish no data/EAGAIN cases).
| | * | Added two tests demonstrating that the tickets [8af92dfb66] (bad stream ↵aku2020-06-231-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | expansion) and [f70ce1fead] (multi-stream decoding without readahead limit shenanigans) are fixed. Verified that the tests fail with commit [4eb66645d6], just before the zlib fixes. Tweaked the zlib manpage paragraphs about -limit. Tweaked some code comments. Fixed typos in description of two unrelated zlib tests.
| | * | code simplification, no interim copy/move buffers, no decompression ↵sebres2020-04-161-127/+103
| | | | | | | | | | | | | | | | d-string, the inflate occurring in single step (ResultDecompress combines ResultGenerate and ResultCopy); better handling in non-blocking mode (also recognizes or distinguish no data/EAGAIN cases)
| | * | small amend combining similar partssebres2020-04-161-20/+10
| | | |
| | * | zlib: optimize ZlibTransformInput, if inflate is done no read and no ↵sebres2020-04-161-25/+25
| | | | | | | | | | | | | | | | generate needed anymore
| | * | zlib: performance - set default read ahead limit to DEFAULT_BUFFER_SIZE ↵sebres2020-04-161-1/+4
| | | | | | | | | | | | | | | | (4K); better fix avoiding BO (replacement for [54605d16b9])
| | * | added (reworked) patch suggested by aku in [f70ce1fead]: recognize stream is ↵sebres2020-04-161-5/+21
| | | | | | | | | | | | | | | | done (and unget the unprocessed data back to input channel)
* | | | Merge 8.6jan.nijtmans2020-06-231-1/+1
|\ \ \ \ | |/ / /
| * | | avoid %pure-parser deprecation warning from Bison 3.4jan.nijtmans2020-06-232-4/+4
| | | |
* | | | re-generate with bison 3.1jan.nijtmans2020-06-231-109/+206
| | | |
* | | | Merge 8.6. re-generate tclParse.cjan.nijtmans2020-06-233-1103/+1003
|\ \ \ \ | |/ / /
| * | | Backport some changes in tclGetDate.y from 8.7.jan.nijtmans2020-06-232-982/+984
| | | |
| * | | 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)
* | | | clock-iso-2.patchjan.nijtmans2020-05-272-61/+65
| | | |
* | | | Proposed soution for [a1bd37b719]: clock (free)scan of ISO 8601 timestamp ↵jan.nijtmans2020-05-272-58/+86
|/ / / | | | | | | | | | | | | with literal T behaves strange (I like it!)
* | | Fix compiled "string is <class>" for TCL_UTF_MAX=4 build, for characters > ↵jan.nijtmans2020-05-253-3/+23
| | | | | | | | | | | | U+FFFF.
* | | Tiny fix for TCL_UTF_MAX=4 build only: Since Tcl_UtfNext() verifies 4 bytes ↵jan.nijtmans2020-05-181-1/+1
| | | | | | | | | | | | for lead bytes F0-F5, Tcl_UtfCharComplete() should guarantee that those 4 bytes are available, not 3.
* | | In some places, Tcl_UtfPrev()/Tcl_UtfNext() is used traversing the ↵jan.nijtmans2020-05-149-169/+163
|\ \ \ | | | | | | | | | | | | | | | | | | | | individual bytes of a string searching for '(', ')', '::' or other single bytes. It is overkill to use Tcl_UtfPrev/Tcl_UtfNext for that, since those characters can only appear as their ASCII byte, not as any other sequence. This effectively removes the last Tcl_UtfNext() call from the core, the only ones left are in tclTest.c for test commands. So the TclUtfNext() macro doesn't make sense any more. Remove "register" keyword from many files.
| * | | In some places, Tcl_UtfPrev()/Tcl_UtfNext() is used traversing the ↵jan.nijtmans2020-05-132-8/+7
| | | | | | | | | | | | | | | | individual bytes of a string searching for '(', ')', '::' or other single bytes. It is overkill to use Tcl_UtfPrev/Tcl_UtfNext for that, since those characters can only appear as their ASCII byte, not as any other sequence.
* | | | Fix [ed29806baf]: Tcl_UtfToUniChar reads more than TCL_UTF_MAX bytesjan.nijtmans2020-05-131-25/+11
|\ \ \ \ | |/ / / |/| | |
| * | | Merge testcase cleanup. Make Tcl_UtfPrev() behave the same for any ↵jan.nijtmans2020-05-121-4/+4
| |\ \ \ | | | | | | | | | | | | | | | TCL_UTF_MAX value, since we didn't figure out yet how it should behave for TCL_UTF_MAX>3.
| * | | | Fix "knownBug" utf-4.11. Turns out a few other testcases where still not ↵jan.nijtmans2020-05-121-23/+5
| | | | | | | | | | | | | | | | | | | | correct, now they are. Make next/prev behavior the same for all TCL_UTF_MAX values, since the exact behavior for TCL_UTF_MAX>3 should be worked out further for Tcl 8.7 first, then everything agreed upon can be backported.
| * | | | Merge 8.6. Mark testcase utf-4.11 as "knownBug": this one still doesn't give ↵jan.nijtmans2020-05-115-43/+66
| |\ \ \ \ | | |/ / / | | | | | | | | | | the right answer. Add testcase 4.14 with similar corner-case, this one is OK.
* | | | | One Tcl_UtfPrev() -> TclUtfPrev() change. Just a little bit cheaper.jan.nijtmans2020-05-131-1/+1
| | | | |
* | | | | Revert implementation of Tcl_UniCharAtIndex() change done in this commit: ↵jan.nijtmans2020-05-121-1/+3
| |/ / / |/| | | | | | | | | | | | | | | [6596c4af31e29b5d]. Just look at the Tcl_UtfAtIndex() implementation for TCL_UTF_MAX=4: It's not the same. There are no test-cases for Tcl_UniCharAtIndex(), see [f45d0dc1a7], not really worth to write one, since the implementation of this function didn't change in 20 years.
* | | | Fix [d402ffe76]: Win32 potential crash when using main(). Thanks to ↵jan.nijtmans2020-05-111-0/+11
| | | | | | | | | | | | | | | | Christian Werner for the Bug report and the Fix.
* | | | Tweak the Tcl_UtfPrev() implementation for TCL_UTF_MAX=4. This fixes 10 ↵jan.nijtmans2020-05-111-1/+1
| | | | | | | | | | | | | | | | testcases in 4 groups (utf-7.10, utf-7.15, utf-7.40 and utf-7.48) , where Tcl_UtfPrev() didn't jump to the beginning of the UTF-8 character, even though there was no limitation which prevented that. So, this is actually a bug-fix for the TIP #389 implementation.
* | | | occurance -> occurrence.jan.nijtmans2020-05-113-6/+6
| | | |
* | | | Tweak Invalid() function: No need for "return 0" twice in the function. jan.nijtmans2020-05-101-8/+31
| | | | | | | | | | | | For start bytes F0-F4, case TCL_UTF_MAX=4, Tcl_UtfToUniChar() reads 3 bytes but only advances 1 byte. So Tcl_UtfCharComplete() must make sure 3 bytes are available, not 1. Adapt Tcl_UtfCharComplete() accordingly. No change for TCL_UTF_MAX=[3|6]
* | | | Rebase to latest core-8-6-branch.jan.nijtmans2020-05-081-26/+12
|\ \ \ \
| * \ \ \ Merge changes from parent branchdgp2020-05-071-14/+16
| |\ \ \ \ | | |/ / /
| | * | | Merge 8.6jan.nijtmans2020-05-071-19/+21
| | |\ \ \
| * | | | | New approach to fixing the regression reported in [31aa44375d] builds ondgp2020-05-071-17/+3
| |/ / / / | | | | | | | | | | recent reforms. Older efforts aborted.
| * | | | Merge 8.6. Some more tweaks to Tcl_UtfPrev(), so it cannot jump back 4 bytes ↵jan.nijtmans2020-05-0710-115/+146
| |\ \ \ \ | | | | | | | | | | | | | | | | | | in "utf16" build any more.
| * | | | | Add 4 test-cases that could fool Tcl_UtfPrev (but ... actually they don't).jan.nijtmans2020-05-051-1/+1
| | | | | | | | | | | | | | | | | | Make sure that Tcl_UtfPrev() never reads more than 3 trail bytes (or 4 when TCL_UTF_MAX > 4). Those are the same limits as for Tcl_UtfNext() and Tcl_UtfToUniChar()
| * | | | | Merge 8.6jan.nijtmans2020-05-051-1/+1
| |\ \ \ \ \
| * | | | | | More progress/simplificationjan.nijtmans2020-05-041-21/+2
| | | | | | |
| * | | | | | Merge 8.6jan.nijtmans2020-05-045-11/+91
| |\ \ \ \ \ \
| * \ \ \ \ \ \ Merge 8.6jan.nijtmans2020-05-042-14/+10
| |\ \ \ \ \ \ \
| * \ \ \ \ \ \ \ Merge 8.6jan.nijtmans2020-05-035-41/+77
| |\ \ \ \ \ \ \ \
| * | | | | | | | | Seems almost correct. Still problem with "string index" for TCL_UTF_MAX>3jan.nijtmans2020-05-021-15/+10
| | | | | | | | | |
| * | | | | | | | | More fixes for [ed29806baf]. Not working yet. WIPjan.nijtmans2020-05-023-19/+48
| | | | | | | | | |
* | | | | | | | | | Merge 8.5jan.nijtmans2020-05-081-4/+4
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ / / |/| | | | | | | / / | | |_|_|_|_|_|/ / | |/| | | | | | |
| * | | | | | | | More test-case cleanup. Enhance "testutfnext", so it can detect whether ↵jan.nijtmans2020-05-081-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bytes after the string-end are read. The command will return -1 in that case. No need for additional arguments any more.