Jim Tcl
Timeline
Not logged in

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

50 most recent check-ins

2024-08-28
03:50
Release version 0.83 Leaf check-in: 7850f4fe67 user: steveb tags: www
01:59
json::decode preserve line numbers if possible

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

01:59
jim api: expose functions to get and set source info

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

01:59
jsmn: add support for recording source line numbers

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

01:59
json::decode: run parser in strict mode

To avoid invalid JSON causing core dumps.

Minor changes to the jsmn parser to still allow Infinity and NaN.

Fix some tests that didn't use strictly correct JSON.

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

01:56
lsort tests: some tests require utf-8 support

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

01:56
document lsort -dict support

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

01:56
lsort: add support for -dict

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

2024-07-28
05:16
Hide some more umask() calls behind HAVE_UMASK check-in: a9f92c7663 user: steveb@workware.net.au tags: trunk,
2024-06-23
00:16
Add CONTRIBUTING.md

And remove DEVELOPING as it is out-of-date

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

2024-04-01
23:02
fix a memory leak on interp shutdown

Need to delete the commands hash table before calling Jim_InterpIncrProcEpoch() as otherwise the commands won't yet be in the "old command" list to be deleted.

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

22:20
lsort: don't try to sort a list of length 0 or 1

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

22:20
expr: explicit error on empty expression

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

22:20
lreplace: avoid memmove() with NULL pointer

In the case there is nothing to insert

Could be provoked with: lreplace {a b} 0 0

Fixes: #300 Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 5f7ce8c3cf user: steveb@workware.net.au tags: trunk,

2024-03-29
08:19
clock: Fix DST problem in [clock scan] using "-gmt 0" check-in: 519e790a78 user: steveb@workware.net.au tags: trunk,
2024-03-21
00:06
aio ttycontrol: Include break in usage

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

2024-03-18
11:32
reorder SDL text command help to match parsing check-in: e96f4c42e4 user: steveb@workware.net.au tags: trunk,
2024-03-13
05:33
generate source info for error messages at top level

Now that we rely on eval frames to unwind the stack on error, if an error occurs at the top level it would previously not provide a stack trace. e.g.

$ jimsh t.tcl unmatched "["

After this change, the error location is now correctly reported:

$ ./jimsh t.tcl t.tcl:8: Error: unmatched "[" Traceback (most recent call last): File "t.tcl", line 8

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

2024-02-16
22:16
examples/tip.tcl: No need for output-on-writable

Now that the I/O subsystem does auto-flush on write we no longer need to manually set up a writable handler. check-in: 2cad2323c2 user: steveb@workware.net.au tags: trunk,

2024-02-14
22:47
subst: don't ignore vars after first failed var

If $ is followed by something that isn't a variable name, previously all subsequent variables were being ignored.

Fixes #296

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

2024-02-04
00:08
aio: Add support for modem control signals

RTS, DTR, etc. and sending a break condition

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

00:08
aio: tty: Add support for vstart and vstop

xonxoff start and stop chars

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

00:08
aio: implement openpty.c locally

To avoid linking with -lutil if possible

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

2024-02-03
07:35
Fix typos. relating to 172b5c4 check-in: a1e7ce39eb user: steveb@workware.net.au tags: trunk,
2024-02-02
01:22
expr: better error message on nested $()

And explain in the manual that it isn't allowed.

Fixes: #285

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

01:20
xtrace: fix core dump if tracing Jim_EvalObjVector()

Where a NULL script is pushed on the stack

Fixes #290

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

2024-01-29
00:40
regexp: implement regsub -command

Per Tcl 8.7

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

2023-12-17
03:06
Add CodeQL Workflow for Code Security Analysis

Add CodeQL Workflow for Code Security Analysis

This pull request introduces a CodeQL workflow to enhance the security analysis of our repository. CodeQL is a powerful static analysis tool that helps identify and mitigate security vulnerabilities in our codebase. By integrating this workflow into our GitHub Actions, we can proactively identify and address potential issues before they become security threats.

We added a new CodeQL workflow file (.github/workflows/codeql.yml) that - Runs on every pull request (functionality to run on every push to main branches is included as a comment for convenience). - Runs daily. - Excludes queries with a high false positive rate or low-severity findings. - Does not display results for git submodules, focusing only on our own codebase.

Testing: To validate the functionality of this workflow, we have run several test scans on the codebase and reviewed the results. The workflow successfully compiles the project, identifies issues, and provides actionable insights while reducing noise by excluding certain queries and third-party code.

Deployment: Once this pull request is merged, the CodeQL workflow will be active and automatically run on every push and pull request to the main branch. To view the results of these code scans, please follow these steps: 1. Under the repository name, click on the Security tab. 2. In the left sidebar, click Code scanning alerts.

Additional Information: - You can further customize the workflow to adapt to your specific needs by modifying the workflow file. - For more information on CodeQL and how to interpret its results, refer to the GitHub documentation and the CodeQL documentation (https://codeql.github.com/ and https://codeql.github.com/docs/).

Signed-off-by: Brian <bayuan@purdue.edu> check-in: 180bbfc60f user: steveb@workware.net.au tags: trunk,

03:06
Add CodeQL Workflow for Code Security Analysis

Add CodeQL Workflow for Code Security Analysis

This pull request introduces a CodeQL workflow to enhance the security analysis of our repository. CodeQL is a powerful static analysis tool that helps identify and mitigate security vulnerabilities in our codebase. By integrating this workflow into our GitHub Actions, we can proactively identify and address potential issues before they become security threats.

We added a new CodeQL workflow file (.github/workflows/codeql.yml) that - Runs on every pull request (functionality to run on every push to main branches is included as a comment for convenience). - Runs daily. - Excludes queries with a high false positive rate or low-severity findings. - Does not display results for git submodules, focusing only on our own codebase.

Testing: To validate the functionality of this workflow, we have run several test scans on the codebase and reviewed the results. The workflow successfully compiles the project, identifies issues, and provides actionable insights while reducing noise by excluding certain queries and third-party code.

Deployment: Once this pull request is merged, the CodeQL workflow will be active and automatically run on every push and pull request to the main branch. To view the results of these code scans, please follow these steps: 1. Under the repository name, click on the Security tab. 2. In the left sidebar, click Code scanning alerts.

Additional Information: - You can further customize the workflow to adapt to your specific needs by modifying the workflow file. - For more information on CodeQL and how to interpret its results, refer to the GitHub documentation and the CodeQL documentation (https://codeql.github.com/ and https://codeql.github.com/docs/).

Signed-off-by: Brian <bayuan@purdue.edu> check-in: e6f589be32 user: steveb@workware.net.au tags: trunk,

03:06
Add CodeQL Workflow for Code Security Analysis

Add CodeQL Workflow for Code Security Analysis

This pull request introduces a CodeQL workflow to enhance the security analysis of our repository. CodeQL is a powerful static analysis tool that helps identify and mitigate security vulnerabilities in our codebase. By integrating this workflow into our GitHub Actions, we can proactively identify and address potential issues before they become security threats.

We added a new CodeQL workflow file (.github/workflows/codeql.yml) that - Runs on every pull request (functionality to run on every push to main branches is included as a comment for convenience). - Runs daily. - Excludes queries with a high false positive rate or low-severity findings. - Does not display results for git submodules, focusing only on our own codebase.

Testing: To validate the functionality of this workflow, we have run several test scans on the codebase and reviewed the results. The workflow successfully compiles the project, identifies issues, and provides actionable insights while reducing noise by excluding certain queries and third-party code.

Deployment: Once this pull request is merged, the CodeQL workflow will be active and automatically run on every push and pull request to the main branch. To view the results of these code scans, please follow these steps: 1. Under the repository name, click on the Security tab. 2. In the left sidebar, click Code scanning alerts.

Additional Information: - You can further customize the workflow to adapt to your specific needs by modifying the workflow file. - For more information on CodeQL and how to interpret its results, refer to the GitHub documentation and the CodeQL documentation (https://codeql.github.com/ and https://codeql.github.com/docs/).

Signed-off-by: Brian <bayuan@purdue.edu> check-in: 5ddd549e38 user: steveb@workware.net.au tags: trunk,

03:06
Add CodeQL Workflow for Code Security Analysis

Add CodeQL Workflow for Code Security Analysis

This pull request introduces a CodeQL workflow to enhance the security analysis of our repository. CodeQL is a powerful static analysis tool that helps identify and mitigate security vulnerabilities in our codebase. By integrating this workflow into our GitHub Actions, we can proactively identify and address potential issues before they become security threats.

We added a new CodeQL workflow file (.github/workflows/codeql.yml) that - Runs on every push and pull request to the main branch. - Excludes queries with a high false positive rate or low-severity findings. - Does not display results for third-party code, focusing only on our own codebase.

Testing: To validate the functionality of this workflow, we have run several test scans on the codebase and reviewed the results. The workflow successfully compiles the project, identifies issues, and provides actionable insights while reducing noise by excluding certain queries and third-party code.

Deployment: Once this pull request is merged, the CodeQL workflow will be active and automatically run on every push and pull request to the main branch. To view the results of these code scans, please follow these steps: 1. Under the repository name, click on the Security tab. 2. In the left sidebar, click Code scanning alerts.

Additional Information: - You can further customize the workflow to adapt to your specific needs by modifying the workflow file. - For more information on CodeQL and how to interpret its results, refer to the GitHub documentation and the CodeQL documentation.

Signed-off-by: Brian <bayuan@purdue.edu> check-in: 3493fd7b5f user: steveb@workware.net.au tags: trunk,

2023-11-02
01:09
tests: timer: skip unreliable tests

On systems where we aren't getting enough cpu time. Heuristic check, but probably good enough in practice.

Fixes #282

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

2023-10-11
22:48
build-jim-ext: fix typo when building --static

This bug has been there for a long time but probably no-one builds static extensions because they aren't very useful.

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

2023-08-27
00:08
fix issues in the manual check-in: cdd149eafa user: steveb@workware.net.au tags: trunk,
2023-08-13
02:43
jimsh, interp, tests: fixes when line editing is disabled

- Set jim::lineedit to indicate if line editing is configured - Ensure that aio tty works even if line editing is disabled - Skip some tests if line editing is not configured

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

02:40
tests: misc: improve 'info statics' test

To show that it returns the current values, not just the original values

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

2023-08-12
06:59
tests: socket: hurd vs Linux

hurd does not return the path for unix domain sockets via getsockname()

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

06:50
tests: support hurd

socket operation on non-socket gives a different message

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

2023-08-11
22:20
aio: fix edge cases with error on blocking read

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

2023-07-31
07:30
core: fix error level in try/catch

When the multi-level break/continue support was added in 1b151f816f14b11f1c1ef10b171411e21b9a504e it reused returnLevel, but this interferred with the return level returned by try/catch. Use a separate variable for the break/continue level.

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

2023-07-12
22:32
core: Fix 'for' with JIM_OPTIMIZATION disabled

And allow -DJIM_TINY to disable optimisation, and use that with bootstrap jimsh.

Fixes #273

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

2023-07-10
21:31
signal: fix build warnings

Need strings.h for strcasecmp

(Although I don't really think it's necessary to support lower case versions of signal names. This will probably change).

Fixes #270

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

21:11
configure: zlib needs to check for zlib.h

If pkg-config is not available

Fixes #272

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

03:58
tests: event.test: increase waits in event-11.4

This test can be at bit flaky on slower machines (perhaps running under a VM or qemu).

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

03:57
build: update autosetup to v0.7.1-11-g9d20e8a

Mostly for update bootstrap jimsh

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

01:28
bootstrap-jim: Set _FILE_OFFSET_BITS=64

Without this, readdir() doesn't work properly on some 32 bit platforms

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

2023-07-09
22:27
info script: return real current source file

And allow current source file to be set

Fixes: #268

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

2023-07-06
00:18
aio: fix autocomplete for socket

The checks for -ipv6, -async broke 'socket -commands'

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

2023-07-04
23:31
tests: Fix/add some constraint checks

In case socket pty, interp are not available

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

00:14
core: add support for proc statics by reference

set a 5

proc b {} {&a} { incr a }

b

Now a is 6 because b captured a by reference instead of by value

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