dgp
9befca04cc
Make simplificiations possible when we know just bytes are getting copied
...
without complications of encodings
2014-08-21 04:13:35 +00:00
dgp
d8f1034a21
Copy Write() to WriteBytes() to create an arena for performance hacking.
2014-08-20 21:44:31 +00:00
andreask
ce04ed5ad3
Fix reviewed and accepted.
2014-08-20 18:59:31 +00:00
dgp
eda831ff7e
Make test io-36.1.1 more portable.
2014-08-20 18:40:07 +00:00
dgp
bc9dca8ca6
Docs for Tcl_CreateChannelHandler() state that the registered handler proc
...
will be called back with a mask value. "Mask is an integer mask indicating
which of the requested conditions actually exists for the channel; it will
contain ***a subset of the bits from the mask argument*** to
Tcl_CreateChannelHandler when the handler was created." (emhpasis added).
Tcl_NotifyChannel is not honoring this. It passes a mask value that may
contain bits not in common with the mask argument to T_CCH().
This commit is a one-liner patch adding in the masking step to make things
behave as documented. Thanks to apn for digging this out. (In combination
with other questionable code, this led to a hang in test http-4.6 on Windows)
Tcl_NotifyChannel() has had this error in all of recorded Tcl history.
It's hard to imagine any code dependent on it though. If any exists, it
can be revised to pass the mask value it truly needs to T_CCH() and end up
with code suitable both before and after this change.
If you concur, please merge to core-8-5-branch, and I'll take it from there.
2014-08-20 17:50:41 +00:00
jan.nijtmans
71f6f450b2
[74e073599e5e7c5eb535e2f60f1b06feb468eaae|74e073599e]: tclsh is using old style dialogs when Tk is loaded on Windows
2014-08-20 11:13:29 +00:00
jan.nijtmans
e4a9f37030
Put back SystemV timezone files, which were removed in previous commit. Don't know if that was by accident, but seems unwise in a Tcl patch release.
2014-08-13 09:04:55 +00:00
Kevin B Kenny
ac5fa7c959
tzdata2014f from ietf.org
2014-08-13 01:42:17 +00:00
dgp
c93483448e
Accommodate the "udp" package, and any other Tcl package that expects a
...
[read] on a channel @ EOF to attempt another pass through the channel drivers
instead of immediately returning an empty string. Correcting this misbehavior
appears too disruptive in a patch release to a long stable branch.
2014-08-12 15:28:09 +00:00
dgp
67fcf44a82
Add tclsh.exe.manifest.in to the distribution.
2014-08-04 13:35:06 +00:00
dgp
592bd0b065
Another Preserve/Release on channels is needed during IO finalization.
2014-08-02 04:25:27 +00:00
andreask
0b7630c23f
Updated package "platform" to version 1.0.13. Separated the
...
identifiers "macosx*-i386-x86_64" and "macosx-universal" as
incompatible with each other.
Plus addition of a cast in tclIO.c to match types in a comparison
which otherwise bugs a Windows debug build (warnings are errors).
2014-08-01 18:36:50 +00:00
dgp
bed95cfaf7
Backport the cheaper Preserve/Release on channels.
2014-08-01 17:16:35 +00:00
dgp
fd5a54c8dd
Complete transformation off Tcl_Preserve() legacy onto ref counting.
2014-07-30 02:58:27 +00:00
dgp
d9ab63098e
Reduce the cost of Preserve/Release on channels
2014-07-30 00:22:33 +00:00
dgp
2cbe892d48
[3757cdf808] Refactoring seems to reduce (maybe somewhat kinda sorta) a
...
bizarre performance regression. Still not what it was. Damn Heisenbugs.
2014-07-29 00:22:32 +00:00
dgp
c6eb718dfd
An alternative implementation of [chan copy] that operates in precisely
...
those circumstances where the incumbent implementation is known to perform
a byte-for-byte copy from input channel to output channel.
In that case, the new implementation ceases the activity of copying every
byte from buffer to buffer to buffer to buffer to effect the copy. Instead
it arranges for the very same buffer the input channel read driver read into
to be the buffer the output channel write driver writes out from. No data
copying (or even examining) at all. When the proper conditions apply, this
ought to be noticeably faster.
2014-07-28 02:06:53 +00:00
dgp
a1bd6bc434
merge trunk
2014-07-28 01:53:01 +00:00
dgp
51be2107ea
Revise MBRead() to be used in both sync and async modes.
2014-07-28 01:42:42 +00:00
dgp
cf106cdda6
Push MBWrite() differences out to callers.
2014-07-27 22:53:01 +00:00
jan.nijtmans
e98326383b
merge-mark
2014-07-27 22:47:48 +00:00
jan.nijtmans
1db9d005b6
correct EOLFIX macro, broken by [a803608ed5]
2014-07-27 22:44:36 +00:00
dgp
3eb6318d9b
Rework MBWrite() so it can be used in both sync and async modes.
...
Reduce code duplication.
2014-07-27 17:20:32 +00:00
dgp
19d6bd367d
Use common MBError() routine for sync and async operations.
2014-07-26 15:44:32 +00:00
dgp
7f4563705c
Extend the "move buffer" implementation to cover the async case.
2014-07-26 15:02:09 +00:00
dgp
b627af851c
merge trunk
2014-07-24 17:19:28 +00:00
dgp
ef647d7ccd
[9d19af7adb] Make sure all timer events get canceled.
2014-07-24 17:17:41 +00:00
dgp
0a9367fbc9
simplify moveBytes selection logic
2014-07-24 15:34:05 +00:00
dgp
841ecebfa5
Make sure MoveBytes error reporting reproduces what CopyData does. Bugward compatibility!
2014-07-24 15:24:11 +00:00
dgp
b3bdbd342b
merge trunk
2014-07-24 15:17:55 +00:00
dgp
bfe912517c
Test format of write error messages during binary [chan copy]
2014-07-24 15:17:19 +00:00
dgp
97d74c549d
Make sure MoveBytes records read error messages.
2014-07-24 15:02:09 +00:00
dgp
595290e064
merge trunk
2014-07-24 15:01:16 +00:00
dgp
631849ea86
Test read error during binary [chan copy].
2014-07-24 15:00:07 +00:00
dgp
213c040089
Extend the buffer move optimization to the "same encodings" case.
2014-07-23 17:10:26 +00:00
dgp
df7b610caf
merge trunk
2014-07-22 20:27:59 +00:00
dgp
2ad2aba317
Workaround [info frame] troubles with -singleproc 1 testing operations.
2014-07-22 19:57:51 +00:00
dgp
5eaa219754
Avoid [thread::exit]; Using it leads to memleaks.
2014-07-22 18:12:27 +00:00
dgp
2c10c359b5
[12b0997ce7] Plug memleak in iocmd.tf-32.0 .
2014-07-22 17:04:15 +00:00
dgp
bfab4c718b
[12b0997ce7] Plug memleak in iocmd.tf-32.0 .
2014-07-22 16:44:38 +00:00
dgp
d19b7190cb
[e6477e1b0f] Plug memleak in AtForkChild() detected in iocmd-11.4.
2014-07-21 14:26:56 +00:00
dgp
97d610fbfe
[75b8433707] Revised fix for memleak in oo instance list management.
2014-07-19 16:35:59 +00:00
dkf
4e4b5a7e53
[75b8433707] Plug a subtle memory leak in TclOO.
...
Test suite very unhappy with this. Shoving into
a mistake branch until that's sorted.
2014-07-18 22:05:16 +00:00
dkf
6cd3ffa246
[b43f2b49f7] New compilation strategy for lappend that allows multi-value
...
lappend to not have quadratic performance (through better reference management).
2014-07-18 12:18:44 +00:00
jan.nijtmans
d2d54ff3de
Finally, use correct octal notation which works in Tcl 9 as well.
2014-07-17 18:43:55 +00:00
jan.nijtmans
eaf423b505
merge fork
2014-07-17 17:52:27 +00:00
dgp
f345a78f27
Revised fix for memleak in [info frame]. Still pretty ugly, but not more
...
so than a lot of TIP 280 machinery.
2014-07-17 15:48:59 +00:00
jan.nijtmans
5203cce0e0
Convert TesteventloopCmd and TestchmodCmd to Tcl_Obj-API form.
2014-07-17 15:15:28 +00:00
jan.nijtmans
f07fe1c911
Make sure that all "testchmod" arguments start with '0', making it more obvious that the value is octal.
...
dgp: Isn't the better way to make it obvious the values
are octal to use the explicit octal notation?
For example, [testchmod 0o777 $path] ?
Really seems like a bad idea to me to introduce *more*
incompatibilities for the planned conversion for
having the value 0777 stop meaning 255 and start
meaning 777 in Tcl 9.
Answer (Jan). You guessed exactly what's my follow-up plan. This was an intermediate step which keeps all test-cases running.
2014-07-17 14:08:30 +00:00
jan.nijtmans
7571df843a
Fix [3cdcfa40809ffd2b9d3d71f77dc57da615243730|3cdcfa4080]: tclWinFile.c does not compile with Win VC6
2014-07-17 11:02:03 +00:00
jan.nijtmans
f7c255fa17
Convert some non-ASCII characters in testcase comments - which were mangled by my editor in [79ace7b793] - to valid UTF-8: This way my editor will not mangle them again, and fossil will show in the UI which characters are supposed to be there.
2014-07-17 07:39:00 +00:00
dgp
07d1de7a4f
[9969cf8ca6] Move the bailout when the ->rewind flag is set down after all
...
the housekeeping matters tearing down frames (trace data) is complete.
2014-07-17 04:24:23 +00:00
dgp
d586b47d44
Backout checkin that broke test io-39.1.
2014-07-16 23:58:54 +00:00
dgp
b58f928be5
Repair improper assertion.
2014-07-16 22:01:57 +00:00
dgp
6f05041d3f
Assert an equality test, not an assignment
2014-07-16 21:48:18 +00:00
dgp
0d27a4b905
Assert an equality test, not an assignment.
2014-07-16 21:46:30 +00:00
dgp
4870917293
[6a2d339e50] Plug memleak in INST_STR_REPLACE instruction.
2014-07-16 15:59:00 +00:00
jan.nijtmans
1797998aed
Modify the "gettimes" test-command to use the Tcl_Obj API.
...
New "testbytestring" command which can be used to replace the (to-be-deprecated) "bytestring" command from tcltest and/or the "indentity" encoding.
Adapt many testcases to use the "testbytestring" command.
2014-07-16 10:02:02 +00:00
dgp
0fac79a0fb
[726349fab8] Stop leaking compression dictionary on zlib xform channel close.
2014-07-15 15:10:32 +00:00
dgp
8825fb59d7
Suppress valgrind warnings about uninitialized values.
2014-07-11 20:40:24 +00:00
dgp
5af71fcbff
[1211aceef2] Fix refcount management of TclpTempFileName() that caused leak.
2014-07-11 18:20:42 +00:00
dgp
431189b805
[9b352768e6] Plug memleak in INST_DICT_FIRST.
2014-07-11 15:44:42 +00:00
dgp
4822b65c03
Stop memleak in [info frame].
2014-07-11 12:56:16 +00:00
jan.nijtmans
b58baa4ff6
Starting with Unicode 6.3, the mongolian vowel separator (U+180e) is no longer a whitespace, but for Tcl it still is.
...
Update documentation accordingly, and extend test-cases for Unicode 7 compliance.
2014-07-11 10:43:15 +00:00
jan.nijtmans
0a0d095f20
Starting with Unicode 6.3, the mongolian vowel separator (U+180e) is no longer a whitespace, but for Tcl it still is.
...
"NEL/Next Line" (U+0085) should have been a Unicode whitespace, but never was in Tcl. This is corrected in Tcl 8.6, but for legacy reasons not in Tcl 8.5.
Update documentation accordingly, and extend test-cases for Unicode 7 compliance.
2014-07-11 10:38:55 +00:00
dgp
dbed3f8089
[3479689] Plug memory leak due to incomplete bug fix.
2014-07-11 04:49:49 +00:00
dgp
d6605e9057
makeFile / removeFile balance.
2014-07-10 18:17:28 +00:00
dgp
0992240c65
makeFile / removeFile balance
2014-07-10 18:11:39 +00:00
dgp
0e96637923
dup test name
2014-07-10 18:02:45 +00:00
dgp
8fd7a48012
dup test name
2014-07-10 18:00:42 +00:00
dgp
b406c00842
[f652ae79ed] Close sockets used in tests, so as not to corrupt other
...
tests in the suite.
2014-07-10 17:21:23 +00:00
dgp
31eb3eebb7
[7368d225a6] Extend the auto-cleanup of zero ref count values passed in to
...
the Tcl_*SetVar*() family of routines to cover the missing case where the
flags value of TCL_APPEND_VALUE is passed in alone.
*** POTENTIAL INCOMAPTIBILITY***
2014-07-10 16:40:30 +00:00
dgp
b81d871afb
[7368d225a6] Extend the auto-cleanup of zero ref count values passed in
...
to the Tcl_*SetVar*() family of routines to cover the missing case where
the flags value of TCL_APPEND_VALUE is passed in alone.
*** POTENTIAL INCOMAPTIBILITY***
2014-07-10 15:45:32 +00:00
dgp
cf1f2fb61e
Repair buffer indexing error in Tcl_ReadRaw().
2014-07-10 12:59:24 +00:00
dgp
61f8119019
Repair buffer indexing error in Tcl_ReadRaw() exposed by iogt-6.0 and valgrind.
2014-07-10 12:52:10 +00:00
jan.nijtmans
a072994389
Don't use Tcl_GetCommandInfo when Tcl_FindCommand suffices.
2014-07-09 18:49:38 +00:00
dgp
da31ff7eb8
First draft of using buffer moves in place of buffer copies to create an
...
efficient [chan copy].
2014-07-09 14:44:13 +00:00
dgp
d5ffff6214
The write and flush operations of reflected transforms ([chan push]) have
...
been converting all lower level channel errors from Tcl_WriteRaw() into
EINVAL. Generally this is a perplexing discard of useful information, but
worse it interferes with the EAGAIN signalling that is required to manage
the BLOCKED state of a nonblocking channel. Thanks to aspect for demo
scripts that pointed to the bug.
2014-07-08 13:45:09 +00:00
jan.nijtmans
e1b54e0e11
Update Unicode tables to Unicode 7.0
2014-07-04 12:49:40 +00:00
jan.nijtmans
53df9e36da
Update Unicode tables to Unicode 7.0
2014-07-04 12:47:21 +00:00
dgp
8d68951021
Clarify http::config and http::geturl -headers roles in setting request headers.
2014-07-02 20:22:43 +00:00
dgp
4b4b642fe6
[c31ca233ca] Fix TclGetsObjBinary() so that each [gets] rediscovers whether
...
a nonblocking channel is blocked.
2014-07-02 16:30:41 +00:00
dgp
0cf246c174
[c31ca233ca] Fix TclGetsObjBinary() so that each [gets] rediscovers whether
...
a nonblocking channel is blocked.
2014-07-02 16:20:30 +00:00
dgp
ee896008d0
Fix mismatch of Tcl_Preserve() / Tcl_Release().
2014-06-26 16:01:05 +00:00
dgp
6bc046c0bc
Fix mismatch of Tcl_Preserve() / Tcl_Release().
2014-06-26 15:59:27 +00:00
dgp
58f92b6316
Simplify / refactor Tcl_ReadRaw(). No need for CopyBuffer().
2014-06-24 16:46:12 +00:00
dgp
ddeb3ab35c
Simplify / refactor Tcl_ReadRaw(). No need for CopyBuffer().
2014-06-24 16:34:05 +00:00
jan.nijtmans
0d9a8edf22
Fix execute-6.5 test failure on trunk: the "preserveCore" part of tcltest::test assumes that the cleanup is done first, so moving the cleanup means the the "preserverCore" part needs to move with it.
2014-06-23 12:49:41 +00:00
jan.nijtmans
6ab9c80ea1
Fix execute-6.5 test failure on trunk: the "preserveCore" part of tcltest::test assumes that the cleanup is done first, so moving the cleanup means the the "preserverCore" part needs to move with it.
2014-06-23 12:48:16 +00:00
jan.nijtmans
aa6f0b1cab
ticket [2f9df4c4fa]: tcltest - request to move -cleanup script execution until after -output compare.
...
tcltest -> version 2.3.8
2014-06-22 16:17:12 +00:00
jan.nijtmans
c7510fa5b9
ticket [2f9df4c4fa]: tcltest - request to move -cleanup script execution until after -output compare
...
tcltest -> version 2.3.8
2014-06-22 16:15:43 +00:00
jan.nijtmans
efcc225259
previous commit was not quite right, this one should be better
2014-06-20 20:50:48 +00:00
jan.nijtmans
24b0f264c3
ticket [2f9df4c4fa]: tcltest - request to move -cleanup script execution until after -output compare
2014-06-20 20:21:50 +00:00
aku
3cd11c535e
[b47b176adf] Stop possible segfaults when variability in mutex lock
...
schedules cause a ForwardingResult to remain on the forwardList after
it has been processed (IORChan is the origin of the code in IORTrans).
2014-06-20 05:14:43 +00:00
aku
f326f97897
[b47b176adf] Stop possible segfaults when variability in mutex lock
...
schedules cause a ForwardingResult to remain on the forwardList after
it has been processed (IORChan is the origin of the code in IORTrans).
2014-06-20 05:05:21 +00:00
dgp
7834f2fe96
[b47b176adf] Stop segfault when variability in mutex lock schedules cause
...
a ForwardingResult to remain on the forwardList after it has been
processed.
2014-06-19 16:38:33 +00:00
dkf
7bde946742
[f0f876c141] Improve consistency in error messages.
2014-06-17 14:30:06 +00:00
dgp
fce6982a3e
[1758a0b603] socket_*-2.13 : Workaround the broken select() in some Linux
...
kernels that fails to report a writable state on a socket when an error
condition (or remote close) is present.
2014-06-16 13:38:26 +00:00
dgp
52af4f6df3
[1758a0b603] socket-2.13 : Workaround the broken select() in some Linux
...
kernels that fails to report a writable state on a socket when an error
condition (or remote close) is present.
2014-06-16 12:44:13 +00:00
dgp
908fc261b6
merge socket test from 8.5
2014-06-16 12:19:30 +00:00
dgp
eab2f47c2c
merge 8.5
2014-06-16 12:09:32 +00:00
dkf
ab6933ef6b
[311e61d12a] Generate error code in *all* places where commands are looked up.
2014-06-16 09:24:39 +00:00
dkf
c20374dfa6
[cb042d294e] Improve consistency of [dict] wrong-args error messages.
2014-06-15 16:50:32 +00:00
dkf
5f82234293
[1b0266d8bb] Make [dict replace] and [dict remove] have canonicalization semantics close to [lrange] and [lreplace]. [dict merge] is also improved, but is not as strict.
2014-06-15 16:14:18 +00:00
dkf
17751a998c
Some more cleaning up
2014-06-15 16:11:56 +00:00
dkf
08d9096362
Make [dict replace] and [dict remove] guarantee result canonicality.
2014-06-15 07:52:57 +00:00
dgp
2621d5a21a
Draft test for [1758a0b603].
2014-06-13 21:15:13 +00:00
dgp
4e3fe86fc2
Additional check for an error condition on the socket.
2014-06-12 13:36:18 +00:00
dgp
86b84b6d21
Workaround the broken select() in some Linux kernels that fails to report
...
a writable state on a socket when an error condition (or remote close) is
present. Would be good to add actual test suite tests for this, but until
then see demo scripts in the ticket 1758a0b603.
2014-06-11 17:24:58 +00:00
dkf
6a99b9a546
Improved the error messages.
...
We do not want parsing an invalid dictionary to give errors about lists!
As compensation, we get greater precision in the errorcode.
2014-06-07 14:18:40 +00:00
dkf
e5104aa3dc
merge trunk
2014-06-06 08:47:28 +00:00
dkf
fae85d1af5
merge trunk
2014-06-06 08:46:58 +00:00
dgp
bb40f1cd2c
Tests socket*-2.12 test for DiscardOutput() updates.
2014-06-05 19:13:09 +00:00
dgp
bb4c894bca
Test socket-2.12 covers the DiscardOutput() update.
2014-06-05 19:06:08 +00:00
dgp
b4cc0cbac8
When too many chars are read by ReadChars() and we trim the limits to get it right on the next pass, don't forget the TCL_UTF_MAX padding demanded by Tcl_ExternalToUtf(). (Thanks for finding that, aku!) Fix the factorPtr management. It was just totaly wrong. The factor should be a ratio of the record of bytes read to the record of chars read. With those fixes, new test io-12.6 covers the "too many chars" code.
2014-06-05 15:20:59 +00:00
dgp
16b3c54eb0
merge fork
2014-06-05 15:20:03 +00:00
dgp
3eb959fc93
When too many chars are read by ReadChars() and we trim the limits to
...
get it right on the next pass, don't forget the TCL_UTF_MAX padding
demanded by Tcl_ExternalToUtf(). (Thanks for finding that, aku!)
Fix the factorPtr management. It was just totaly wrong. The factor should
be a ratio of the record of bytes read to the record of chars read.
With those fixes, new test io-12.6 covers the "too many chars" code.
2014-06-05 15:17:29 +00:00
andreask
ba7b49d9c4
Fixed a tricky interaction of IO system and encodings which could
...
result in a panic.
The relevant function is ReadChars() (short RC in the following).
When the encoding and translation transforms deliver more characters
than were requested the iterative algorithm used by RC reduces the
value of "dstLimit" (= the number of bytes allowed to be copied into
the destination buffer) to force the next round to deliver less
characters, hopefully the number requested.
The existing code used the byte located just after the last wanted
character to determine the new limit. The resulting value could
_undershoot_ the best possible limit because Tcl_ExternalToUtf would
effectively reduce this limit further, by TCL_UTF_MAX+1, to have
enough space for a single multi-byte character in the buffer, and a
closing '\0' as well.
One effect of this were additional calls to ReadChars() to retrieve
the characters missed by a call with an undershot limit.
In the limit (sic) however this was also able to cause a full-blown
"Buffer Underflow" panic if the original request was for less than
TCL_UTF_MAX characters (*), and we are using a single-byte encoding
like iso-8859-1. Because then the undershot dstLimit would prevent the
next round from copying anything, and causing it to try and
consolidate the current buffer with the next buffer, thinking that it
had to merge a multi-byte character split across buffer boundaries.
(Ad *) For example because the previous call had undershot already and
left only such a small amount of characters behind!
The basic fix to the problem is to add TCL_UTF_MAX back to the limit,
like is done in all the (three) other places in RC setting a new
one. Note however that this naive fix may generate a new limit which
is the same as the old, or possibly larger. If that happens we act
very conservatively and reduce the limit by only one byte instead.
While I believe that this last conservative approach will never reduce
the limit to TCL_UTF_MAX or less before reaching a state where it
returnds the exact amount of requested characters I still added a
check against this situation anyway, causing a new panic if triggered.
2014-06-05 00:22:59 +00:00
andy
45fd54872f
Add missing calls to Tcl_DecrRefCount() in string object man page examples.
2014-06-04 21:45:29 +00:00
dgp
cb1e14e0eb
Revise DiscardOutput() to account for revisions to the loop in FlushChannel() which is its only caller. We need to discard the curOutPtr buffer as well, and not count on another pass through the loop to attempt to flush it (and raise the same failure again?).
2014-06-04 16:42:21 +00:00
dgp
3189f48d19
Revise DiscardOutput() to account for revisions to the loop in FlushChannel()
...
which is its only caller. We need to discard the curOutPtr buffer as well,
and not count on another pass through the loop to attempt to flush it
(and raise the same failure again?).
2014-06-04 16:36:25 +00:00
dkf
6a91e192f8
more tests, cleaning up the code a bit
2014-06-04 08:15:26 +00:00
dgp
3334cf2103
Valgrind doesn't like use of uninitialized variables.
2014-06-04 03:25:44 +00:00
dgp
518ffe037f
merge fork of 8.5 branch
2014-06-03 19:57:31 +00:00
dgp
2691f4b9a9
[734138ded8] Revisions so that unreported errors don't get lost during
...
the close of a channel.
2014-06-03 17:47:23 +00:00
dgp
93b55b0dc4
Backport I/O core fixes made known by async socket work on trunk.
2014-06-03 17:32:33 +00:00
dkf
1e37d8beb0
merge trunk
2014-06-03 08:13:58 +00:00
dkf
10caa9b482
[1b0266d8bb] Working towards ensuring that all dict operations are sufficiently strict.
2014-06-03 07:26:11 +00:00
dgp
6c7e545b80
These edits make all tests outside of socket-14.* pass on OSX Mavericks.
...
Several socket-14.* tests failing there, and those that pass are very slow
about it. Firewall or poor networking configuration may be playing a role.
2014-06-03 02:26:07 +00:00
dgp
004361c91d
These edits make the tests socket-14.11.[01] stop hanging, but also introduce
...
a whole raft of test failures. WIP.
2014-06-02 20:03:14 +00:00
max
744e7bfe51
Improve robustness of the socket tests against systems that support IPv6, but don't resolve localhost to ::1 (and vice versa for IPv4 and 127.0.0.1).
2014-06-02 10:57:38 +00:00
dgp
9b701fdae7
Correct the interest masks in the Tcl_CreateFileHandler() calls in PipeWatchProc(). When we are interested in both readable and writable events of a command pipeline channel, we only want the readable from the read end of the pipe, and the writable from the write end of the pipe.
2014-05-31 02:40:00 +00:00
dgp
1f197f004a
Correct the interest masks in the Tcl_CreateFileHandler() calls in
...
PipeWatchProc(). When we are interested in both readable and writable
events of a command pipeline channel, we only want the readable from
the read end of the pipe, and the writable from the write end of the pipe.
2014-05-31 02:30:53 +00:00
oehhar
312e71eff4
win socket -async: do not loose connect notification by temporarily stop connect monitoring. Bug [336441ed59]
2014-05-30 10:36:01 +00:00
dgp
3dcb02dc07
Refinements of FlushChannel() and its callers. Notably includes removal of the flag BUFFER_READY.
2014-05-29 15:04:52 +00:00
oehhar
78bb5378e9
Try not to loose FD_CONNECT by switching monitoring off.
2014-05-29 14:56:10 +00:00
oehhar
bf498960d9
merge core-8-5-branch
2014-05-29 14:53:45 +00:00
andreask
329c85106b
Merged the workarounds and fixes for wrapped executables on various
...
platforms into the trunk. For details see the merged revision and its
ancestor.
2014-05-28 19:21:35 +00:00
dgp
334ffdfa50
Refinements of FlushChannel() and its callers. Notably includes removal
...
of the flag BUFFER_READY.
2014-05-28 18:58:51 +00:00
dgp
4b98569f89
Update comment to explain assumptions.
2014-05-28 18:49:02 +00:00
dgp
0fe50b37a2
Further simplifications to FlushChannel(). This makes clear the
...
BUFFER_READY flag serves no necessary purpose, so it is removed.
2014-05-28 18:24:56 +00:00
dgp
c08a9df4d6
Expand the IsBufferFull() macro to check non-NULL bufPtr..
2014-05-28 17:14:11 +00:00
dgp
a60da763ba
Increase size of test io-29.34 so that it more portably tests the case where
...
the OS networking machinery gets backed up and blocks.
Added several TODO comments on potential simplifications.
2014-05-28 16:54:02 +00:00
dgp
88ab76b3b8
Move code that can only matter in the first loop iteration out of the loop.
2014-05-27 13:28:41 +00:00
dgp
5f8f27387d
Comment out lines of test io-53.4 that appear to do nothing of any value.
2014-05-24 19:56:37 +00:00
andreask
ceae73bd28
Followup on [72c54e1659]. Removed unused variable.
2014-05-23 17:17:35 +00:00
jan.nijtmans
a74fb9ea31
eliminate two unused variables.
2014-05-23 14:59:03 +00:00
andreask
cc63d97f54
Workarounds and fixes for wrapped executables on various platforms
...
regarding the handling of wrapped dynamic libraries.
The basic flow of operation is to copy such libraries into a temp
file, hand them to the OS loader for processing, and then to delete
them immediately, to prevent them from being accessible to other
executables. On platforms where that is not possible the library is
left in place and things are arranged to delete it on regular process
exit.
An example of the latter are older revisions of HPUX which report that
the file is busy when trying to delete it. Younger revisions of HPUX
have changed to allow the deletion, but are also buggy, the OS loader
mangles its data structures so that a second library loaded in this
manner fails.
More recently it was found that Linux which is usually ok with
deleting the file and gets everything right shows the same trouble as
modern HPUX when the "docker" containerization system is involved, or
more specifically the AUFS in use there. Deleting the loaded library
file mangles data structures and breaks loading of the following
libraries. For a demonstration which does not involve Tcl at all see
the ticket
https://github.com/dotcloud/docker/issues/1911
in the docker tracker.
This of course breaks the use of wrapped executables within docker
containers.
This commit introduces the function TclSkipUnlink() which centralizes
the handling of such exceptions to unlinking the library after unload,
and provides code handling the known cases. IOW HPUX is generally
forced to not unlink, and ditto when we detect that the copied library
file resides within an AUFS.
The latter must however be explicitly activated by setting the define
-DTCL_TEMPLOAD_NO_UNLINK during build. We still need proper configure
tests to set it on the relevant platforms (i.e. Linux).
The AUFS detection and handling can be overridden by the environment
variable TCL_TEMPLOAD_NO_UNLINK which can force the behaviour either
way (skip or not). In case the user knows best, or wishes to test if
the problem with AUFS has been fixed.
2014-05-22 17:17:12 +00:00
andy
461b9f3322
Ditto [dict append], [dict incr], and [dict lappend]. Update description of [dict create] to explicitly state that it returns the new dictionary.
2014-05-21 22:00:52 +00:00
andy
47089ed2b3
Ditto [dict unset].
2014-05-21 21:40:09 +00:00
andy
ff04f434c4
Update dict man page to state that [dict set] returns the updated dictionary value.
2014-05-21 21:32:44 +00:00
jan.nijtmans
e55620ed06
Fix gcc warning (signed-unsigned compare)
2014-05-21 14:37:57 +00:00
max
052f13167e
Fix c&p errors in test descriptions
2014-05-21 10:37:10 +00:00
dgp
6fb8bfc715
Rework the management of the CHANNEL_BLOCKED and CHANNEL_EOF flags, in particular not allowing them to leak between multiple layers of a stacked channel. Much common code refactored into ChanRead().
2014-05-20 15:17:11 +00:00
dgp
f19d7ab302
Rework the management of the CHANNEL_BLOCKED and CHANNEL_EOF flags, in
...
particular not allowing them to leak between multiple layers of a stacked
channel. Much common code refactored into ChanRead().
2014-05-20 15:00:50 +00:00
oehhar
3eb4868d33
Fix and improve socket -async [13d3af3ad5]
2014-05-20 14:46:37 +00:00
dgp
090475cc9c
Same improvements to the zlib transform operations.
2014-05-19 18:29:26 +00:00
dgp
7f2205461c
Simplify ReflectInput(). Also stop intruding on channel internals with
...
direct clearing of CHANNEL_EOF flag.
2014-05-19 18:08:05 +00:00
jan.nijtmans
b1576079b7
[47d66253c9]: "lsearch -sorted -integer" on 64bit system
...
***POTENTIAL INCOMPATIBILITY***
Changes results of both [lsearch -integer] and [lsort -integer].
2014-05-17 07:01:22 +00:00
dgp
125a9f8a25
Simplify the inputProc of [testchannel transform].
2014-05-17 03:38:28 +00:00
dgp
5b5dffa386
Simplify the inputProc of [testchannel transform].
2014-05-17 03:32:27 +00:00
dgp
48b8a3755c
Revise results of tests iogt-2.[123] to account for EOF flags no
...
longer leaking across channel stacks.
2014-05-17 03:05:36 +00:00
dgp
94d4975fa2
Repair broken tests iogt-2.[123].
...
What happened is that now that EOF flags no loger leak acros channel
stack layers, an EOF in the bottom channel isn't detected in the top one
until the ChanRead call at the top level actually returns 0 bytes. This
causes one more query/ma
2014-05-17 02:53:34 +00:00
dgp
604007076c
Merge flag changes. - Wow, no trouble with [chan push] demonstrated.
2014-05-16 23:17:15 +00:00
ferrieux
3afefe3d81
Let the generated Makefile be emacs-friendly by avoiding spurious empty lines and misplaced tabs. Useful e.g. to just set CFLAGS to debug and save.
2014-05-16 21:33:41 +00:00
dgp
5db8831fb0
Improved use of EOF state to avoid worthless allocations.
2014-05-16 19:11:49 +00:00
dgp
28721acb58
Move the resets and testings of the BLOCKED flag to where they make more sense.
2014-05-16 18:45:37 +00:00
dgp
6a8b9ef2d6
merge trunk
2014-05-16 15:23:26 +00:00
dgp
4715d60689
merge 8.5
2014-05-16 15:10:37 +00:00
dgp
539adc9f7f
merge 8.5
2014-05-16 15:05:08 +00:00
dgp
5e1812e37c
Fix for failing tests *io-32.11*
2014-05-16 14:59:45 +00:00
dgp
158ab27221
merge 8.5
2014-05-16 14:47:59 +00:00
dgp
edb5d20cbf
Merge completion of dgp-read-bytes branch.
2014-05-16 14:47:15 +00:00
dgp
47912a0cab
Bug fix - accept consumption of the trailing newline in crlf with no
...
characters produced. Also delete false assertions.
2014-05-16 14:40:39 +00:00
dgp
d32b2d8171
More tests to demo the bug more directly.
2014-05-16 12:56:01 +00:00
dgp
61f362f9a4
Branch to demo bug introduced in the parent commit.
2014-05-15 18:38:22 +00:00
dgp
b4ca74a562
Portable test to demo bug otherwise seen only on Windows.
2014-05-15 16:48:43 +00:00
jan.nijtmans
8eb9237e4a
Minor bug-fix in [3118489] implementation: NUL in filenames. Filenames starting with <drive>: but without a following slash should be considered volume-relative i.e. the ':' is valid here.
2014-05-15 14:59:03 +00:00
jan.nijtmans
c6cd29b3f9
Fix [3118489]: NUL in filenames. (On Windows, protect against invalid use of ':' in filenames as well)
2014-05-15 14:54:45 +00:00
dgp
3bb92ad005
Push the setting and clearing of CHANNEL_BLOCKED flag to the more inner
...
parts of the channel read machinery.
2014-05-15 11:04:35 +00:00
dgp
eccb17258f
merge trunk
2014-05-14 15:09:15 +00:00
dgp
f57343eb42
merge 8.5
2014-05-14 14:52:42 +00:00
jan.nijtmans
e55ee4d6cc
Fix 3 test-cases which started failing on Windows
2014-05-14 09:19:26 +00:00
jan.nijtmans
2e71d669fe
Fix 3 test-cases which started failing on Windows
2014-05-14 09:11:42 +00:00
dgp
07f07faf4b
Refactored much management of the BLOCKED and EOF flags into ChanRead() then
...
began repairing some of the logic about them. Tests iogt-2.* now fail because
they've been crafted as experiments recording the fine detail of reflected
channel driver calls, and fixing the management of channel flags is changing
that. zlib-8.5 also needed adjustment to reflect that an EOF set must come
with an empty string read when flags are functioning properly.
2014-05-13 18:49:20 +00:00
dgp
63543e9ad0
Rework Tcl_ReadRaw() mostly taking things out of the loop that never repeat.
2014-05-13 18:24:23 +00:00
dgp
73ccc4ba86
Salvaged what was left of value in the dgp-read-bytes-detour branch.
...
Refactored much management of the BLOCKED and EOF flags into ChanRead()
then began repairing some of the logic about them.
Tests iogt-2.* now fail because they've been crafted as experiments recording
the fine detail of reflected channel driver calls, and fixing the management
of channel flags is changing that.
2014-05-13 16:42:07 +00:00
jan.nijtmans
9265507b2c
[958bc05fbe]: Clarify "clock format" using "%R"
2014-05-13 11:25:26 +00:00
jan.nijtmans
7974460313
[958bc05fbe]: Clarify "clock format" using "%R"
2014-05-13 11:23:40 +00:00
dgp
5fedb4d01b
Restore the largefileSupport constraint on Darwin, where tests (chan)io-34.21
...
take an unbearable 90 seconds each to complete.
2014-05-12 21:52:39 +00:00
dgp
29055898b0
Restore the largefileSupport constraint on Darwin, where tests (chan)io-34.21
...
take an unbearable 90 seconds each to complete.
2014-05-12 21:50:55 +00:00
dgp
7156085860
Have the [chan push] machinery ReadRaw() directly into the argument to be
...
passed to the read method of the channel transformation command. Save a copy.
2014-05-12 17:19:16 +00:00
jan.nijtmans
5d76c6e6c0
Possible fix for [47d66253c92197d30bff280b02e0a9e62f07cee2|47d66253c9]: "lsearch -sorted -integer" on 64bit system
2014-05-12 13:09:00 +00:00
dkf
a4eef46453
[6d2f249a01] Handle a failure to comprehend half-way through the compilation of a chain of compileable ensembles.
2014-05-11 10:39:14 +00:00
dgp
73f53667ed
Repair another "impossible" test and the segfault it reveals.
2014-05-09 17:46:45 +00:00
dgp
fbb32b908c
Correct namespace bugs in normally skipped tests. Constrain them as "knownBug" rather than "unknownFailure".
2014-05-09 17:35:12 +00:00
dgp
1b7b5e839c
Correct namespace bugs in normally skipped tests.
...
Constrain them as "knownBug" rather than "unknownFailure".
2014-05-09 16:55:34 +00:00
dgp
643d4e096b
Added comment explaining the "knownBug" in iogt-6.1
2014-05-09 16:39:08 +00:00
dgp
8b4cb6f5d9
Added comment explaining the "knownBug" in iogt-6.1
2014-05-09 16:38:23 +00:00
dgp
54a7fb1431
Tests (chan)io-34.21 are constrained for largefileSupport, and that's disabled by default, which means never tested, which means the ridiculous bugs in them are never found and fixed.
...
Fixed the bugs, changed the default. Large File Suppport (4GB) is commonplace now. Let those without it suffer a few failing tests reporting that fact to them.
2014-05-09 16:33:58 +00:00
dgp
d7461d07ad
Tests (chan)io-34.21 are constrained for largefileSupport, and that's
...
disabled by default, which means never tested, which means the ridiculous
bugs in them are never found and fixed.
Fixed the bugs, changed the default. Large File Suppport (4GB) is
commonplace now. Let those without it suffer a few failing tests reporting
that fact to them.
2014-05-09 16:31:06 +00:00
dgp
f4401162e8
Test iocmd-32.1 is not "impossible" but after writing it properly it does segfault trying to use a deleted interp. Fixed.
2014-05-09 13:33:27 +00:00
dgp
a84b51c1b4
Test iocmd-32.1 is not "impossible" but after writing it properly it
...
does segfault trying to use a deleted interp. Fixed.
2014-05-09 13:19:30 +00:00
jan.nijtmans
e538095963
Fix [3389978]: Support for paths longer than MAX_PATH on Windows.
2014-05-09 12:03:58 +00:00
jan.nijtmans
99a5afc6e0
Make Cygwin's "configure" work from another directory than /unix. (Not everything works this way!)
2014-05-09 10:10:20 +00:00
jan.nijtmans
61c463f55f
Make Cygwin's "configure" work from another directory than /unix. (Not everything works this way!)
2014-05-09 10:08:56 +00:00
dgp
2ff193dc57
Merge the reforms of dgp-trunk-read branch into trunk. (port of dgp-read-bytes)
...
Large overhaul of I/O read operations
- Protects integer overflow of buffers, reusing append machinery
- Forces -buffersize changes to take place when commanded
- Uses assertions to simplify code in "can't happen" situations
- Eliminated duplication of -translation processing
- Fixes bugs io-35.18b and io-35.20
2014-05-08 17:38:09 +00:00
dgp
7d850a310d
Merge the reforms of dgp-read-bytes branch into 8.5+ releases.
...
Large overhaul of I/O read operations
- Protects integer overflow of buffers, reusing append machinery
- Forces -buffersize changes to take place when commanded
- Uses assertions to simplify code in "can't happen" situations
- Eliminated duplication of -translation processing
- Fixes bugs io-35.18b and io-35.20
2014-05-08 17:30:32 +00:00
dgp
95eec569fd
merge trunk
2014-05-08 16:21:45 +00:00
dgp
fa53de3d90
silence compiler warning
2014-05-08 16:21:12 +00:00
dgp
f1ace09e64
merge trunk
2014-05-08 16:12:35 +00:00
dgp
f54edc88cf
Fix the panic in iogt-2.5.
...
Back in 2011, Bugs 3384654 and 3393276 first noticed troubles with
ChannelBuffer sharing, but the magnitude of the problem wasn't truly
grasped. A fix was applied that turned out to be more of a band-aid
workaround. Now that the real fix is in place, the band-aid is actually
preventing it working properly in thie case. Rip it off!
2014-05-08 16:03:50 +00:00
dgp
04fbce15ca
Revert the iogt-2.5 fix. For now one panic is better than widespread
...
memory leaks.
2014-05-08 13:01:47 +00:00
jan.nijtmans
e083b8e9bb
More efficient/robust implementation of function TclNativeCreateNativeRep().
...
- No more intermediate results in a Tcl_DString, just allocate space directly.
- Let MultiByteToWideChar() do all the difficult work, inclusive checking for invalid byte sequences.
- Handled extended win32 paths, inclusive UNC paths.
Implementation for a great deal taken over from fossil.
2014-05-08 12:46:47 +00:00
dgp
65baa666b5
merge trunk
2014-05-08 03:28:56 +00:00
dgp
22c5cd91eb
Merge 8.5.
2014-05-08 03:13:01 +00:00
dgp
48ecb1a2ee
Merge 8.5.
2014-05-08 02:55:47 +00:00
dgp
75e37a235a
Stop leak in iocmd-21.22.
2014-05-08 02:38:52 +00:00
dkf
e29e8eee24
Corrected description of where tcl_platform(user) comes from on Unix.
2014-05-07 22:22:02 +00:00
dkf
84a26717ef
Corrected description of where tcl_platform(user) comes from on Unix.
2014-05-07 22:19:30 +00:00
dgp
643b20e2b2
Stop leaks of cloned Tcl_ChannelTypes.
2014-05-07 03:30:55 +00:00
dgp
68f4187dd1
Stop leak in io-53.5.
2014-05-07 02:28:56 +00:00
dgp
01ccb9ccaa
Stop leak in io-33.7.
2014-05-06 23:51:32 +00:00
dgp
3fd76e6ba7
Stop memory leak in io-29.34
2014-05-06 23:23:43 +00:00
dgp
7218e5967c
Stop memory leak in io-29.27.
2014-05-06 22:34:45 +00:00
dgp
cc1b3e8ddc
Symptom relief. Make test stop panicking.
...
This is not the proper final answer. ChannelBuffer management in
FlushChannel is simply not robustly correct yet.
2014-05-06 17:33:55 +00:00
dgp
c4669a8b0c
Add Panic call to better identify where iogt-2.5 goes wrong.
2014-05-06 15:23:43 +00:00
dgp
a0d540327f
Merge 8.5. New test iogt-2.5 panics.
2014-05-06 14:43:19 +00:00
dgp
2d6278c829
merge 8.5
2014-05-06 14:10:57 +00:00
dgp
ba89a15d53
Have to manage the lifetime of the self handle in testchannel transform.
2014-05-06 13:56:29 +00:00
jan.nijtmans
d8b36a0216
Start working on [3389978]. Appears to work, but some clean-up needed.
2014-05-06 11:17:28 +00:00
dgp
b8c001575a
Segfaulting test (backport of iortrans-5.11).
2014-05-05 17:18:51 +00:00
dgp
681e50da88
Merge GotFlag() backport from 8.5. Conflicts galore!
2014-05-05 13:23:20 +00:00
jan.nijtmans
b04c31eecb
merge-mark
2014-05-05 09:18:42 +00:00
jan.nijtmans
acdf0e593a
Backport "GotFlag" macro from Tcl 8.6. Makes code more readable. No change in functionality.
2014-05-05 09:17:46 +00:00
dgp
3c51a58c1e
merge trunk
2014-05-02 15:58:03 +00:00
dgp
acce1f902b
merge 8.5
2014-05-02 15:41:45 +00:00
jan.nijtmans
9888275261
Re-apply [3010352], bringing back the symbol exports of shared libraries as it was in 8.6.0/8.6.1.
2014-05-02 15:35:14 +00:00
dgp
01f9f84db5
Bring back self restacking support. Channel tests all passing now.
2014-05-02 15:29:41 +00:00
dgp
9bed70dea4
Fixup restacking tests to expect the right results.
2014-05-02 15:19:57 +00:00
dgp
3ab2f65ec6
Backport channel self restacking support. (Test iogt-2.4).
2014-05-02 15:06:57 +00:00
dgp
322ea4d71d
Add some comments about possible other self-restacking troubles.
2014-05-02 14:45:03 +00:00
dgp
fd83709b45
Fully restore topChan resetting to accommodate self-restacking channels.
2014-05-02 13:02:48 +00:00
dgp
c09e2ded08
Re-enable buffer recycling.
2014-05-02 12:39:14 +00:00
dgp
8e5e88f4db
Stop the segfault in iogt-2.4. First by changing the UpdateInterest()
...
call that triggers it. "downChanPtr" may no longer be the right argument
at that point. Second, after ending the segfault, the test became an
infinite loop (nested unstacking?! whoa.), so revised the test to one
that terminates (and passes). Left behind a comment that the recursive
unstacking case may require more examination.
2014-05-01 16:33:39 +00:00
dgp
d3c1978e07
merge trunk
2014-05-01 15:13:46 +00:00
dgp
fb36ca1b18
merge trunk
2014-05-01 15:00:40 +00:00
dgp
27ce96cd71
merge 8.5
2014-05-01 14:52:13 +00:00
dgp
abd9269a04
We must Preserve channels if we're going to use TclChanCaughtErrorBypass() to get error information after channel routines are called (and have possibly called for the channel to go away).
2014-05-01 14:36:34 +00:00
dgp
aacc275d30
We must Preserve channels if we're going to use TclChanCaughtErrorBypass()
...
to get error information after channel routines are called (and have possibly
called for the channel to go away).
2014-05-01 14:18:35 +00:00
dkf
0b7940e00e
make doubly sure that things which should be unshared stay unshared
2014-05-01 09:11:09 +00:00
jan.nijtmans
183a28c109
merge-mark
2014-05-01 07:44:34 +00:00
jan.nijtmans
c4f8c1063c
Fix more corner-cases like [0e92c404f19ede5b2eb06e6db27647d3138cc56|0e92c404f1]: The only place where a type of &tclByteArrayType can be trusted is when determining its length, because the character length of a (UTF-8) string is always equal to the byte length of the byte array.
2014-05-01 07:38:27 +00:00
dgp
438b6b5009
Merge in the fixes for improper ChannelBuffer sharing via recycling.
2014-05-01 01:26:04 +00:00
dgp
a95f198d2e
missing constraint
2014-05-01 01:15:42 +00:00
jan.nijtmans
87d82b22e7
Better (safer) fix for [0e92c404f1]
2014-04-30 21:59:00 +00:00
dkf
e0c1d41f5e
[82e7f67325] Fix an evil refcount problem in compiled [string replace].
2014-04-30 21:24:39 +00:00
dgp
1a41595e06
Stop the segfaults in [close] during [gets] tests.
...
Not sure this is the right behavior, but it's better than crashing.
2014-04-30 19:54:51 +00:00
dgp
2d4cef6d56
Panic message to pinpoint the cause of iocmd-21.23 segfault.
2014-04-30 19:33:21 +00:00
dgp
f8ff5f9f13
Another segfault demo test, this one with [close] during [gets].
2014-04-30 19:12:37 +00:00
dgp
210aa9605a
Make sure no shared ChannelBuffers get recycled.
2014-04-29 17:40:15 +00:00
dgp
19292d74bf
merge trunk
2014-04-29 17:04:33 +00:00
dgp
ab5b2feda0
Fix bug exposed when buffer recycling is disabled.
2014-04-29 16:47:48 +00:00
dgp
35a41cd0d6
Fix bug exposed when buffer recycling is disabled.
2014-04-29 16:36:39 +00:00
dgp
9873314d0d
Revise the logic for setting TCL_ENCODING_END in the outputEncodingFlags
...
so it does not rely on buffer recycling.
2014-04-29 15:54:03 +00:00
ferrieux
f3f494358f
Clarify fcopy manpage regarding its bidirectional uses. [1350564]
2014-04-28 20:28:10 +00:00
dgp
0c9e9be9e5
Disable buffer recycling to expose bugs for fixing.
2014-04-25 20:12:48 +00:00
dgp
e024894c53
Disable buffer recycling, which creates mysteries.
2014-04-25 19:51:36 +00:00
dgp
e3220aa631
Test iortrans-4.8.2 demos an infinite loop. Possible trouble with
...
pushback buffers.
2014-04-25 17:34:11 +00:00
dgp
47d1451282
merge trunk
2014-04-24 18:21:49 +00:00
dgp
5f636c9b81
merge 8.5
2014-04-24 18:14:36 +00:00
dgp
45659eebd2
Make sure the ReflectedChannel struct is freed in the handler thread,
...
where it was allocated. This constraint allows the struct to safely
hold Tcl_Obj values, which has been convenient for storing callback commands.
2014-04-24 15:27:58 +00:00
dgp
3ec273770b
[3493120] Plug memory leak in thread exit.
2014-04-24 04:34:01 +00:00
dgp
c69e73e183
[3493120] Plug memory leak in thread exit.
2014-04-23 18:25:27 +00:00
sebres
fa12c3782d
*nix segfault cleared: we should reset a thread key after freeing of alloc cache (in tclUnixThrd.c)
2014-04-23 09:18:20 +00:00
dgp
af15fe284a
Merge the [testchannel transform] fixes.
2014-04-22 15:09:06 +00:00
dgp
d7f092d1cf
Add refcounting and preservation to [testchannel transform] to stop segfault
...
in test iogt-2.4.
2014-04-22 14:57:44 +00:00
sebres
fea67060de
Memory leak after thread exit, fixed (alloc cache released by exit), belong to ticket [3493120]
...
Moved over to branch bug-3493120. This is not ready
for the core-8-5-branch. Segfaults all over the place
in a thread-enabled build on a CentOS system.
2014-04-22 13:25:41 +00:00
dgp
ea20dfbaae
merge trunk
2014-04-21 20:02:39 +00:00
dgp
da22d54b77
merge 8.5
2014-04-21 20:01:49 +00:00
dgp
e4bf3a0afd
Merge refcounting machinery for ChannelBuffer.
2014-04-21 19:04:08 +00:00
dgp
473f2fb8dd
Added a refcounting mechanism to ChannelBuffers. Other edits to
...
stop segfaults in tests iocmd-21.2[12].
2014-04-21 18:55:41 +00:00
dgp
29d26aa2c1
Another test exposing another segfault.
2014-04-17 19:58:41 +00:00
dgp
fecf0d5e64
merge 8.5
2014-04-17 19:17:33 +00:00
dgp
b70fbe851c
merge trunk
2014-04-17 19:11:47 +00:00
dgp
747725c1fc
Merge reflected channel improvements.
2014-04-17 18:10:02 +00:00
dgp
f60122dc91
Reflected channels. Keep a set of method names cached so we don't create
...
new each operation, and we can benefit from any lookup info cached in intreps.
2014-04-17 17:55:59 +00:00
dgp
dfb3ea8358
Simplify reflected channels.
...
Instead of having two modes of Close operations and the need to choose
between them with a special value of the methods field, when the initialize
pass fails for some reason, simply do not create the channel so there's
nothing that needs closing. Then the methods field no longer holds anything
used, so eliminate it. All the methods checking is done by [chan create].
2014-04-17 16:05:06 +00:00
jan.nijtmans
da5348ec0f
Remove all win95-specific test-cases, since Windows 95 is not supported any more.
2014-04-17 14:01:14 +00:00
dgp
322bd5dd1f
merge 8.5
2014-04-16 20:11:05 +00:00
dgp
9f8bc994a9
merge trunk
2014-04-16 17:35:08 +00:00
dgp
a7101c49af
[d19a30db57] More testing.
2014-04-16 15:40:09 +00:00
dgp
ea3c325aa5
Repair new test so all parts will be effective.
2014-04-16 15:37:26 +00:00
sebres
9915e77374
Test for [d19a30db57] extended
2014-04-16 15:30:37 +00:00
dgp
9db9d4ff84
[d19a30db57] Fixed segfault in [clock] internals. Includes test.
2014-04-16 15:30:23 +00:00
dgp
335591836a
Test for [d19a30db57].
2014-04-16 15:17:14 +00:00
jan.nijtmans
e9e54156fa
Fix compiler warnings in win32/cygwin build
2014-04-16 14:12:19 +00:00
jan.nijtmans
f91d3dd584
merge fork: Segmentation fault using some functions of tcl::clock, fixed, belong to ticket [d19a30db57]
2014-04-16 14:07:10 +00:00
jan.nijtmans
88d357a99c
Fix compiler warnings in win32/cygwin build.
2014-04-16 14:04:02 +00:00
sebres
c97d829e0c
Segmentation fault using some functions of tcl::clock, fixed, belong to ticket [d19a30db57]
2014-04-16 13:18:56 +00:00
jan.nijtmans
be0324597a
Remove unused variable, don't use deprecated function, some formatting.
2014-04-16 11:20:54 +00:00
jan.nijtmans
fcca5df8d6
Upgrade from Winsock 1.1 to Winsock 2.2, which is always available on Win2000+. See: [ http://msdn.microsoft.com/en-us/library/windows/desktop/ms742213%28v=vs.85%29.aspx ] for details.
...
Move winsock initialization to TclpInitPlatform(void), so we can be sure everywhere that we have an initialized winsock2.
Stub entries for TclWinGetServByName/TclWinGetSockOpt/TclWinSetSockOpt are no longer necessary (will be removed in 9.0, but are kept in 8.x)
2014-04-16 09:44:12 +00:00
jan.nijtmans
7284ed46fb
Upgrade from Winsock 1.1 to Winsock 2.2, which is always available on Win2000+. See: [ http://msdn.microsoft.com/en-us/library/windows/desktop/ms742213%28v=vs.85%29.aspx ] for details.
...
Move winsock initialization to TclpInitPlatform(void), so we can be sure everywhere that we have an initialized winsock2.
Stub entries for TclWinGetServByName/TclWinGetSockOpt/TclWinSetSockOpt are no longer necessary (will be removed in 9.0, but are kept in 8.x)
2014-04-16 09:28:54 +00:00
dgp
5b2fb22633
Purge the (now unused) argc and argv fields.
2014-04-15 18:36:01 +00:00
dgp
16c608178f
Purge (now unused) argc and argv fields.
2014-04-15 17:45:26 +00:00
dgp
924739ac23
[88aef05cda] Stop reentrancy segfault in reflected channels by managing
...
callbacks as (copies of) lists, not shared Tcl_Obj arrays. Still could use
cleanup and improvements.
2014-04-15 17:25:37 +00:00
dgp
fdcd434e12
[88aef05cda] Stop reentrancy segfault in reflected channels by managing
...
callbacks as (copies of) lists, not shared Tcl_Obj arrays. Still could
use cleanup and improvements.
2014-04-15 16:09:28 +00:00
jan.nijtmans
5d9aef7a4e
Test-cases which pick up the completion of bug-fix [e663138a06d98e48b5fbb42cc015cf1698f486cd|e663138a06]. Thanks, Don!
2014-04-15 10:41:44 +00:00
dgp
b497ad4e53
[e663138a06] Fix the new INST_NUM_TYPE instruction so that the boundary
...
cases of [string is] on integral values are computed right. Code is now
correct, though still suffers from a large amount of ugly.
2014-04-14 18:45:04 +00:00
jan.nijtmans
a95a8e4a9c
Fix [3118489]: NUL in filenames, now fixed for both Windows and UNIX.
...
For consistancy, any NUL character in a filename prevents the native filesystem to generate a native file representation for it. Other filesystems than the native one may still accept it, but it's not recommended.
2014-04-11 09:55:15 +00:00
jan.nijtmans
d10806530d
Fix [3118489] for Windows only: NUL in filenames. This allows various characters to be used in win32 filenames which are normally invalid, as described here: [ http://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-specialchars ]. The Cygwin shell can handle those same filenames as well. In other shells (cmd.exe/mSys) or on the Windows desktop the filenames will look strange, but that's all.
2014-04-11 08:23:44 +00:00
jan.nijtmans
c867dfd034
[792641f95b]: Normalized win32 paths should never contain backslash.
2014-04-10 13:59:13 +00:00
jan.nijtmans
601ecb35c8
[792641f95b]: Normalized win32 paths should never contain backslash.
2014-04-10 13:32:14 +00:00
jan.nijtmans
87fc10a8da
Fix bug [e663138a06]: Test failures in "string is"
2014-04-10 07:57:18 +00:00
max
32d3c7b2a1
* Give clearer names to some of the state flags and sync them with Windows where it makes sense.
...
* Rework WaitForConnect once more to always report ENOTCONN on I/O operations on failed async sockets.
* Fix synchronous connections to a server that only listens on IPv6 (or whatever comes later in the list returned by getaddrinfo(), socket-15.*)
* Fix spurious writable event on async sockets (socket-14.15).
2014-04-08 18:00:35 +00:00
oehhar
42143bf4e9
Beautify check for async connect reentry
2014-04-08 15:15:31 +00:00
jan.nijtmans
a7350e3489
Provide full Tcl patchlevel to tcl.pc and move private libs to "Libs.private".
...
Record the fact that Tcl 8.6 requires Zlib 1.2.3 as a minimum.
Supply both the shared library and the stub library to "Libs": Only one of them will actually be linked in, depending on whether -DUSE_TCL_STUBS is defined or not.
2014-04-08 15:02:27 +00:00
jan.nijtmans
8a33c02a15
Provide full Tcl patchlevel to tcl.pc and move private libs to "Libs.private".
2014-04-08 14:52:04 +00:00
oehhar
1abf8e4ad8
Changed error report logic, that an async connect error is only reported by 'fconfigure -error' and not by a possible last command terminating the async connect. The terminating command always returns "socket is not connected" on connect error. In addition, some flags were renamed: TCP_ASYNC_SOCKET to TCP_NONBLOCKING and also the new state flags.
2014-04-08 14:40:20 +00:00
max
e92b34ab12
Rename error to connectError in struct TcpState.
2014-04-07 15:18:09 +00:00
max
59e40535f5
Rename CreateClientSocket to TcpConnect
2014-04-07 15:11:32 +00:00
oehhar
3d4fa09102
Renamed function CreateClientSocket to TcpConnect and variable error to connectError
2014-04-07 15:08:31 +00:00
jan.nijtmans
5e96fb5ee1
Merge-mark: Those two test-cases will arrive in trunk as soon as branch [ http://core.tcl.tk/tcl/timeline?r=bug-13d3af3ad5 |bug-13d3af3ad5] is merged.
2014-04-07 14:32:59 +00:00
oehhar
d0e001a334
Return async connect error by first following read or write operation.
2014-04-07 12:34:18 +00:00
oehhar
8bf9869083
Moved tests socket-8.2 and socket-8.3 to socket-14.3 and socket-14.4 and made them robust against connect failures
2014-04-04 16:44:33 +00:00
oehhar
269a88ebaf
Avoid multiple returns of connect errors
2014-04-04 16:27:39 +00:00
max
9757dd7eba
Move tests 8.2 and 8.3 out of the IPv4/IPv6 loop to 14.13 and 14.14.
2014-04-04 15:56:48 +00:00
max
9365e418f3
Fix/improve tests.
2014-04-04 15:45:34 +00:00
max
ebb15ded42
Add tests for bugs [336441ed59] and [581937ab1e] from core-8-5-branch.
2014-04-04 11:53:33 +00:00
oehhar
2f51a2e128
Fix for Bug [97069ea11a]: Set return message in close if a flush error is reported (which may be an error from a background flush)
2014-04-04 11:14:17 +00:00
max
a5f9898e34
* Rework WaitForConnect() to fix synchronous completion of asynchronous connections.
...
* Let TcpInputProc() and TcpOutputProc() fail before calling any I/O syscalls when an asynchronous connection has failed.
* Adjust the tests accordingly.
2014-04-04 10:02:47 +00:00
oehhar
e2c7cfecc1
Fix for Bug [97069ea11a]: Set return message in close if a flush error is reported (which may be an error from a background flush)
2014-04-04 08:55:16 +00:00
max
c736ad3e88
Make the naming of TcpState variables consistent
2014-04-04 08:51:58 +00:00
max
3d1b611f4c
Revert the tests for bug#97069ea11a from socket.test, because it is hard to test with the socket command in a platform-independent way. As the bug is in tclIOChan.c and should be tested there with a dummy channel driver that can reliably reproduce the situation that suppresses the error message.
2014-04-04 08:29:51 +00:00
oehhar
6cfae752ff
Fix bug [581937ab1e]: fire readable event on async socket connect failure
2014-04-02 13:33:29 +00:00
oehhar
253440c377
Fix bug [581937ab1e]: fire readable event on async socket connect failure
2014-04-02 12:43:29 +00:00
oehhar
61e5f733e5
Fix bug [336441ed59]: Win socket stall on quick termination of async socket connect
2014-04-02 10:02:18 +00:00
oehhar
77a33cf2ff
Test to demonstrate bug [336441ed59]. Depends on timing and will not always fire but is better than nothing. Reliable for me.
2014-04-02 09:54:27 +00:00
oehhar
3756d27b06
Set all variables written by the notifier thread as volatile.
2014-04-02 08:35:02 +00:00
oehhar
551a220b1f
Marked all communication variables which are set by notifier thread with "volatile".
2014-04-02 08:22:12 +00:00
max
a529e32955
Centralize and clarify the user of 169.254.0.0 as a non-reachable address.
2014-04-01 14:00:04 +00:00
oehhar
2e6d32b5a8
Imported fix for bug [97069ea11a] from branch bug-97069ea11a: empty error message on stalled background flush after async socket connect fail
2014-04-01 13:06:22 +00:00
max
9bc964b5bb
Add test cases for Bug [97069ea11a].
2014-04-01 12:17:36 +00:00
oehhar
daa585d846
Removed thread debugging printf messages
2014-04-01 12:16:39 +00:00
oehhar
bc5c5261e5
Fix test failure socket-2.9: "1 {not owner}" instead of "1 {couldn't open socket address already in use}" by only setting returned error message if not jet set.
2014-04-01 11:31:49 +00:00
oehhar
a2e8fa6c52
Set return message in close if a flush error is reported (which may be an error from a background flush). Ticket [97069ea11a]
2014-04-01 09:52:34 +00:00
jan.nijtmans
4fa18eaa12
Add missing @TCL_LIB_FLAG@ to tcl.pc.in (derived from ticket [5bcb5026ad])
2014-03-31 18:44:55 +00:00
jan.nijtmans
f9c41b4bcc
Cherry-pick [c54059aaad] from trunk: Added support for reporting TEA-like info via pkg-config.
...
Add missing @TCL_LIB_FLAG@ (derived from ticket [5bcb5026ad])
2014-03-31 15:23:30 +00:00
dgp
8655555eb4
Merge minimal fix for iocmd-23.11.
...
Note that top channel regeneration is removed, so that Preserve/Release
call pairs are sure to operate on the same pointers. Other bug fixes
may need to change that.
2014-03-28 20:29:03 +00:00
dgp
2a5a3323cb
Minimal patch to fix iocmd-23.11. Might not be the best fix, but is *a* fix.
2014-03-27 21:35:57 +00:00
dgp
2d315899eb
Test iocmd-23.11 demos another segfault.
2014-03-27 19:15:19 +00:00
dgp
6ac66b5476
Test iocmd-23.11 demos another segfault.
2014-03-27 19:14:01 +00:00
dgp
2b096d89a3
Test iogt-2.4 is another segfault demo for [721ec69271].
2014-03-27 16:47:33 +00:00
dgp
4252a9c191
Test iogt-2.4 is another segfault demo for [721ec69271].
2014-03-27 16:44:04 +00:00
dgp
52fe1455a7
New test iortrans-4.8.1 exposes segfault bug [721ec69271].
2014-03-27 16:27:09 +00:00
jan.nijtmans
4c46afc6f5
Implement RFE [b42b208ba4]: file attributes -readonly (and -archive, -hidden, -system) on Cygwin.
2014-03-26 14:38:07 +00:00
jan.nijtmans
1673f7d67a
Only write back file attributes if any of them really changed.
2014-03-26 14:34:56 +00:00
jan.nijtmans
c6eeda71be
Implementation of [b42b208ba4]: file attributes -readonly on Cygwin. For completeness, implemented -archive, -hidden and -system as well.
2014-03-26 10:37:57 +00:00
ferrieux
15df01c93d
Add test io-53.12 to verify proper unbuffered sync-fcopy [Bug #3096275 ]
2014-03-24 21:42:56 +00:00
oehhar
1408478f56
Fire also readable event on final async connect failure. Armor WaitForSocketEvent by access signal against notifier thread access.
2014-03-24 11:03:04 +00:00
dgp
021c7456ff
Merge the checkins of the dgp-read-bytes branch onto the trunk, up to
...
and including checkin a1e82fb63e . Do not merge checkin bae1c688f2
which starts to take the dgp-read-bytes branch into directions apparently
unfriendly to stacked channels, which tests for [chan push] on the trunk
help us to detect.
2014-03-23 20:59:28 +00:00
oehhar
6eb3a60712
Be sure tsd pointer to the info structure is invalidated before memory free
2014-03-23 11:42:35 +00:00
oehhar
8837ed8935
Be shure tsd pointer to the info structure is invalidated before memory free
2014-03-23 11:31:59 +00:00
oehhar
e5b53212a8
Bug [336441ed59]: Buffer infoPtr between socket creation and insertion into info structure in thread local memory. Backported fix from commit [65b320b464] from branch "bug-[13d3af3ad5]".
2014-03-22 16:14:26 +00:00
dgp
97ef11cb6e
Added comments raising questions about possible updates to channel
...
drivers on Windows.
2014-03-21 17:11:32 +00:00
dgp
71680aec07
missing declaration
2014-03-21 14:45:00 +00:00
dgp
4d2bb24e84
Correct namespace bugs in normally skipped tests.
...
Constrain them as "knownBug" rather than "unknownFailure".
2014-03-21 14:07:40 +00:00
dgp
56214ea49a
Added comment explaining the "knownBug"
2014-03-21 13:40:58 +00:00
dgp
88cddf0b80
Convert "impossible" test to a "knownBug" test. Exposes a segfault!
2014-03-21 13:20:06 +00:00
dgp
183b5fd257
Restore default suppression of large file test.
2014-03-21 12:58:29 +00:00
dgp
ff8fef8c8d
Fixup ChanRead() header. Note (dstSize > 0) precondition.
2014-03-21 12:57:58 +00:00
dgp
2a7cf86d30
io-34.21 - fix bugs in normally skipped test.
...
io-35.18b - knownBug is not buggy on this branch.
2014-03-21 12:56:46 +00:00
dgp
0530d01b63
Documentation header for ChanRead()
2014-03-21 02:36:47 +00:00
dgp
e9bb48106a
Both callers of ChanRead() have simlar epilogs. Shift that into ChanRead
...
and refactor.
2014-03-20 23:21:48 +00:00
dgp
c6fabad70e
Don't allow buffer recycling to prevent or delay buffersize shrinkage.
2014-03-20 20:18:20 +00:00
dgp
88abf586de
Stop routine clearing of CHANNEL_EOF. Only clear when there's a reason
...
(seek, eofchar change, ungets). Otherwise, once you hit EOF you stay there.
2014-03-20 19:25:11 +00:00
dgp
16dcfe4b5f
Use assertions about the pushback buffers to simplify their handling.
...
Mark several things left TODO. Some tidying.
2014-03-20 16:31:11 +00:00
dgp
bce5a2ae75
merge 8.5
2014-03-20 14:45:05 +00:00
jan.nijtmans
cb2a1e4c13
Fix [2f7cbd01c3]: tcl8.6.1 fails to build on FreeBSD 10.0
2014-03-20 10:10:04 +00:00
jan.nijtmans
a62fd8466e
Fix [2f7cbd01c3]: tcl8.6.1 fails to build on FreeBSD 10.0
2014-03-20 10:06:25 +00:00
jan.nijtmans
c7a7120587
Proposed fix for [2f7cbd01c3].
2014-03-20 09:22:29 +00:00
dgp
02d7d5af4c
Let TranslateInputEOL handle the "\r$eofChar" sequence in CRLF mode.
2014-03-19 21:43:31 +00:00
dgp
3e8c032e35
Complete rewrite of DoRead().
2014-03-19 20:32:37 +00:00
dgp
b9409ecdff
Remove long dead "BAD_BLOCKING" support code so it no longer confuses
...
people reading/editing this code.
2014-03-17 17:56:47 +00:00
oehhar
912913c340
WaitForConnection like tclUnixSock.c, new option [fconfigure -connecting]
2014-03-14 17:01:33 +00:00
oehhar
ac3233bf36
file tclWinSock.c reorganized to minimize diff to tclUnixSock.c. No functional change
2014-03-14 16:59:25 +00:00
oehhar
934c12d4a4
Remove writable shortcut and errorneous workaround to get [connect -async] fail error to [fconfigure -error]
2014-03-14 14:36:14 +00:00
max
d1f0a7b5f7
* More test improvements for async sockets.
...
* Advance async connections whenever the channel is touched (e.g. by [chan configure]).
* Add a noblock argument to WaitForConnect(), so that advancing async connections from [chan configure] doesn't block even on a blocking socket.
2014-03-14 14:26:22 +00:00
oehhar
ee1a8aed63
Remove writable shortcut and errorneous workaround to get [connect -async] fail error to [fconfigure -error]
2014-03-14 10:59:48 +00:00
oehhar
2a00313c29
Async connect terminates: fire fileevent by setting readyEvent, propage commit fail message to [fconfigure -error]
2014-03-14 09:12:13 +00:00
max
b896860fbf
* Hide transient errors of the internal iterations of [socket -async] from the script level.
...
* More tests for corner cases.
2014-03-11 17:34:54 +00:00
dgp
6c5d496711
Compress code for better single screen viewing.
2014-03-11 16:51:38 +00:00
oehhar
66cf21eaaf
No [fconfigure -error] error in connect process; gets after failed async connect returns connect error
2014-03-11 13:35:37 +00:00
dgp
47b0512591
Trial rewrite of AUTO input translation.
2014-03-11 03:38:55 +00:00
dgp
080aa64c3d
.... and then the bug fix.
2014-03-10 19:30:22 +00:00
dgp
f8cfd0ecd0
Test for the bug I just committed.
2014-03-10 19:29:54 +00:00
dgp
ee4aa52d42
Rewrite CRLF translation to use more system calls.
2014-03-10 19:00:19 +00:00
max
ca31b05c9d
WaitForConnect may only call back to CreateClientSocket when the socket is writable or something. When it does so for a pending socket, it is falsely assumed to have succeeded and a subsequent read/write operation will fail.
2014-03-10 18:11:08 +00:00
dgp
baf55bba6a
Bring CRLF translation in parallel with others.
2014-03-10 17:58:32 +00:00
oehhar
75cae59053
Additional security for wrong pointer
2014-03-10 16:59:09 +00:00
oehhar
10a9e13e5d
Fire write fileevent if async connect fails finally (test socket-14.2)
2014-03-10 15:38:21 +00:00
oehhar
3bb727a3c7
Also continue async connect without event loop if gets/puts is called (test socket-14.8.*)
2014-03-10 15:22:56 +00:00
oehhar
e02a90c10d
Workaround if FD_CONNECT notification comes before socket list registration in TcpThreadActionProc
2014-03-10 14:36:38 +00:00
max
5de4bf8981
* tclUnixSock.c: Fix WaitForConnect() for client sockets that have to try more than one address.
...
* socket.test: Extend and improve tests for [socket -async]
* socket.test: Add latency measuring and calculation for Windows.
2014-03-10 12:08:44 +00:00
dgp
12a4d297b9
TranslateInputEOL doesn't need to return anything. No caller cares.
...
Other optimizations and simplifications.
2014-03-10 03:09:03 +00:00
jan.nijtmans
bef17eed6a
Merge core-8-5-branch (New tests covering INPUT_NEED_NL flag handling. One exposes a bug.)
2014-03-09 21:58:12 +00:00
jan.nijtmans
6bcc85f28e
Mark io-35.18b test as knownBug
2014-03-09 21:55:51 +00:00
dgp
61e8875498
TranslateInputEOL() callers no longer need assert dstLen <= srcLen.
2014-03-07 20:15:12 +00:00
dgp
5350ed1efe
Simplify the input eof char scan. Update some comments.
2014-03-07 19:43:16 +00:00
oehhar
d08f5c564c
Still incomplete info structure in event proc: try to protect with locks (unsuccesful). Probably locks in accept socket creation missing.
2014-03-07 07:40:30 +00:00
oehhar
f5cb50339f
More debug to chase different fd in struct than in callback
2014-03-06 18:21:40 +00:00
dgp
f3343892a7
Variable "rawStart" serves no purpose.
2014-03-06 15:51:06 +00:00
oehhar
886199711d
Terminate async connect synchronously by any blocking operation
2014-03-06 10:37:13 +00:00
dgp
57182d5ef3
Remove old dead code; silence compiler warnings; tidy up.
2014-03-05 19:41:51 +00:00
dgp
5fe3c1fbee
Adapt CopyAndTranslateBuffer() to changes in TranslateInputEOL().
...
Notably no longer using the INPUT_NEED_NL flag.
2014-03-05 17:16:35 +00:00
oehhar
bfa93a894c
"gets" blocked after async cannect: SOCKET_ASYNC_CONNECT was not cleared
2014-03-05 15:15:43 +00:00
max
6ddf4c01d5
Refactor the error handling logic around connect()
2014-03-05 14:40:27 +00:00
dgp
e5f7fb59c4
Merge repair to correct failing tests.
2014-03-05 14:23:38 +00:00
max
fa81506a01
avoid warnings about uninitialized infoPtr in DEBUG
2014-03-05 13:12:13 +00:00
max
74ed570183
Print out the value of infoPtr in DEBUG, so that coexisting sockets can be distinguished in the output.
2014-03-05 13:09:22 +00:00
oehhar
3183209237
Next async connect try works. Reset error and move notifier before connect.
2014-03-05 10:20:09 +00:00
max
5bef69e253
* Use watchEvents only for read/write/close events of [chan event], don't mix with internal use of accept and connect events.
...
* WIP: Refactor the tail of CreateClientSocket() to get notifications for completed async connects right.
2014-03-04 18:54:48 +00:00
oehhar
3f6201e538
Reverted move of WSAAsyncSelect before connect -> FD_Connect message does also fire if it exists on call.
2014-03-04 07:54:18 +00:00
oehhar
596cd02dba
WIP: async open event now passes to SocketEventProc() and connects but does not finalyze that (I guess).
2014-03-03 15:57:56 +00:00
dgp
ecec9dacef
Fixups make the test suite almost pass (except *io-39.17)
2014-03-01 03:01:41 +00:00
dgp
ece5f1377f
Bring over the ReadChars rewrite for integration into the other I/O work.
2014-02-28 19:01:42 +00:00
dgp
c98d055207
another coverage test.
2014-02-28 18:36:00 +00:00
dgp
45f1f60132
tidy up.
2014-02-28 18:28:16 +00:00
dgp
ff27c27a27
More ReadChars rewriting. Test suite now passes.
...
Note that this reform simplifies ReadChars a fair bit (at least in my eyes).
Also it does away with the use of an INPUT_NEED_NL flag, using the same
strategy for partial \r\n sequences as is used for incomplete multibyte chars.
2014-02-28 18:25:20 +00:00
max
3e6fc11b81
Make printf debugging switchable, because it affects 'make test'
2014-02-28 11:05:35 +00:00
max
e622e61b3a
Broken intermediate state.
...
Calling back to CreateClientSocket() from the event loop works, but
the final failed or succeeded state of an asyncronous socket does not
get notified to the channel correctly.
2014-02-28 10:47:53 +00:00
dgp
2f73d6810c
Work in progress attempting a ReadChars rewrite.
2014-02-27 20:21:10 +00:00
dgp
378008089c
remove comment
2014-02-27 20:11:47 +00:00
dgp
8f2742b2f5
merge 8.5
2014-02-26 20:28:36 +00:00
dgp
4a58d3c00a
New tests covering INPUT_NEED_NL flag handling. One exposes a bug.
2014-02-26 17:47:46 +00:00
jan.nijtmans
4840e7dbb4
Simplify macro handling in tclOO*Decls.h, just as already done in "novem" [0c37ab8944], itcl*Decls.h and tdbc*Decls.h.
...
This doesn't change the way symbols are exported. This simplifications were already present in the Tcl 8.6.2 headers, but those were buggy when tclOO was linked in statically without using stubs.
2014-02-26 13:16:18 +00:00
max
e31901dcd5
Merge trunk
2014-02-26 12:44:12 +00:00
dgp
2207a65968
More coverage tests and bug fixes.
2014-02-26 11:26:00 +00:00
dkf
282de06cab
[8d5f5b8034] Flush internal representations in [string tolower] of unshared obj
2014-02-25 15:49:52 +00:00
oehhar
8f14151916
Do not reopen a win serial channel for serial detection. There are issues with some Bluetooth virtual com. Fix bug [2413550], patch by Rolf Schroedter
2014-02-25 08:02:17 +00:00
dgp
e8e909f1cd
Reduce ReadBytes to simplest expression.
2014-02-24 21:25:08 +00:00
dgp
6733e57835
simplification trims
2014-02-24 21:01:07 +00:00
dgp
6978c989d7
merge 8.5
2014-02-24 20:53:57 +00:00
dgp
d888a526f4
Merge the stricter binary mode experiment.
2014-02-24 19:11:37 +00:00
oehhar
ada7d66e9f
Do not reopen a win serial channel for serial detection. There are issues with some Bluetooth virtual com. Fix bug [2413550], patch by Rolf Schroedter
2014-02-24 17:25:08 +00:00
dkf
1a8dc819d6
[3597178]: Improve documentation of what's going on with encodings
2014-02-23 13:07:36 +00:00
dgp
b3bfa3ee1d
Simplify ReadBytes based on new constraints.
2014-02-21 15:12:16 +00:00
dgp
b6212a88b3
fix type error
2014-02-21 15:02:35 +00:00
dgp
01eab1e2cd
Switch consistently on the narrower def of binary mode.
2014-02-20 21:23:33 +00:00
dgp
90725c211b
Can we send some binary reads down the char-reading path?
2014-02-20 20:31:55 +00:00
dgp
90d3294572
Refactoring repair to fix failing test.
2014-02-20 03:51:16 +00:00
dgp
6e09fe5ab9
[1230597] Update test comment.
2014-02-19 14:12:37 +00:00
dgp
fa1ab4f740
[1230597] Update test comment.
2014-02-19 14:10:55 +00:00
dgp
3ac01c586f
Next coverage test to expose another refactoring error.
2014-02-19 03:45:17 +00:00
dgp
c65342141a
Shortcut ReadBytes() when it's a no-op.
2014-02-19 03:36:15 +00:00
dgp
0e8e132aca
Callers of TranslateInputEOL are expected to manage the INPUT_NEED_NL flag.
2014-02-18 23:20:06 +00:00
dgp
d4cb991846
Another coverage test that reveals refactoring error.
2014-02-18 21:27:35 +00:00
dgp
e51a0bd096
coverage test for -translation cr
2014-02-18 18:35:19 +00:00
dgp
521821debf
Refactor correction exposed by coverage test.
2014-02-18 18:26:22 +00:00
dgp
06a0036a49
Coverage test for -translation auto handling of INPUT_SAW_CR flag.
...
Demonstrates refactor failure.
2014-02-18 17:54:06 +00:00
dkf
c91f173c8b
[9bf7e67b37]: minor documentation blooper
2014-02-16 08:18:29 +00:00
dgp
ec145024fd
merge 8.5
2014-02-12 18:46:03 +00:00
jan.nijtmans
47f1107ebc
typo
2014-02-12 12:15:15 +00:00
jan.nijtmans
78bbf020ea
typo
2014-02-12 12:13:32 +00:00
dgp
342aec6684
Refactor so that CopyAndTranslateBuffer() calls on TranslateInputEOL()
...
instead of duplicating so much of its function. Note the testing gaps.
2014-02-11 19:53:41 +00:00
jan.nijtmans
f0882154a8
Fix execute permission bit (should not be set) for *Decls.h files
2014-02-11 10:58:30 +00:00
oehhar
89583a6623
Changed position of flag evaluation as proposed by Phil Hoffman
2014-02-11 08:53:33 +00:00
jan.nijtmans
0258413bde
Eliminate all usage of WIN32 and __WIN32__ macros: Some compilers (e.g. Clang/LLVM) don't define it, and _WIN32 is much more portable anyway.
...
See: [http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system#WindowsCygwinnonPOSIXandMinGW ]
2014-02-10 11:59:22 +00:00
dgp
e175773277
This patch is not pointless. Tests encoding-25.* demonstrate its utility.
2014-02-07 19:40:25 +00:00
dgp
b6ae0212a1
[a4494e28ed] Use flag bit instead of NULL pointer to suppress
...
teardown list of imported commands when the original command
gets re-created. This prevents the panic otherwise possible when
the invalid state represented by the NULL pointer is encountered
during a command delete trace.
2014-02-06 22:48:34 +00:00
dgp
5ff110b484
Change the flag value to avoid merge conflict with trunk.
2014-02-06 22:41:14 +00:00
dgp
438b687249
[a4494e28ed] Use flag bit instead of NULL pointer to suppress teardown list of
...
imported commands when the original command gets re-created. This prevents the
panic otherwise possible when the invalid state represented by the NULL pointer
is encountered during a command delete trace.
2014-02-06 22:38:17 +00:00
jan.nijtmans
8c3bcfe950
check for existance of __BORLANDC__ before using its value
2014-02-06 21:45:29 +00:00
jan.nijtmans
cacb796441
Check for existance of __BORLANDC__ before using its value
2014-02-06 21:44:43 +00:00
dgp
cad363e97d
Revised ReadChars to restore an attempt to make sure we do not short read
...
because of a false notion of limited storage space.
The test suite does not appear to demonstrate any case where this matters.
Could be an incomplete test suite, or an example of pointless code.
2014-02-06 19:04:36 +00:00
dgp
f54081e9e5
merge 8.5
2014-02-06 16:33:24 +00:00
jan.nijtmans
40094302e0
Satisfy required position of __stdcall from VC++
2014-02-04 21:52:46 +00:00
jan.nijtmans
c7569e1c35
Satisfy required position of __stdcall from VC++
2014-02-04 21:51:32 +00:00
jan.nijtmans
ae659fdb12
Add missing __stdcall (which crashes on win32), and clean-up indenting
2014-02-04 21:33:13 +00:00
jan.nijtmans
fc5e6debde
remove duplicate declaration
2014-02-04 21:29:44 +00:00
jan.nijtmans
876dd3ac96
Add missing __stdcall (which crashes on win32), and clean-up indenting
2014-02-04 21:21:53 +00:00
dgp
8c665116c9
Simplify the core output operations of channels. Reduce duplicative and dead code.
2014-02-04 16:24:14 +00:00
dgp
1eb2dfe0fc
Simplify the core output operations of channels. Reduce duplicative and
...
dead code.
2014-02-04 15:17:12 +00:00
dgp
f53e4a7a0e
Be sure to finalize the identity encoding.
2014-02-04 14:30:55 +00:00
dkf
5be047220d
make the printing of source much less inclined to be fazed by non-ASCII chars
2014-02-04 09:02:23 +00:00
dkf
510244810f
[971cb4f1db]: Make debugging traces less inclined to serious visual corruption
2014-02-04 08:15:52 +00:00
dgp
9f92115d2d
merge 8.5
2014-02-03 22:58:36 +00:00
jan.nijtmans
ad8e3dcb0a
Fix [651e828a52]: Wrong Windows version reported for Windows 8.1
2014-02-03 15:19:26 +00:00
jan.nijtmans
f77ffeb9b2
Fix [651e828a52]: Wrong Windows version reported for Windows 8.1
2014-02-03 14:43:52 +00:00
dkf
c574af192d
add compilation of [string is]
2014-02-02 16:01:21 +00:00
dkf
fd4bc0f106
compilation of [string is]
2014-02-02 14:43:48 +00:00
dkf
cca7f018e0
improve the disassembly
2014-02-02 14:42:12 +00:00
dgp
e12cc95f12
Simplify macro typecasting.
2014-01-31 22:07:10 +00:00
dgp
beb8c62dff
The "channel" Tcl_ObjType is caching only. It never needs an UpdateString routine.
...
It's also static to the tclIO.c file.
2014-01-31 20:42:21 +00:00
dgp
684c2c9051
Do not call updateStringProc directly. We have TclGetString() for that.
2014-01-31 20:02:58 +00:00
jan.nijtmans
767efbf478
Fix [4b3b7a3082]: tcl8.5.15/generic/tclExecute.c:7713: array index before sanity check ?
2014-01-31 09:19:11 +00:00
jan.nijtmans
b4b95b976a
Fix [4b3b7a3082]: tcl8.5.15/generic/tclExecute.c:7713: array index before sanity check ?
2014-01-31 09:13:13 +00:00
dgp
2c59046c95
Refactor to eliminate the DoWriteChars() layer.
2014-01-30 20:10:21 +00:00
dgp
f11f5780e0
Eliminate DoWrite(). It duplicates WriteBytes().
2014-01-30 19:30:34 +00:00
dgp
c00d7aa9b9
Trial: Implement DoWrite() as WriteBytes().
2014-01-30 19:13:28 +00:00
dgp
050c8a639f
Simplification and cleanup enabled by last commit.
2014-01-30 18:45:11 +00:00
dgp
248247d828
Refactor WriteChars() and WriteBytes() into simple wrappers of a common
...
routine Write().
2014-01-30 18:31:39 +00:00
oehhar
42f972d403
merge 8.5
2014-01-30 15:02:40 +00:00
dgp
a92cc7b340
Eliminate the use of a staging buffer in WriteChars().
2014-01-30 14:51:44 +00:00
jan.nijtmans
b6ac569a5d
Fix [22c10c8e79]: core-8-5: msvc6 build: "Side by Side" error
2014-01-30 14:50:22 +00:00
jan.nijtmans
2c00f457ae
Fix [22c10c8e79]: core-8-5: msvc6 build: "Side by Side" error
2014-01-30 14:44:56 +00:00
dgp
4a8456e406
Eliminate the use of a staging buffer in WriteChars().
2014-01-30 14:31:17 +00:00
oehhar
63d77c0046
win/tclWinChan.c Tcl_InitNotifier: Bug [2413550] Avoid reopening of serial channels which causes issues with Bluetooth virtual com. Patch by Rolf Schroedter.
2014-01-30 11:02:51 +00:00
andreask
cc6eaf6308
Squashed C99 syntax breaking the native AIX cc.
2014-01-29 23:18:58 +00:00
dkf
6597355ad8
Compile [string is] with character classes in a non-awful way. Needs more work to make resulting bytecode disassemble nicely.
2014-01-29 13:59:32 +00:00
dgp
c53002fe3b
The outputStage field is now unused, so never allocate it.
2014-01-28 20:23:26 +00:00
dgp
2c2a7d737a
tidy things up
2014-01-28 20:19:39 +00:00
dgp
d250eba26d
Working code with no staging buffer use.
2014-01-28 18:51:59 +00:00
dgp
2585021472
WIP
2014-01-28 11:04:57 +00:00
dgp
518e457db3
merge 8.5
2014-01-27 17:58:10 +00:00
dgp
7afa150e2f
merge 8.5
2014-01-27 17:35:53 +00:00
dgp
490384e3e7
Revise the Tcl_Append* machinery to tolerate NULL bytes to append.
...
Then have ReadChars() use that machinery to resize buffer receiving input,
rather than invent its own version. Simplify ReadChars() callers.
2014-01-27 17:35:27 +00:00
jan.nijtmans
4e83fe1049
sync tcl.m4 with Tk version
2014-01-25 21:41:48 +00:00
jan.nijtmans
5d9939831c
sync tcl.m4 with Tk version
2014-01-25 21:41:12 +00:00
dkf
f4549b8fc4
merge principal development branch
2014-01-25 09:02:30 +00:00
dgp
d7803bcb41
merge 8.5
2014-01-24 22:33:30 +00:00
dgp
c25181bd7d
In WriteChars(), eliminate the copy step through a staging buffer when it
...
is not required for channel translation.
2014-01-24 21:52:59 +00:00
dgp
2ceb7a6077
In WriteChars(), eliminate the copy step through a staging buffer when
...
it is not required for channel translation.
2014-01-24 21:45:39 +00:00
dgp
e3bde55a0f
Eliminate the copy to a staging buffer when that serves no functional purpose.
2014-01-24 17:38:59 +00:00
dkf
834d5da992
improved tidy-up from branch
2014-01-22 19:33:03 +00:00
jan.nijtmans
2be298f89d
remove unused variable
2014-01-22 13:48:16 +00:00
dkf
c9ae8d64d3
minor tidying up
2014-01-22 09:14:57 +00:00
dkf
477af49f88
add compilation for [nextto] and [yieldto]; fix [a90d9331bc]
2014-01-22 09:11:07 +00:00
dkf
7716fd3e46
[a90d9331bc]: must not crash when yieldto called in vanishing namespace
2014-01-22 09:07:45 +00:00
dgp
e99699b008
There is no need for ReadBytes() or its caller(s) to track how many bytes
...
are actually stored in objPtr. The ByteArray Tcl_ObjType already has the
machinery to take care of this.
2014-01-21 22:08:16 +00:00
dgp
72fa9a96c8
Backport of bytearray append machinery to support bug fixes in ReadBytes.
2014-01-21 21:32:53 +00:00
dgp
8fc4750efc
merge mark
2014-01-21 18:17:14 +00:00
dgp
78b4196767
Silence compiler warnings.
2014-01-21 18:16:37 +00:00
dgp
1e9a5591d9
[2992970] Restore safety of Tcl_AppendObjToObj(x, x) for bytearrays.
2014-01-21 17:25:41 +00:00
dkf
128e4211ae
implementation of [yieldto] in bytecode
2014-01-21 15:07:59 +00:00
dkf
88b2f7f06e
added compilation for [nextto]
2014-01-19 18:39:24 +00:00
dgp
a994cc42f5
[2992970] Restore the safety of Tcl_AppendObjToObj(x, x) for bytearrays.
...
Also moves overflow checking to TclAppendBytesToByteArray() and adds
the ability to call TABTBA() with bytes==NULL, for appending unspecified
bytes. That is, the string grows, but the new bytes are of undetermined
value. Like Tcl_NewByteArrayObj(NULL, length) this option is useful
for manipulating buffers. The TABTBA growth algorithm is also enhanced
a bit, copying over a fuller implementation from GrowStringBuffer()
in tclStringObj.c
2014-01-15 19:04:52 +00:00
dkf
12945e9a16
extend [string is] to booleans
2014-01-13 08:06:43 +00:00
dkf
2803a8a055
a different approach
2014-01-10 15:58:41 +00:00
dkf
29ae06c2d3
use compact form
2014-01-09 10:49:04 +00:00
jan.nijtmans
48459b2357
Make DEFAULT_TRIM_SET a MODULE_SCOPE string constant, so its value can be shared in tclCmdMZ.o and TclCompCmdsSZ.o
...
and it no longer pollutes the tclStringTrim.h header file.
2014-01-08 11:04:44 +00:00
dkf
8f95efa4cf
merge main working branch
2014-01-07 14:25:22 +00:00
dkf
c8e62b1cfa
Add compilations for the following commands:
...
* concat
* linsert
* namespace origin
* next
* string replace
* string tolower
* string totitle
* string toupper
* string trim
* string trimleft
* string trimright
2014-01-07 14:19:04 +00:00
dkf
cbc312324e
make function static once more; not needed outside of source file
2014-01-07 14:13:37 +00:00
dkf
03ecb591a6
reduce the overhead of NR-enabled TclOO [next]
2014-01-07 13:59:30 +00:00
dkf
6bb7b1e15d
factor out a common stanza
2014-01-05 17:31:38 +00:00
dkf
a2e12b4377
merge main working branch
2014-01-05 17:00:15 +00:00
dkf
6d9846f8c9
merge trunk
2014-01-05 16:57:05 +00:00
mig
666deab1ea
fix arraySet compiler to set -errorcode instead of -errorCode in return options
2014-01-05 15:01:52 +00:00
mig
bb9e19e6eb
skip the switch(result) on returning TCL_OK from a proc
2014-01-05 14:10:42 +00:00
mig
ea8a9ba071
reducing TEBCdata: pc and cleanup now passed in the NREcallback
2014-01-05 12:01:04 +00:00
dkf
430c9bc178
redevelop code to have more in common with the interpreted [string is] and to remove non-working types
2014-01-02 15:30:53 +00:00
jan.nijtmans
e7e7bafe96
merge-mark
2014-01-02 10:11:42 +00:00
dkf
9c349ce2e2
more fixes to instruction tracing; ensure all places that need DECACHE_STACK_INFO have it
2014-01-02 10:01:35 +00:00
dkf
e7f9c9c822
merge main working branch
2014-01-02 09:38:03 +00:00
dkf
83fcae9bbe
implement TclOO's [next] in bytecode
2014-01-02 09:17:07 +00:00
dkf
d5961a83e0
merge main working branch; made opcode work by getting callback ordering right
2014-01-02 09:15:18 +00:00
dkf
9c6b83d5b1
merge trunk
2014-01-02 08:51:04 +00:00
dkf
8a115927af
... and more silly errors
2014-01-02 08:50:08 +00:00
dkf
68cab10668
merge trunk
2014-01-02 08:35:48 +00:00
dkf
c28c2d5b9a
oops...
2014-01-02 08:35:01 +00:00
dkf
78f85049ff
merge main working branch
2014-01-02 08:32:36 +00:00
dkf
a30f092ea3
merge trunk
2014-01-02 03:27:16 +00:00
dkf
4f13f826e4
more fixes to instruction tracing; ensure all places that need DECACHE_STACK_INFO have it. jan.nijtmans: Branch moved aside an hidden, so future bisects are not affected by this branch mistakes.
2014-01-02 03:10:43 +00:00
dkf
1c54736c0d
factor out a common peephole stanza
2014-01-01 16:19:14 +00:00
dkf
f9dd75e79c
another jump peephole, this time with string comparisons
2013-12-31 23:34:57 +00:00
dkf
d423ce0c06
more cleaning up of error-case instruction tracing
2013-12-31 17:28:16 +00:00
dkf
76b954ec41
merge trunk
2013-12-31 16:28:15 +00:00
dkf
c45f1130d1
more peephole optimizations in TEBC, and better instruction execution traces
2013-12-31 16:26:55 +00:00
mig
0891bbbcbb
clarify the resume sequence in TEBCresume; make checkInterp a local variable, remove it from the saved struct
2013-12-31 12:14:50 +00:00
dkf
05feb2c73f
merge trunk
2013-12-31 10:49:07 +00:00
dkf
0e49a49b8f
remove ill-advised change to assembler
...
What made sense for the compiler does not for the assembler, as that can (and does) build code blocks entirely out of order.
2013-12-31 10:47:19 +00:00
dgp
57dc79f34e
merge trunk
2013-12-30 16:36:12 +00:00
dkf
413a0c2501
put the other definition of a trim set in the header file too
2013-12-30 11:56:54 +00:00
dkf
76007824cc
Factor out the definition of the default string trim set; define it once only.
2013-12-30 11:40:44 +00:00
dkf
db5995b2b8
merge main working branch
2013-12-30 10:24:20 +00:00
dkf
9083b5bf61
merge main working branch
2013-12-30 08:50:28 +00:00
dkf
4ad593f2bf
implement [namespace origin] in bytecode
2013-12-30 08:37:49 +00:00
dkf
cdacc33cbb
allow generation by assembler
2013-12-30 08:16:21 +00:00
dkf
f7157671ce
corrected comment
2013-12-30 08:12:52 +00:00
dkf
b004b21242
Improved general case of [string replace] implementation.
2013-12-29 18:49:20 +00:00
dkf
7319a7803b
precondition was wrong, and needed to flush part of the string/internal rep
2013-12-29 18:48:09 +00:00
dkf
7a36091c38
use the new instruction
2013-12-29 16:59:15 +00:00
dkf
4ee64245d2
completed instruction implementation
2013-12-28 17:21:39 +00:00
dkf
24707208d7
interim commit; not yet working
2013-12-24 18:57:46 +00:00
dkf
cbfb4c7624
merge trunk
2013-12-23 18:32:17 +00:00
mig
724d7b20d4
Added new tools for managing and verifying the stack depth during compilation. Used it in some spots in the compiler and in TclCompileCatchCommand.
2013-12-23 11:28:12 +00:00
mig
c339e59205
remove unnecessary messing around INST_CONTINUE and INST_BREAK: local continue/break are already converted to jumps, so that these are either caught or returned - in either case, the stacks are cleaned up properly by TEBC itself.
2013-12-22 14:11:46 +00:00
mig
9b9e35d814
remove duplicate statement in previous commit
2013-12-22 13:03:19 +00:00
mig
0065bfd6bc
fix stack counting bug in new catch compiler, commit 62a51cdb45.
2013-12-22 12:52:39 +00:00
mig
6bde9d5683
remove INST_TRY_CVT_TO_NUMERIC when it is known not be necessary (cherrypick from mig-optimize)
2013-12-20 21:59:28 +00:00
jan.nijtmans
f324306fb2
Add TclRegisterLiteral() to internal stub table (from "mig-optimize" branch, looks like a good idea anyway)
2013-12-19 14:35:50 +00:00
dgp
b23b38a551
[0b874c344d] Fix for nested coroutines ability to stitch together multiple
...
parts of the CmdFrame chain traversed by [info frame].
2013-12-18 18:23:20 +00:00
dgp
cd07187c44
merge trunk
2013-12-18 18:20:56 +00:00
dgp
b12d345ba7
Big simplification of the bug fix.
2013-12-18 18:09:09 +00:00
mig
7e06231c54
Making the optimizer pluggable by extensions
2013-12-18 16:06:22 +00:00
mig
1412caa12b
Making the optimizer pluggable by extensions; please review for committing to trunk
2013-12-18 15:34:39 +00:00
dgp
4994878d50
Factor out the level offsetting into a final pass. Let the first
...
pass of the "chain" operation just stitch things together and count levels.
2013-12-17 21:19:36 +00:00
dgp
fc27205f3f
Refactoring work on the "chain" operation.
2013-12-16 21:01:35 +00:00
dkf
27e8904ab4
Improve descriptions of character escapes and ranges in Tcl.n.
...
Improve output format handlers to cope with added escape for en-dashes.
2013-12-15 17:49:53 +00:00
dgp
0011796c30
Simplify the coding of the unchain operation.
2013-12-13 18:39:12 +00:00
dkf
f1a1245d74
simple compilation of [string replace]
2013-12-12 09:57:38 +00:00
dkf
03b5a36e45
merge trunk; document added instructions
2013-12-12 09:13:39 +00:00
dkf
19de6f5858
merge trunk
2013-12-12 08:09:45 +00:00
mig
7e2ce590ba
simplification of the catch compiler and new test
2013-12-11 16:46:38 +00:00
mig
3ad596b1a5
comments
2013-12-11 16:43:26 +00:00
mig
ac531cc463
comments
2013-12-11 16:33:21 +00:00
mig
e8186595e3
comments
2013-12-11 16:27:59 +00:00
mig
51c5c21dee
new test, and fix for bug
2013-12-11 15:55:28 +00:00
mig
411f830f50
simplify: remove the special case
2013-12-11 15:16:20 +00:00
mig
6f08bd3872
store options early: simplify compiler, reduce stack manipulations
2013-12-11 14:51:15 +00:00
mig
0cf62ad8a4
simplifying: drop early the evaled script
2013-12-11 13:49:20 +00:00
mig
6446b79fe2
fix stack computations for lmap
2013-12-10 12:05:06 +00:00
mig
1adbdd114b
new INST_LMAP_COLLECT, speeds up lmap and eliminates the need for a temp var
2013-12-10 11:38:17 +00:00
mig
2e16688b51
change NULL to INT2PTR(0), for clarity
2013-12-06 15:58:12 +00:00
mig
0c65e944bb
change NULL to INT2PTR(0), for clarity
2013-12-06 14:29:49 +00:00
mig
0e8f545071
merge trunk
2013-12-06 14:20:13 +00:00
jan.nijtmans
b737753dbb
Oops, wrong macro.
2013-12-06 10:17:58 +00:00
jan.nijtmans
43f960c3de
Introducing a new union member in Tcl_Obj is not a good idea in a patch release, especially using "long".
...
Better allow iterNum and iterMax to grow to ssize_t (or size_t) in Tcl 9 (or 8.x, why not?).
Usage of "long" in public API causes interoperability problems between Cygwin64 and Win64 (probably no-one cares except me).
2013-12-06 10:04:48 +00:00
dkf
2127f0af03
merge trunk
2013-12-06 09:33:14 +00:00
dkf
fd4b837586
Stop printing undefined values in disassembled code.
2013-12-06 09:28:45 +00:00
mig
e148764f60
3x speed improvement in foreach, via new compiler and opcodes. The old version remains for old .tbc sake, but is unused in the core.
2013-12-06 05:24:07 +00:00
mig
bd2bdc1904
adapted the array-set compiler to use the new foreach opcodes
2013-12-06 01:07:10 +00:00
mig
e839a385d8
tighter mem management in array-set compiler
2013-12-06 00:16:07 +00:00
mig
74ce54a69d
tighter mem management
2013-12-06 00:02:16 +00:00
dgp
a92abd2be9
Draft fix for Bug 0b874c344d. Includes test.
2013-12-05 20:45:45 +00:00
mig
b195b45848
add comments on INST_FOREACH_*
2013-12-05 17:18:54 +00:00
mig
d4c2352c27
add comments on field "misuse"
2013-12-05 16:01:16 +00:00
mig
fe466d7e44
New compiler and bytecodes for foreach and lmap: 70% faster
...
* speed as measured by http://wiki.tcl.tk/39021 : runs in <1/3 the time
* still need to adapt array-set to use this
* assemble.test-16.5 or 16.6 bombs in a purify/symbols build (?)
* removing the old opcodes would force recompilation of old .tbc files or adaptation of tbcload
2013-12-05 15:15:23 +00:00
dkf
f0e61b3c22
[a122627849] Improve stack trace from parray on not-array.
2013-11-24 18:35:01 +00:00
dkf
01b92615b5
[a122627849] Improve stack trace from parray on not-array.
2013-11-24 18:34:16 +00:00
jan.nijtmans
0e5086f719
revert accidental part of previous commit
2013-11-22 13:21:52 +00:00
jan.nijtmans
43ee8fffc8
Cygwin: Fix conflicting definition with _mingw_stat64.h, if included together with <tcl.h>
2013-11-22 13:17:43 +00:00
jan.nijtmans
cec233a888
Cygwin: Fix conflicting definition with _mingw_stat64.h, if included together with <tcl.h>
2013-11-22 13:16:21 +00:00
jan.nijtmans
dec33abc5a
Modify makefile.vc for Windows 8.1 support
2013-11-21 16:22:34 +00:00
jan.nijtmans
6a67104caf
Modify makefile.vc for Windows 8.1 support
2013-11-21 16:20:01 +00:00
jan.nijtmans
c82de03edf
Add support for Windows 8.1: See [ http://msdn.microsoft.com/en-us/library/windows/desktop/dn302074.aspx ]
2013-11-21 11:52:34 +00:00
jan.nijtmans
5709ed46ce
Add support for Windows 8.1: See [ http://msdn.microsoft.com/en-us/library/windows/desktop/dn302074.aspx ]
2013-11-21 11:43:00 +00:00
jan.nijtmans
c8f1a349c0
The only relyable way of changing environment variables to uppercase (e.g. env(ComSpec) to env(COMSPEC)) is unsetting the old one first. Long-standing bug, exposed by [219226].
2013-11-21 09:24:59 +00:00
jan.nijtmans
b89b27df42
The only relyable way of changing environment variables to uppercase (e.g. env(ComSpec) to env(COMSPEC)) is unsetting the old one first. Long-standing bug, exposed by [219226].
2013-11-21 09:18:04 +00:00
jan.nijtmans
d34df50ace
Safer clean-up of environment variables: Do removal after insertions -> tcltest 2.3.7
2013-11-20 16:06:35 +00:00
jan.nijtmans
8422ebbd58
Safer clean-up of environment variables: Do removal after insertions -> tcltest 2.3.7
2013-11-20 16:04:43 +00:00
jan.nijtmans
6df3935a96
Starting with Windows 8 DSK, GetVersionExA is deprecated
2013-11-20 14:40:38 +00:00
jan.nijtmans
26ecd5e219
Starting with Windows 8 DSK, GetVersionExA is deprecated
2013-11-20 14:38:08 +00:00
jan.nijtmans
153e7dd764
Fix env-5.1 test-case on Cygwin (and probably other platforms which don't have iso8859-1 as system-encoding)
2013-11-20 12:58:35 +00:00
jan.nijtmans
3d8b62339c
... and don't break env-5.3 and env-5.5 test-cases.
2013-11-20 11:34:29 +00:00
jan.nijtmans
4043a96088
Bug Fix: EnvTraceProc() MUST always return NULL to indicate success.
2013-11-20 11:20:32 +00:00
dkf
cdc8943683
merge trunk
2013-11-19 13:02:05 +00:00
jan.nijtmans
065d2c77e4
Some formatting
2013-11-19 11:50:03 +00:00
jan.nijtmans
2d9f60b950
Cygwin: Instead of checking whether the win32 part is configured properly, just configure it when needed.
...
Always build the stub library first (and - on Cygwin - configure win32 properly just before building the stub library)
2013-11-19 09:47:47 +00:00
jan.nijtmans
ca48321a28
Revert [5215b8740c] (Enh [2959069]), as it turns out that -fvisibility=hidden only affects definitions and not declarations.
...
Therefore explicitely declaring each MODULE_SCOPE function as __attribute__((__visibility__("hidden")) is much better.
Suggested by Stuart Cassoff (Thanks!).
2013-11-19 09:09:42 +00:00
jan.nijtmans
36434499c3
Cygwin: Instead of checking whether the win32 part is configured properly, just configure it when needed.
...
Always build the stub library first (and - on Cygwin - configure win32 properly just before building the stub library)
2013-11-19 08:23:05 +00:00
max
2a15c7082e
merge trunk
2013-11-18 13:37:16 +00:00
max
bb220ac0ad
Revert [3c0b0bbda6]. If this really is a problem, it needs to get fixed by other means than covering behind void pointers.
2013-11-18 13:32:30 +00:00
max
9901b732cc
To prepare for completion of the [socket -async] implementation on Windows [13d3af3ad5]:
...
* Move the server code from CreateSocket to Tcl_OpenTcpServer.
* Rename CreateSocket to CreateClientSocket.
* Unify the naming convention of socket channels with Unix (sock + hex representation of the state/info structure).
2013-11-18 12:35:58 +00:00
jan.nijtmans
317c7c6991
Eliminate some redundant Tcl_GetErrno() calls.
2013-11-18 11:00:51 +00:00
jan.nijtmans
114f20490f
Fix [e832d2b08]: unnecessary code in Tcl_SetMaxBlockTime.
2013-11-16 21:06:46 +00:00
jan.nijtmans
8b83c2b467
Fix [e832d2b08]: unnecessary code in Tcl_SetMaxBlockTime.
2013-11-16 21:05:38 +00:00
jan.nijtmans
8feecdc04e
Map WSAEWOULDBLOCK to EWOULDBLOCK. Suggested by Reinhard Max.
2013-11-16 20:33:17 +00:00
max
6529091343
Don't leak getaddrinfo() results
2013-11-15 16:13:53 +00:00
dkf
1be1a5dfa4
merge trunk
2013-11-14 10:25:33 +00:00
dkf
695df45b40
Grammar check...
2013-11-12 15:47:21 +00:00
dkf
dba0465748
[528717] Slight rewording to clarify what the evaluation steps are.
2013-11-12 15:43:55 +00:00
max
4de413a551
socket-14.6 only makes sense where both, IPv4 and IPv6 are supported.
2013-11-12 13:12:21 +00:00
max
50b02bc49a
Fix [5425f2c082]: [fconfigure -error] breaks the background processing of a pending [socket -async].
2013-11-12 11:45:04 +00:00
jan.nijtmans
47d3e9dbac
Fix [426679ef7d]: Having man.macros after .TH breaks rendering on OpenBSD and possibly others.
2013-11-05 12:39:47 +00:00
jan.nijtmans
edd7296583
Fix [426679ef7d]: Having man.macros after .TH breaks rendering on OpenBSD and possibly others.
2013-11-05 12:36:17 +00:00
jan.nijtmans
dd3a00dac4
Put extern "C" guards around all stub table struct definitions, so it is usable for C++ compilers as well without the danger of modifying the calling convention.
...
For tclDecls.h and tclOODecls.h it was no problem, because tcl.h and tclOO.h already contain those guards. But for the other *Decls.h files (e.g. tclTomMathDecls.h) it was not correct.
2013-11-04 10:13:59 +00:00
jan.nijtmans
010943474b
Put extern "C" guards around all stub table struct definitions, so it is usable for C++ compilers as well without the danger of modifying the calling convention.
...
For tclDecls.h it was no problem, because tcl.h already contains those guards. But for the other *Decls.h files (e.g. tclTomMathDecls.h) it was not correct.
2013-11-04 10:02:58 +00:00
jan.nijtmans
9e746d7f58
Windows dll's should be executable.
2013-10-31 11:44:37 +00:00
dkf
efa791f58b
merge trunk
2013-10-29 20:08:41 +00:00
dkf
bc84019495
Now do [string toupper], [string tolower] and [string totitle]. Only handles the no-indices case; that's the only case anyone actually commonly uses.
2013-10-29 20:07:56 +00:00
jan.nijtmans
89c02b35e1
Workaround for [414d10346b]: tcl 8.5.15/8.6.1(threaded build) hangs in exec on HP-UX
2013-10-29 08:17:19 +00:00
jan.nijtmans
71bc6d6f0a
Workaround for [414d10346b]: tcl 8.5.15/8.6.1(threaded build) hangs in exec on HP-UX
2013-10-29 08:15:36 +00:00
jan.nijtmans
31d8fbb925
Don't fix eol-style for Makefile.in in "make dist", if the file system is case-insensitive/case-preserving.
2013-10-28 10:57:25 +00:00
jan.nijtmans
c4047c81e6
Bump tcltest version to 2.3.6 (should have been done just before the 8.5.15 release, just as in Tcl 8.6.1).
...
Don't fix eol-style for Makefile.in in "make dist", if the file system is case-insensitive/case-preserving.
2013-10-28 10:55:37 +00:00
dkf
b5a083c5f4
[01b77111e5]: Small fixes relating to this bug. In particular, the package name
...
mapping was not being distributed, and there were some small problems with what
the mappings were and how they were applied. Also prevented external URLs from
ending with a '.'; that's vanishingly rare...
2013-10-28 09:23:30 +00:00
dkf
504122c70e
merge trunk
2013-10-27 08:32:38 +00:00
dkf
fee9da8b41
[53a917d6c9]: Correction to macro for determining how to deprecate things.
...
Thanks to Raphael Kubo da Costa <rakuco@FreeBSD.org > for the patch.
2013-10-27 08:28:43 +00:00
dkf
9cc416d585
General [concat] compilation.
2013-10-26 08:25:02 +00:00
dkf
f663a0f78d
Change name of instruction to make way for future changes.
2013-10-26 07:50:08 +00:00
jan.nijtmans
0b75dbad3d
Fix [3eb2ec1449]: Allow upper case scheme names in url. http -> 2.8.8
2013-10-25 13:08:04 +00:00
jan.nijtmans
216ade8493
Fix [3eb2ec1449]: Allow upper case scheme names in url. http -> 2.7.13
2013-10-25 12:57:19 +00:00
dkf
edff530f8d
First step in compiling [concat]: the trivial cases.
2013-10-24 07:21:14 +00:00
dgp
ffb2a3d9b4
merge trunk
2013-10-23 15:34:01 +00:00
dgp
c677a19c44
silence compiler warning
2013-10-23 15:32:58 +00:00
dkf
cc5f831d90
Stack depth calculation correction.
2013-10-23 08:33:40 +00:00
dkf
905746921e
[3556215]: Made [scan] match [format] better in what it accepts as a format
...
string, by allowing uppercase %X, %E and %G.
2013-10-22 18:58:49 +00:00
dkf
383f020ee8
[3556215]: Made [scan] match [format] better in what it accepts as a format
...
string, by allowing uppercase %X, %E and %G.
2013-10-22 18:55:02 +00:00
dkf
054a071db5
merge fixes from trunk
2013-10-22 17:36:22 +00:00
dkf
2ffe17a9b3
Fix for assemble.test; problem was a total assumption failure caused by way that the assembler works.
2013-10-22 17:34:55 +00:00
dkf
fb7a292613
Fix problems in for.test
2013-10-22 14:29:03 +00:00
dkf
345c194b8e
corrected trace printing
2013-10-22 09:18:19 +00:00
dgp
7a42d12716
silence compiler warnings
2013-10-21 14:35:02 +00:00
dkf
e1e7fafd59
merge trunk
2013-10-20 18:44:22 +00:00
dkf
8d4b93ccb7
[2835313] Ensure correct stack balance when break and continue exceptions are about: the hard cases with potential concealed exception generation.
2013-10-20 18:15:08 +00:00
dkf
d9096d1ada
And the last bits that need fixing; the code is still less efficient than desired but should now not crash.
2013-10-20 18:11:35 +00:00
dkf
fc106439d4
Fix handling of 'invokeExpanded' and start to do 'returnStk'.
2013-10-19 14:11:28 +00:00
dkf
c0d3a447bc
Added missing exception range finalize.
2013-10-19 12:29:06 +00:00
dkf
0981d85b0c
Improve coverage of [error] compilation.
2013-10-19 11:20:46 +00:00
dkf
443ca84a71
Tackle evalStk by reusing existing machinery.
2013-10-18 07:08:46 +00:00
jan.nijtmans
c10d93603c
Fix execute permission on many files which shouldn't have it.
2013-10-17 09:40:27 +00:00
jan.nijtmans
edbfaa468e
Fix execute permission on many files which shouldn't have it.
2013-10-17 09:28:11 +00:00
jan.nijtmans
2d9a87e3f1
-I${BUILD_DIR}/.. doesn't work when BUILD_DIR != "unix".
...
Reported by Matthias Kraft
2013-10-15 21:09:19 +00:00
dkf
2aaf426036
Do jump generation at places where INST_RETURN_IMM might occur.
2013-10-15 00:27:56 +00:00
jan.nijtmans
d6d11c65a3
Tcl_SetResult -> Tcl_SetObjResult in two places (for Cygwin64 only).
2013-10-14 08:34:48 +00:00
jan.nijtmans
87660da586
Fix comment in tclOO.decls: tclOOStubLib.c is not generated by "make genstubs".
...
In pkgooa.c, check whether the internal TclOO stub table is initialized correctly as well, some internal simplifications and improved comments.
2013-10-14 08:11:59 +00:00
dkf
e15b769c9d
Added the tests I want to pass...
2013-10-13 13:57:27 +00:00
dkf
d197994bd2
update comments
2013-10-13 13:34:01 +00:00
dkf
19e7a90783
Stop crashing in interactive testing. (The unknown and history mechanisms tend
...
to exercise some parts of the bytecode compiler very well.)
2013-10-13 12:09:22 +00:00
jan.nijtmans
9ad995c1bb
Allow loading of pkgooa.so in Tcl 8.5 for (regression) test purposes.
...
Better error messages in stead of crashes in some (hypothetical) error situations.
2013-10-13 10:45:08 +00:00
jan.nijtmans
31d188239f
Even though TCLOO_PATCHLEVEL is equal to TCLOO_VERSION, using "patchlevel" is more appropriate in those two places.
2013-10-11 10:26:35 +00:00
dkf
976d7cab2f
[98c8b3ec12] Use constraint to work around failing test; it's just a bug in the
...
underlying library, and one that appears fixed in later versions. Not our fault
if some OSes don't update. (It's also in a very esoteric spot.)
2013-10-10 21:24:15 +00:00
jan.nijtmans
74f3e06000
Fix for bug [f51efe99a7]: MinGW build fails on current checkin. And a new test-case which makes the problem visible on UNIX as well.
2013-10-10 14:13:51 +00:00
jan.nijtmans
f4c238d6a7
Update to Unicode 6.3 tables
2013-10-09 22:03:28 +00:00
jan.nijtmans
9d1312440e
Update to Unicode 6.3 tables
2013-10-09 21:57:26 +00:00
dkf
daab595dea
Working towards better handling of stack balance with break and continue exceptions.
2013-10-08 09:02:50 +00:00
jan.nijtmans
f86d726f85
Fix for [d4e464ae48]: tcl 8.5.15/8.6.1 breaks python make check on darwin
2013-10-07 14:25:21 +00:00
jan.nijtmans
3ad87b0a02
Fix for [d4e464ae48]: tcl 8.5.15/8.6.1 breaks python make check on darwin
2013-10-07 14:23:00 +00:00
jan.nijtmans
c83af8f8d4
First attempt to fix bug [d4e464ae48]: tcl 8.5.15/8.61 breaks python make check on darwin
2013-10-06 19:27:50 +00:00
dkf
d6e62aeb84
[3381085] Improved way of detecting what version of the documentation to build.
...
Set the HTML_VERSION environment variable to override the (sensible) default.
2013-10-06 19:17:20 +00:00
dkf
a1ae407099
Factor out some knowledge of immediate index encoding.
2013-10-06 13:21:10 +00:00
Kevin B Kenny
eb7a25fe2b
mark merge
2013-10-05 16:30:16 +00:00
Kevin B Kenny
560c2dcbe1
Advance to tzdata2013g
2013-10-05 16:28:52 +00:00
Kevin B Kenny
7413854f34
Advance to tzdata2013g
2013-10-05 16:22:16 +00:00
dkf
e1e4f33ee4
merge trunk
2013-10-05 13:58:48 +00:00
dkf
d9b2d9628a
Added 'linsert' compiler. Factored out constant list index parser.
2013-10-05 13:53:30 +00:00
dkf
28552e2e35
Added missing documentation. Corrected result of Tcl_OOInitStubs in non-stub case.
2013-10-04 13:12:22 +00:00
jan.nijtmans
c3651154a7
When compiling with MSVC++, no longer link the stub library with msvcrt??.dll.
...
This way, workarounds in extensions like [http://core.tcl.tk/itcl/info/a961f0729c ] are no longer necessary.
2013-10-03 20:41:03 +00:00
jan.nijtmans
73b02508fa
When compiling with MSVC++, no longer link the stub library with msvcrt??.dll.
...
This way, workarounds in extensions like [http://core.tcl.tk/itcl/info/a961f0729c ] are no longer necessary.
2013-10-03 15:17:43 +00:00
dkf
7fc9ecd5ab
cleaner and faster 'string trim'
2013-10-03 13:32:06 +00:00
dkf
638b28b372
merge trunk
2013-10-03 08:54:01 +00:00
dkf
4759be8760
minor: whitespace correction (my bad!)
2013-10-02 14:35:30 +00:00
dkf
4b54ec077b
neater
2013-10-02 13:16:10 +00:00
dkf
76ca8e7008
silence warnings with clang
2013-10-02 13:14:29 +00:00
jan.nijtmans
31d38b0701
Fix compilation of Itcl and Tdbc
2013-10-02 10:30:19 +00:00
dkf
e104cccd94
Turn Tcl_OOInitStubs into a no-op in non-stub-enabled usage.
2013-10-02 10:01:50 +00:00
dkf
8789461a94
Fix TclOO API export rules.
2013-10-02 09:41:01 +00:00
dkf
066dd2cb10
Expand subset of lreplace functionality that is compiled.
2013-10-02 08:46:29 +00:00
jan.nijtmans
ec1dceef35
Fix compilation with latest MinGW-w64 version 3.0: Conflict on EXCEPTION_REGISTRATION typedef, which means something completely different in MinGW-w64.
2013-10-02 08:08:10 +00:00
jan.nijtmans
5e1eaa44bc
Fix compilation with latest MinGW-w64 version 3.0: Conflict on EXCEPTION_REGISTRATION typedef, which means something completely different in MinGW-w64.
2013-10-02 07:58:50 +00:00
jan.nijtmans
a403e2663e
Disable command line globbing on MinGW compiles: this saves startup time, since the result of the glob is not used anywhere.
2013-09-30 14:07:20 +00:00
jan.nijtmans
c5f68dde5c
Disable command line globbing on MinGW compiles: this saves startup time, since the result of the glob is not used anywhere.
2013-09-30 14:03:56 +00:00
jan.nijtmans
868c2951dc
Restore copyright assignments and some improved comments in tclOO.decls: previous commit was a blind revert of [371bcd0714], but those changes should not have been reverted.
2013-09-30 09:38:49 +00:00
jan.nijtmans
e438509c68
Fix [f51efe99a7] by reverting [371bcd0714]
2013-09-30 09:03:20 +00:00
dkf
93595c68aa
First attempt at [string trim] compilation.
2013-09-30 03:00:06 +00:00
dkf
324cc442eb
merge trunk
2013-09-30 01:05:48 +00:00
dkf
4f19f86513
typo; spotted by stu
2013-09-28 22:52:11 +00:00
dkf
fd38147f32
[dfc08326e3]: Corrected symbol export for TclOO to match Tcl so things work as
...
expected in a static build.
2013-09-28 21:10:22 +00:00
dgp
ce33f01bf1
Fix test source-4.1
2013-09-27 17:33:17 +00:00
dgp
bfb7ea0e46
merge 8.5
2013-09-27 16:10:43 +00:00
dgp
694bd3ba73
Merge forward new test, marked as knownBug, so other merges are no longer held back.
2013-09-27 15:34:09 +00:00
dkf
067ef1dcea
[219226]: Rewrote how ::env is synchronized to the environment so it no longer
...
smashes the array or its elements flat, This affects traces on env, links to
env, and iterations over env: it makes them work as naïvely expected.
2013-09-27 10:29:43 +00:00
jan.nijtmans
878c0cff52
Cherrypick [87d1313df3] from trunk:
...
Workaround for [http://sourceforge.net/p/mingw/bugs/2065/ |MinGW bug #2065 ].
Both MinGW and MinGW-w64 (32-bit) are affected.
Even though Win64 is not affected, adding -static-libgcc doesn't harm there, and we don't want to distrubute additional dll's with MinGW-compiled Tcl anyway.
2013-09-27 09:35:05 +00:00
jan.nijtmans
9bdcf8e201
Workaround for [ http://sourceforge.net/p/mingw/bugs/2065/ |MinGW bug #2065 ].
...
Both MinGW and MinGW-w64 (32-bit) are affected.
Even though Win64 is not affected, adding -static-libgcc doesn't harm there, and we don't want to distrubute additional dll's with MinGW-compiled Tcl anyway.
2013-09-27 09:18:36 +00:00
jan.nijtmans
09a4760ba3
Tcl_SetResult -> Tcl_SetObjResult
2013-09-26 14:27:37 +00:00
dkf
ce9b84204c
[d614d63989] Ensure that there are no trailing colons as that causes chaos when a deleteProc is specified.
2013-09-25 22:54:29 +00:00
dgp
1d119413f6
revert mistaken commit of experiment
2013-09-23 12:18:45 +00:00
jan.nijtmans
1fce20754c
workaround for mingw bug [ http://comments.gmane.org/gmane.comp.gnu.mingw.user/41724 ]
2013-09-23 11:27:47 +00:00
jan.nijtmans
9e6b54e433
Make sure that panic's during finalization are handled by the custom panicproc not by the default panicproc, because stderr might not be available.
...
When the default panicproc is in use, this doesn't make any difference.
2013-09-20 09:11:51 +00:00
dgp
39fcdc3c6e
merge release
2013-09-20 05:28:59 +00:00
dkf
1479c62f1c
[3970f54c4e]: Improved fix that is more tolerant of a single variable varname.
2013-09-19 22:37:06 +00:00
dgp
54a81d4f0e
merge trunk
2013-09-19 20:07:41 +00:00
dkf
f95a5e7c82
[3970f54c4e]: Corrected regression in argument order processing in [unset].
2013-09-19 19:37:05 +00:00
dgp
5285fe3ede
merge trunk; update changes
2013-09-19 19:10:47 +00:00
dgp
8e1f9e82da
comment
2013-09-19 19:02:42 +00:00
dgp
fbac621bfc
Line numbers wrong in compiled [unset].
2013-09-19 18:53:01 +00:00
dgp
3cc058aa46
Line numbers wrong in compiled [dict with].
2013-09-19 17:21:41 +00:00
dgp
3e3649a18e
Line numbers wrong in compiled [dict exists].
2013-09-19 17:01:58 +00:00
dgp
d35d4b2c53
Line numbers wrong in compiled [global] and [variable].
2013-09-19 16:41:04 +00:00
dgp
b4a00d3ac5
Line numbers wrong in compiled [namespace upvar].
2013-09-19 16:11:20 +00:00
dgp
0f1e352369
Line numbers wrong in compiled [upvar].
2013-09-19 15:57:38 +00:00
dgp
4551ca9b2c
Line numbers wrong in compiled [dict update].
2013-09-19 15:05:55 +00:00
dgp
63e65ca6f1
Line numbers wrong in compiled [dict for].
2013-09-19 14:56:29 +00:00
dgp
91eca443b7
Line numbers wrong in compiled [dict get].
2013-09-19 14:49:28 +00:00
dgp
10372d985a
Stop segfault due to OBOE in CompileWord() calls in [dict incr] compiler.
2013-09-19 14:22:37 +00:00
dkf
5aee161167
[3606943]: Corrected description of method search order.
2013-09-19 14:21:21 +00:00
dgp
bbf4d17089
[31661d2135] Plug memory leak.
2013-09-19 13:44:18 +00:00
dgp
4a2c3b6440
[31661d2135] Plug memory leak.
2013-09-19 13:39:40 +00:00
dgp
3f481feba6
Line numbers wrong in compiled [dict set].
2013-09-19 13:13:00 +00:00
jan.nijtmans
50a0b81579
consistant use of capitals
2013-09-19 13:00:02 +00:00
dgp
3b93da87b3
Merge test; bug already fixed in trunk.
2013-09-19 12:22:25 +00:00
dgp
345bd636d4
Stop segfault due to OBOE in CompileWord() calls in [dict lappend] compiler.
2013-09-19 04:27:11 +00:00
dgp
3204893f09
[3487626] knownBug tests dict-23.2 and dist-24.21 already fixed on trunk.
2013-09-19 04:11:01 +00:00
dkf
a2df72aecb
Bump TclOO version to 1.0.1
2013-09-18 12:32:26 +00:00
dgp
85c48e5e91
merge trunk; update changes
2013-09-17 12:17:40 +00:00
dkf
d4d8f3201a
[2152292]: Corrected implementation of uuencode handling to support line length
...
indicator bytes.
***POTENTIAL INCOMPATIBILITY***
Existing code that was using the old versions and working around the
limitations will now need to do far less. The -maxlen option now has strict
limits on the range of supported lengths; this is a limitation of the format
itself.
2013-09-17 09:24:41 +00:00
dkf
debbae5fd9
ChangeLog entry
2013-09-17 09:20:58 +00:00
dkf
649d0983f9
small improvements to the documentation
2013-09-17 09:13:40 +00:00
dgp
3146ffb96b
[7b32d8d13b] Insert missing field initialization.
2013-09-16 23:18:54 +00:00
dgp
f1a2117967
merge trunk; update changes
2013-09-16 18:59:14 +00:00
dkf
2044cba5ac
Refactor to remove unused flexibility.
2013-09-16 09:03:50 +00:00
dkf
eee6883d2a
Be careful: separator needs to be bytes, not internal-encoded.
2013-09-16 08:52:12 +00:00
jan.nijtmans
472fd0a636
Add back -wrapchar option to "binary encode uuencode"
2013-09-15 16:30:01 +00:00
dkf
bfe331b12a
And the decoder too.
2013-09-14 18:25:45 +00:00
jan.nijtmans
1092cae12e
Hm, this check doesn't really add anything.
2013-09-14 08:59:41 +00:00
jan.nijtmans
54850c7528
Add back -wrapchar option to "binary encode uuencode".
2013-09-14 08:51:23 +00:00
dkf
365b878745
[2152292] Corrected implementation of uuencoding.
2013-09-14 07:07:03 +00:00
dgp
5cc8523f8e
merge mark
2013-09-13 14:12:40 +00:00
dgp
e94119e59b
More macro use.
2013-09-13 03:33:43 +00:00
dgp
0440ab215b
Push fixup on the stack only when needed.
2013-09-12 19:27:48 +00:00
dgp
27c4d781f4
Swap the two fixups used when compiling the ternary operator.
...
Push them on the stack only when needed, and pop as soon as possible.
2013-09-12 19:21:20 +00:00
dgp
8fd5bbdc7c
Stop allocating JumpFixups for jumps that can never need any fixing up.
2013-09-12 17:42:36 +00:00
dgp
612c7a7d4a
Eliminate another surplus storage field. Make a(n ab)use of the existing
...
JumpFixup fields instead.
2013-09-11 05:07:52 +00:00
dgp
c4a5440ed1
Make use of the existing JumpFixup fields. Eliminate extra storage
...
field 'offset' in JumpList that we don't require.
2013-09-11 04:49:08 +00:00
dgp
822fd2d405
Stop the save and restore of currStackDepth. Just manage it correctly so
...
it doesn't need correcting.
2013-09-11 02:32:04 +00:00
dkf
e723893895
[3609693] Must strip the internal representation of procedure-like methods in
...
order to ensure that any bound references to instance variables are removed.
2013-09-09 14:12:05 +00:00
dkf
e0623615e3
[3609693] Must strip the internal representation of procedure-like methods in
...
order to ensure that any bound references to instance variables are removed.
2013-09-09 13:34:06 +00:00
dkf
b348c536f6
merge trunk
2013-09-09 12:34:33 +00:00
dkf
2b788a21e4
[3611643] Stop polluting the global namespace.
...
Refactor the index entry generation so it is done right, once.
Handle more of [namespace ensemble create]'s behavior.
2013-09-08 10:21:37 +00:00
dgp
f089b1e4a1
[86ceb4e2b6] Improve reaction when multiple *tm files purport to offer the
...
same version of the same package. Prefer the file that comes first on the
tm path. Makes TCL*_TM_PATH variables more useful. Thanks to Gustaf Neumann
for the suggestion.
[a16752c252] Revise (partially revert) bug fix to stop crashes in buggy
tclcompiler.
2013-09-07 22:19:49 +00:00
dgp
4d70c5f1e1
doc fix exposed by make html
2013-09-03 18:50:08 +00:00
dgp
c5cad32cd6
make dist
2013-09-03 17:39:34 +00:00
dgp
6a3868f2cc
typo
2013-09-03 17:07:41 +00:00
dgp
3116380710
Favor timeline over ChangeLog
2013-09-03 16:47:50 +00:00
dgp
4733e874fc
update changes
2013-09-03 16:04:30 +00:00
dgp
8932701ae7
Bump version number to 8.6.1.
2013-08-30 22:04:12 +00:00
dkf
6b6685b8fd
define tests for this bug; no fix yet
2013-08-21 09:35:50 +00:00
dkf
967d113043
merge trunk
2013-02-04 22:02:53 +00:00
dkf
0eb33efc7a
merge main dev branch
2013-01-03 14:08:49 +00:00
dkf
53baa9e5c4
merge main dev branch
2013-01-03 14:07:24 +00:00
dkf
af735a0ba9
merge main dev branch
2012-12-19 11:43:40 +00:00
dkf
a7b60b26f1
merge main dev branch
2012-12-19 11:42:46 +00:00
dkf
d6bd07fecc
merge dkf-compile-misc-info
2012-11-20 12:14:18 +00:00
dkf
f497ce9a95
merge dkf-compile-misc-info
2012-11-20 12:13:43 +00:00
dkf
414163addc
merge main dev branch
2012-11-05 21:56:13 +00:00
dkf
71fd534215
merge main dev branch
2012-11-05 21:55:40 +00:00
dkf
b8bcc352ea
merge main dev branch
2012-11-05 15:33:44 +00:00
dkf
f04eef80d7
merge main dev branch
2012-11-05 15:28:01 +00:00
dkf
2de2d8678f
reorder to preserve main BC development branch sequence better
2012-11-02 20:39:10 +00:00
dkf
d5e04d6200
merge dkf-compile-misc-info
2012-11-02 20:25:57 +00:00
dkf
6d14b815b2
Work on compilation of [string is].
...
Hit some problem edge cases with differences in strictness of edge cases that
will force a rethink ([string is boolean] is significantly more strict than
Tcl_GetBooleanFromObj).
2012-11-02 16:50:06 +00:00
dkf
ed18777278
Working towards a BCCed [next].
...
This version <i>almost</i> works, except for a problem with restoring the
context namespace upon return (which produces very strange results!)
2012-11-01 20:40:55 +00:00