Jim Tcl
Timeline
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 check-ins occurring around 4d750fab2df3d307.

2017-12-31
01:47
utf8: Be more strict at rejecting invalid UTF-8 sequences.

RFC 3629 says:

Implementations of the decoding algorithm above MUST protect against decoding invalid sequences

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: fd0eb63ebd user: steveb@workware.net.au tags: trunk

01:45
regexp: Implement class shorthand escapes in brackets

The following class shorthand escapes now match Tcl when used within bracket expressions:

\d [[:digit:]] \s [[:space:]] \w [[:alnum:]_] (note underscore)

e.g. [a-f\d] => [a-f0-9]

Previously these shorthand escapes were only implemented outside bracket expressions.

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: aa2e5832cf user: steveb@workware.net.au tags: trunk

2017-12-02
09:51
jim.c: Various minor cleanups

Small improvements to code for clarity and code reduction. Improve comments.

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: b8e69cbcb0 user: steveb@workware.net.au tags: trunk

2017-11-29
05:46
tests: clock.test needs cmd clock

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 4d96df65f9 user: steveb@workware.net.au tags: trunk

2017-11-26
22:14
build: Fix out-of-tree builds

Was broken by the support for --silent-rules

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 513bab2af8 user: steveb@workware.net.au tags: trunk

11:19
tests: Make the failing SIGPIPE tests go away on AppVeyor

Work around the problem by skipping the test

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: a1fd64bbcc user: steveb@workware.net.au tags: trunk

07:43
build: Support --silent-rules

And enable silent rules by default if using GNU make.

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 87eb66b790 user: steveb@workware.net.au tags: trunk

07:43
Update autosetup to v0.6.7-17-gb5a0e85

Mostly for --{enable,disable}-silent-rules

Use new opt-str where appropriate

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: cf03b3c80d user: steveb@workware.net.au tags: trunk

2017-11-25
06:52
tests: remove debugging from event.test

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: f259d28a19 user: steveb@workware.net.au tags: trunk

00:33
tests: If ipv6 sockets can't be bound, don't test

This is a workaround for IPv6 tests failing on Travis

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 3d4d76de61 user: steveb@workware.net.au tags: trunk

2017-11-24
22:59
build: During install, make sure pkgconfig dir exists

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: b87dad7d92 user: steveb@workware.net.au tags: trunk

2017-11-07
21:48
docs: Bring README.utf-8 up-to-date

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 18ba56fba7 user: steveb@workware.net.au tags: trunk

21:47
tclcompat.tcl: minor comment updates

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 92e4698aad user: steveb@workware.net.au tags: trunk

2017-11-04
09:16
interp: command should be created in the global namespace

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: c6eab746a7 user: steveb@workware.net.au tags: trunk

09:16
tests: exec2-3.2 now passes on OpenBSD

Reported-by: Stuart Cassoff <stwo@bell.net> Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 713502fb49 user: steveb@workware.net.au tags: trunk

2017-10-21
03:25
tests: Use a more explicit approach to test SIGPIPE

Write to a closed pipe in exec2-3.2 to force SIGPIPE

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: b1f8a31bdc user: steveb@workware.net.au tags: trunk

02:49
aio: No need to create a new channel for ssl

Just "promote" the current channel to ssl

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 256d17bf10 user: steveb@workware.net.au tags: trunk

02:49
doc: Update remaining references to os.wait

Now simply 'wait'

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 6f79baf755 user: steveb@workware.net.au tags: trunk

02:37
file: __MSYS__ signifies windows too

Needed to make file join work with msys2

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 04d829652a user: steveb@workware.net.au tags: trunk

2017-10-16
21:51
tests: Try to fix exec2-3.2 on Windows

On some mingw platforms exec2-3.2 isn't producing SIGPIPE Try to make it do so.

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 010735d763 user: steveb@workware.net.au tags: trunk

21:39
signal, exec, wait, pid: improvements, especially to exec

- fix popen [open "|pipeline ..."] to return meaningful status in close (but note that stderr is not captured) - popen pipelines can now be used as the target of exec redirection - overally improvements to exec on windows. Now crt file descriptors are used throughout - add support for [pid], [wait] and popen on windows - os.wait is now wait, and integrates with [exec ... &] to be able to wait for running background tasks - [socket pipe] is now also [pipe] and is supported on windows - [file tempfile] is supported on windows - move duplicated code between jim-aio.c and jim-exec.c to jimiocompat.c - Fix [exec] on windows to match unix semantics wrt sharing the parent stream unless redirected rather than using /dev/null - On windows redirect to or from /dev/null is automatically converted to NUL: - If signal support is disabled, implement a minimal Jim_SignalId() for exec and wait - aio now supports getfd, to return the underlying file descriptor. This is used by exec to support redirection, and allows popen channels to support exec redirection.

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: da86539f12 user: steveb@workware.net.au tags: trunk

2017-10-15
23:53
jim: cmdPrivData needs to be saved and restored

If a C command invokes another C command (including indirectly), cmdPrivData was being changed but not restored check-in: 04fe854dc1 user: steveb@workware.net.au tags: trunk

23:00
after: Need to initialise 'ms'

Also fix a warning on Windows

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 459cf36faa user: steveb@workware.net.au tags: trunk

21:03
eventloop: remove leftover debugging

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 6dad0537c9 user: steveb@workware.net.au tags: trunk

21:00
eventloop: support sub-millisecond timer resolution

Timeouts may now be specified in fractions of milliseconds. e.g. after 0.5

This can be useful on faster systems where 1ms resolution is too coarse.

Also, use clock_gettime(CLOCK_MONOTONIC_RAW) for timers, if available. This clock is insensitive to system clock changes and ntp adjustments.

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 43fab94694 user: steveb@workware.net.au tags: trunk

20:57
aio tempname: Fix a crash when the template is invalid

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 4d750fab2d user: steveb@workware.net.au tags: trunk

2017-09-22
03:53
scan: make some structure members const

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: f859e0f23f user: steveb@workware.net.au tags: trunk

2017-09-21
06:40
examples/tip.tcl: Use 'writable' when sending output

Avoids situations where the output might block

Signed-off-by: Steve Bennett <steveb@workware.net.au> Leaf check-in: d0d277697e user: steveb@workware.net.au tags: trunk

06:40
configure: Remove reference to ensemble extension

It is not pushed to mainline yet.

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 4d2900cfd6 user: steveb@workware.net.au tags: trunk

06:34
configure: --with-mod and --with-ext allow commas

Makes it a bit easier to type on the command line. e.g.

--with-mod=binary,zlib --with-ext=sqlite3

Spaces are still accepted, as are multiple instances of --with-mod, --with-ext and --without-ext

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: e6deea1782 user: steveb@workware.net.au tags: trunk

06:32
configure: Improve module selection

Modules/extensions are now explicitly marked as optional (and enabled with --full), or off (must be explicitly enabled with --with-mod/--with-ext)

This means that now binary and tclprefix are correctly not enabled by default, and zlib is enabled with --full.

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: ef80bdd56d user: steveb@workware.net.au tags: trunk

06:31
auto.def: tclprefix should not be enabled by default

It is listed as not enabled by default, but it is enabled by default

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: fa321624e5 user: steveb@workware.net.au tags: trunk

06:31
prefix.test: Use the correct package name

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 2db7fb9400 user: steveb@workware.net.au tags: trunk

06:31
tcltest: Support 'needs package xxx'

Makes it easy to skip all tests if the package isn't available

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: c4f990b209 user: steveb@workware.net.au tags: trunk

06:30
tcl::prefix: respect -message when no valid options

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: a181b7fe80 user: steveb@workware.net.au tags: trunk

06:30
jim.c: minor code cleanups in [switch]

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: cdedd1ab2a user: steveb@workware.net.au tags: trunk

2017-09-16
05:38
perf: cache the result of successful subcmd lookup

Speeds up jim-subcmd commands such as array, clock, file, aio

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: c8ee350881 user: steveb@workware.net.au tags: trunk

05:38
remove special regexpValue internal rep

To avoid an explosion of different internal rep structures, simply use the existing ptrIntValue for jim-regexp

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 545238c53f user: steveb@workware.net.au tags: trunk

05:37
Simplify error reporting in jim-subcmd

Make use of Jim_SetResultFormatted()

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: c90457daf9 user: steveb@workware.net.au tags: trunk

05:37
perf: cache successful Jim_GetEnum() results

When Jim_GetEnum() succeeds, cache the result in the object to speed up subsequent identical calls to Jim_GetEnum()

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 2ff8f28bc3 user: steveb@workware.net.au tags: trunk

05:37
defer: fast lookup existence of $jim::defer

This speeds up call frame destruction in the common case that $jim::defer does not exist.

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: e4c02883cb user: steveb@workware.net.au tags: trunk

2017-09-15
09:17
Implement defer, $jim::defer

Allows commands to run when a proc or interpreter exits.

If the $jim::defer variables exists at proc or interp exit, it is treated as a list of scripts to evaluate (in reverse order).

The [defer] command is a helper to add scripts to $jim::defer

See tests/defer.test

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 027a885518 user: steveb@workware.net.au tags: trunk

02:12
docs: Update documentation for recent changes

Add aio sockopt Add history completion Remove aio tcp_nodelay

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 954bfa31a8 user: steveb@workware.net.au tags: trunk

02:11
history: Add autocompletion support

With 'history completion <cmd>'

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: bc78c3f08b user: steveb@workware.net.au tags: trunk

02:11
aio: Add support for many socket options

Add aio sockopt to get and set various socket options via setsockopt()/getsockopt()

And remove 'aio tcp_nodelay' in favour of 'aio sockopt tcp_nodelay'

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 05177bba18 user: steveb@workware.net.au tags: trunk

02:10
eventloop: return from callback is not an error

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: c3499f63df user: steveb@workware.net.au tags: trunk

2017-09-13
11:44
docs: Remove Last Modified footer - take 2

More reliable way to remove the footer

Reported-by: Bernhard M. Wiedemann <bwiedemann@suse.de> Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 5deea3cd44 user: steveb@workware.net.au tags: trunk

11:25
docs: Remove Last Modified footer

For reproducible builds

Reported-by: Bernhard M. Wiedemann <bwiedemann@suse.de> Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 47c657f7b0 user: steveb@workware.net.au tags: trunk

2017-08-31
23:01
tests: binary tests require pack on jim

Avoid failing many tests if binary.tcl is available put pack isn't enabled.

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 00ead1b118 user: steveb@workware.net.au tags: trunk

23:01
Support lambda even if references are disabled

It's convenient to support a non-gc lambda, even if references are disabled.

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 013bf547ba user: steveb@workware.net.au tags: trunk