Jim Tcl
Timeline
Not logged in

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

7 descendants and 50 ancestors of a181b7fe8082318cf68961bb90248943d4e92aef

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

2017-08-27
00:14
tests/timer.test: Remove timer-6.5

This test is essentially the same as timer-6.4 except with tighter timing requirements. Remove it to prevent spurious failures.

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

00:13
tests/exec.test: Minor fix for exec-12.1 on hurd

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

2017-08-18
02:40
sqlite3: Fix build script

sqlite3/build-ext now needs to use autosetup-find-tclsh

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

2017-08-11
05:09
expr: remove leftover debugging printf

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

2017-08-07
12:58
jim: Fix ref count issue with dict-subst

When a dict-subst object is duplicated, ref counts need to be adjusted.

Reported-by: Ryan Whitworth <me@ryanwhitworth.com> Signed-off-by: Steve Bennett <steveb@workware.net.au check-in: 704d38c13a user: steveb@workware.net.au tags: trunk

10:36
expr: Fix refcount issue converting invalid boolean

Reported-by: Ryan Whitworth <me@ryanwhitworth.com> Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: bd0203c273 user: steveb@workware.net.au tags: trunk

10:36
expr: Check for missing operand to operator

Reported-by: Ryan Whitworth <me@ryanwhitworth.com> Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: b15d214536 user: steveb@workware.net.au tags: trunk

2017-08-02
23:07
tree: Allow nodes to be deleted

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

23:07
Error on extra characters after close brace

In scripts, like Tcl does.

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

2017-06-01
23:53
jim-sqlite3: Fix error msg for 'query'

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

2017-05-30
11:33
expr: Ensure that non-zero return codes are passed through

Non-zero return codes (e.g. break, continue, exit) were all being converted to the error code.

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

2017-05-26
04:28
format: validate too long precision

Reported-by: Ryan Whitworth <me@ryanwhitworth.com> Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 9057e9319b user: steveb@workware.net.au tags: trunk

04:27
scan: validate -ve XPG3 specifier

Reported-by: Ryan Whitworth <me@ryanwhitworth.com> Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 557db6e98d user: steveb@workware.net.au tags: trunk

2017-05-23
04:36
expr: Replace expression engine

Rework the expression engine to use recursive descent evaluation rather than a shunting yard algorithm. Among other things, it is easier to make lazy operators and the ternary operator work correctly.

In particular, the following expression no longer crashes: $(99?9,99?9:*9:999)?9)

And the code is now smaller.

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

04:36
optimisation: when converting to double, may not need stringrep

Minor optimisation

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

04:36
optimisation: Reuse ExprBool in Jim_GetBoolFromExpr()

Removes some duplicate code

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

2017-05-12
03:02
scan: Ensure format is converted to string form

Must have a stringrep before parsing.

Reported-by: Ryan Whitworth <me@ryanwhitworth.com> Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 0658663220 user: steveb@workware.net.au tags: trunk

03:02
regexp: Fix bad memory access on missing close brace

For counted repetitions

Reported-by: Ryan Whitworth <me@ryanwhitworth.com> Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 1cbabe444c user: steveb@workware.net.au tags: trunk

03:02
lsort -unique: Fix case with no duplicates

In this case the final element was written a second time.

Reported-by: Ryan Whitworth <me@ryanwhitworth.com> Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 24e8023431 user: steveb@workware.net.au tags: trunk

03:02
format: Restrict formatted fields to a reasonable size

Calling the system sprintf() with overly long sizes can cause problems, so limit field size to 10000.

Reported-by: Ryan Whitworth <me@ryanwhitworth.com> Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: d9e8462879 user: steveb@workware.net.au tags: trunk

03:02
format: Validate too many flags in format string

Avoid a stack overflow

Reported-by: Ryan Whitworth <me@ryanwhitworth.com> Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 51a1a67f58 user: steveb@workware.net.au tags: trunk

03:02
exec: Fix check for | and |&

These are only allowed as separate args. One check was allowing them as a prefix which could lead to an invalid memory access

Reported-by: Ryan Whitworth <me@ryanwhitworth.com> Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: f020c0b233 user: steveb@workware.net.au tags: trunk

03:01
scan: error on missing conversion char

Don't read invalid memory

Reported-by: Ryan Whitworth <me@ryanwhitworth.com> Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 9fd054339d user: steveb@workware.net.au tags: trunk

03:01
exec: Validate that a command is given

Reported-by: Ryan Whitworth <me@ryanwhitworth.com> Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: cbda0f1515 user: steveb@workware.net.au tags: trunk

03:01
jim: Fix ref count problem with interpolated dict subst

When duplicating interpolated object type, need to increment ref count of the key to offset the decrement during free.

Also remove type-specific dup for dict-substitution which is not needed since it does nothing different from the default dup.

Reported-by: Ryan Whitworth <me@ryanwhitworth.com> Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: f893b07848 user: steveb@workware.net.au tags: trunk

03:01
lsort: Fix a refcount issue

Only duplicate a shared object

Reported-by: Ryan Whitworth <me@ryanwhitworth.com> Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: d139acf868 user: steveb@workware.net.au tags: trunk

2017-04-22
10:31
build: Update autosetup to v0.6.6-8-g062d650

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

2017-04-21
07:57
configure: fix --docdir option

opt-val now returns a list, so take the last option given

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

2017-04-20
04:20
aio: Only allow TCP_NODELAY if sockets are supported

Sockets need extra work on Windows, so not supported there yet.

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

04:07
aio: Add support for TCP_NODELAY

Enable or disable Nagle's algorigthm

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

03:57
zlib: compression may need some additional free space

Signed-off-by: Stuart Cassoff <stwo@bell.net> check-in: 1b4d83ef69 user: steveb@workware.net.au tags: trunk

2017-04-18
22:07
zlib: deflate: free correct pointer on error

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

01:51
clock: Fix clock format on mingw platforms

gmtime() fails for negative time_t values.

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

01:34
clock: Fix test for platforms with no scan support

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

01:30
clock: Add -gmt option to format and scan

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