Age | Commit message (Collapse) | Author | Files | Lines |
|
jim.h now includes JIM_ABI_VERSION that should be incremented whenever
the ABI changes. Then all loadable modules should call Jim_CheckAbiVersion()
to make sure they are loaded against the correct version.
Add Jim_PackageProvideCheck() that does both Jim_CheckAbiVersion()
and Jim_PackageProvide() to simplify the implementation of loadable extensions.
Also rename the "big" sqlite3 extension to just sqlite to avoid a naming conflict with
the smaller jim-sqlite3 extension.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
The hash table used to store commands now uses Jim_Obj keys rather
than allocated char *, so embedded nulls are supported.
This means that some API function such as Jim_RenameCommand()
now take Jim_Obj * rather than const char *, however Jim_CreateCommand()
is retained with const char * for convenience and the new Jim_CreateCommandObj()
is added.
This is generally a performance win as the existing Jim_Obj can be used
as the key.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
GCC complains about possible truncation from snprintf()
jim-interp.c: In function ‘JimInterpCommand’:
jim-interp.c:164:46: warning: ‘%ld’ directive output may be
truncated writing between 1 and 20 bytes into a region of size
19 [-Wformat-truncation=]
snprintf(buf, sizeof(buf), "interp.handle%ld", Jim_GetId(interp));
^~~
jim-interp.c:164:32: note: directive argument in the range
[-9223372036854775807, 9223372036854775807]
snprintf(buf, sizeof(buf), "interp.handle%ld", Jim_GetId(interp));
^~~~~~~~~~~~~~~~~~
jim-interp.c:164:5: note: ‘snprintf’ output between 15 and 34 bytes
into a destination of size 32
snprintf(buf, sizeof(buf), "interp.handle%ld", Jim_GetId(interp));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Includes support for aliases in sub-interp
These are not identical to Tcl interp, but are conceptually very similar
For example:
set i [interp]
$i alias localcmd parentcmd arg1
$i eval { localcmd x }
Invokes: parentcmd arg1 x
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|