- Jun 22, 2023
-
-
Steve Bennett authored
Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
This is simpler now that we can write to a non-blocking socket even if it is "full". Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
AIO_KEEPOPEN won't close a channel (such as stdin, stdout) when the command is deleted/replaced, but an explicit close will still close the channel. Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
Now 'constraint cmd|package' is like 'needs' but sets a constraint The command to 'needs cmd' and 'constraint cmd' can now take a subcommand to check. Add 'constraint|needs eval|expr' to make some constraint checks simpler. Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
- Jun 21, 2023
-
-
Steve Bennett authored
This changes especially makes buffered I/O work with non-blocking channels. - separate read and write buffering - support for timeout on blocking read - read/write on same channel in event loop with buffering - read buffer is the same across read, gets, copyto - autoflush non-blocking writes via event loop - copyto can now copy to any filehandle-like command - add some copyto tests Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
Often the command in a stack trace will be a long script. This makes it hard to read the stacktrace, so in this case truncate at the first newline and add ... Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
A typical error message now looks like this: t4.tcl:2: Error: syntax error in expression: "blah" Traceback (most recent call last): File "t4.tcl", line 14 c 1 2 3 File "t4.tcl", line 10, in c b a c File "t4.tcl", line 6, in b a A14 File "t4.tcl", line 2, in a expr blah This is produced by stackdump (that can be replaced), called by errorInfo. Note that now stacktraces (stacktrace, info stacktrace, $opts(-errorinfo)) include the running command at each level in addition to proc, file, line. In order for scripts to detect this new format, a new entry tcl_platform entry has been added: tcl_platform(stackFormat) = 4 (to signify 4 elements per frame) In addition, instead of building the error stack frame as the stack is unwound in response to an error, instead the entire current stack trace is captured by stacktrace. This means that the trace extends beyond the try/catch right back to the initial interpreter command. The 'stacktrace' command is now implemented in C based on the same code that generates the error stacktrace. Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
Now callers to JimInvokeCommand() are expected to push and eval frame. Then we no longer need to carry currentScriptObj, argc, argv in the interp since these are in the current eval frame. Note that this change simply renames some unused fields in Jim_Interp for ABI compatibility, but these will be removed in due course. Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
- Jun 20, 2023
-
-
Steve Bennett authored
Some 32 bit systems may require explicit use of stat64, etc. Fixes #263
-
- May 25, 2023
-
-
Steve Bennett authored
Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
loop i 5 { loop j 6 { # This breaks out of both loops break 2 } } Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
- May 09, 2023
-
-
Steve Bennett authored
If deferred commands run on shutdown as stack frames are unwound, it is possible that a command is deleted but a later command still has a reference to it. So instead of trying to optimise this case by freeing immediately, cache deleted commands and let the be freed once all stack frames are destroyed. Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
- May 07, 2023
-
-
Steve Bennett authored
Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
- May 06, 2023
-
-
Steve Bennett authored
At some point $jim_interactive changed to the Tcl-compatible $tcl_interactive Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
always include 'proc' even if introspection disabled correctly set 'proc' at the eval frame level that is currently running in the given proc. This makes it easier to produce an accurate level stacktrace even across uplevel, etc. Update stacktrace to use the new info frame. Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
- Apr 19, 2023
-
-
Steve Bennett authored
Fixes #259 Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
Fixes #259 Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
'vwait -signal done' should wait for variable 'done' to change but instead waits for a variable '-signal' to changed. Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
- Apr 13, 2023
-
-
Steve Bennett authored
Some stack frames may have no cmd (e.g. with eval). Ensure that [stacktrace] still handles such frames by setting an empty proc name in that case. Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
- Mar 20, 2023
-
-
Steve Bennett authored
Sometimes it can be useful to provide an embedded interpreter where introspection is not permitted. This includes: - info commands, procs, channels: only allow exact match, not glob pattern - info frame: don't include cmd and proc in the returned dict - info level: only return the command name, not the command arguments - info body, args, statics: do not allow these to be called Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
if sin(), etc. aren't available, just build without math functions unless --math is explicitly given Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
Not in source files See https://ariadne.space/2021/12/21/stop-defining-feature-test-macros-in-your-code/ Signed-off-by:
Steve Bennett <steveb@workware.net.au>
-
- Mar 06, 2023
-
-
Antonio Borneo authored
The macro JIM_EMBEDDED was required to be defined before including jim.h in applications that embed jimtcl. This requirement has been dropped in 2010 with commit 2d856410 ("Documentation updates") but it's use has remained for longer and it even re-appeared later in the examples.api. Drop last instances of JIM_EMBEDDED. Signed-off-by:
Antonio Borneo <borneo.antonio@gmail.com>
-
Antonio Borneo authored
json decoder is available since jimtcl 0.79, but the Makefile does not remove the related object files during 'make clean'. Add jsmn/*.o in the list of files to remove during 'make clean'. Signed-off-by:Antonio Borneo <borneo.antonio@gmail.com>
-
- Mar 02, 2023
-
-
Steve Bennett authored
Fixes #256 Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
Some tabs have crept into this file. Expand to spaces for consistency. Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
SSL is now enabled by default, but it is only a fatal error if no libssl and --ssl is explicitly enabled. Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
- Feb 25, 2023
-
-
Steve Bennett authored
When this condition was caught, eval frame was incorrectly popped even though it was never pushed. Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
Use wildcards when packaging libssl in case the version changes. Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
- Feb 24, 2023
-
-
Steve Bennett authored
Previously dict with returned the new dict value. Also fix an issue in the case where a dict element mirrors the name of the dictionary. Fixes: #241 Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
- Feb 13, 2023
-
-
Steve Bennett authored
Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
Uses a prefix to automatically map from subcommand to implementation. Includes support for namespace ensemble Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
Now use --minimal and/or --without-ext to disable things. Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
Supports communication with redis as part of an event loop Signed-off-by:Steve Bennett <steveb@workware.net.au>
-
Steve Bennett authored
Instead of using all time, these commands now use a monotonically increasing system timer so that they are not affected by time (e.g. ntp) adjustments. (But not on Windows since it doesn't work reliably) Fixes #240 Signed-off-by:Steve Bennett <steveb@workware.net.au>
-