Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
1557 lines (962 sloc) 43.5 KB
2009-10-14 Øyvind Harboe
* switched to git.
2009-10-08 Øyvind Harboe
* jim.c/h: bring in changes from OpenOCD. Warnings and
some bug fixes. Copyright list updated in jim.c
2009-08-16 Steve Bennett <>
* jim.c: Comparison of doubles is a boolean, not a double. expr {0.5 < 1.0}
* jim.c: If an error occurs when {expand} is in operation, the line number is wrong.
* jim.c/h: If an object is used in subst, then source, a crash will result
* jimsh.c: A script exiting with 'exit 0' would not give a return code of 0
* jim.c: Make [format %c 0] work (embedded nulls)
* jim-array-1.0.tcl: array unset was broken
* jim.c: Some recursion in unknown is OK, just not infinite recursion.
* jimsh.c: $argv0 should be the name of the script
* jim.c: Should be able to compare strings for order in expr
* jim.c: 'unset ::var' to unset a global var.
It was doing nothing.
2008-11-06 Steve Bennett <>
* jim.c: Implement info hostname by calling os.hostname
* jim.c: Also fix some compiler warnings
2008-11-06 Steve Bennett <>
* jim.c, jim.h: Improve error reporting, especially on package load
2008-11-06 Steve Bennett <>
* jim.c, jim.h: Prevent infinite recursion if an unknown command is
called from unknown
2008-11-06 Steve Bennett <>
* jim-array-1.0.tcl: Add array command wrapper
2008-11-05 Steve Bennett <>
* jim-glob-1.0.tcl, jim-readdir.c: Add readdir extension and glob package for glob command
2008-11-05 Steve Bennett <>
* jim-glob-1.0.tcl, jim-readdir.c: Add readdir extension and glob package for glob command
2008-11-05 Steve Bennett <>
* jim-regexp.c: Add regexp extension for regexp and regsub commands
2008-11-04 Uwe Klein <>
* jim-hwio.c: file added
* provides memory area and hardware access on linux i386
2008-11-05 Steve Bennett <>
* jim.c: add support for proc default arguments to jim
* jim.c: fix lazy expression evaluation with unary not
2008-11-04 Steve Bennett <>
* jim.c: fix problems with "puts [list ${a}]". Resulted in syntax
* jim.c: :: scoping for set
* jim.c: Creating a C command when a Tcl command of the same name
already exists can cause a crash.
2008-11-03 Steve Bennett <>
* jim.c: Allow env with no arguments to retrieve all environment variables
as a list of name value ...
* jim.c: Add format support for %o -- octal
* jim.c: Allow direct access to variables in the global scope by
prefixing with ::
* jim.c: For compatibility with older versions of Tcl, allow == and != to
compare strings if the arguments can't be interpreted as numbers
* jim.c: Ensure that the string representation exists before doing
string toupper or tolower
2008-08-31 Duane Ellis
* jim.c, jim.h: more text formatting fixes, improved error messages
with location of error
2008-08-25 Duane Ellis
* jim.c, jim.h: name value pair and formatting fixes
2008-07-23 Uwe Klein <>
* fix missing vararg.h in some files ( included in jim.h )
* in aio.socket return an error when hosti resolution fails
instead of just carrying on.
2008-07-23 oharboe
* jim.c: reduce stack usage. Important for embedded devices without
* jim.c, jim-aio.c, jim-eventloop.c, jim-eventloop.h: emergency repairs
to make code compile with eCos after event loops was added. event loop
stuff compiles under eCos at least, but this was not tested for regressions.
2008-07-21 oharboe
* src/jim.c: very slightly improved error messages.
* FreeBSD license cleanup wip
2008-07-13 Uwe Klein <>
* doc/jim_man.txt : an overlook over jim command basics
and the added commands. incomplete, additions welcome.
2008-07-13 Uwe Klein <>
* signals ( not complete , no eventscripts yet ) sleep and usleep
[pit] point in time and [jpit] julian point in time.
2008-07-13 Uwe Klein <>
* This adds open async, fileevents and sockets ( tcp server, client )
to jim-aio, using fileevents requires the jim-eventloop package .
2008-07-13 Uwe Klein <>
* jim.c: in Jim_SubstObj in the switch for tokentype
accompanying code was missing.
2008-07-07 Uwe Klein <>
* changes to jim-eventloop.[ch]
* fix negative displacement in timeout computation for select
* add basic support for the fileevent stuff [ used from jim-aio ]
* add basic support for signal handling / actions
* add basic support for timer [via after] restart, cancel
and returning the remaining time for cancled events
2008-07-07 oharboe
* src/jim.c: remove bogus return value from if {[expr]} {xx} when
{xx} is not run.
2008-07-07 Duane Ellis <>
src/jim.c: This simple patch adds precision support to JIM's format command.
2008-07-07 Duane Ellis <>
- that impliments many [format] specifies JIM did not support.
- Jim_FormatString() - **MAJOR** work.
- Previously only supported "%s" "%d" and "%c"
- And what support existed had bugs.
- NEW: *MANY* formating parameters are now supported.
- TODO: The "precision" specifier is not supported.
** NEW ** This patch.
- Jim_StringToWide() test if no conversion occured.
- Jim_StringToIndex() test if no conversion occured.
- Jim_StringToDouble() test if no conversion occured.
** NEW ** This Patch. Major Work.
- Previously output from JIM did not get sent to GDB
- Ditto: Output to Telnet session.
- Above items are now fixed - By introducing callbacks
new function pointers in the "interp" structure.
- Helpers that call the callbacks.
- New function: Jim_fprintf()
- New function: Jim_vfprintf()
- New function: Jim_fwrite()
- New function: Jim_fread()
- New function: Jim_fflush()
- New function: Jim_fgets()
By default: the output is to STDIO as previous.
The "openocd.c" - redirects the output as needed.
- Jim_Panic() - Send panic to both STDERR and the interps
specified STDERR output as a 2nd choice.
- Now JIM's "stdin/stdout/stderr" paramters are "void *"
and are no longer "FILE *".
- **MAJOR**
- New JIM STDIO callbacks in the "interp" structure.
- change: "stdin/stdout/stderr" are now "void *" cookies.
- New JIM stdio helper functions.
2008-06-17 Andrew Lunn <> / oharboe
* ChangeLog, jim-aio.c: Andrew spotted a bug in the
aio.gets implementation for lines that are more than
AIO_BUF_LEN long. GCC 4.3.1 pointed out this problem.
2008-06-16 oharboe
* retire CVS keyword expansion. Plays havoc with patches.
2008-06-16 Uwe Klein wiederling at
* ChangeLog, jim.c: fixed parsing in "expr 0x1234".
2008-06-16 oharboe
* ChangeLog, ecos/ecos.db: eCos repository smoketested.
2008-06-15 oharboe
* ChangeLog, jim.c, jim.h, jim-aio.c: Support for eCos.
* ChangeLog, jim.c: realloc/malloc(0) fix. Convert
realloc/malloc(0) => realloc/malloc(1) which has an
identical implementation, whereas realloc/malloc(0) is
ambigous. "string map {} {}" used to result in malloc(0)
2008-06-13 oharboe
* ChangeLog: �yvind Harboe's first test as a committer.
2006-11-06 21:29 antirez
* ChangeLog, jim.c, jim.h: Jim_GetStdin/out/err API removed, now
Jim-SetStdin/out/err returns the old value if called with NULL.
JIM_NL define introduced in order to force Jim to output CRLF
instead of just LF in the core output printf/fwrite calls. This
appears to be useful in some kind of terminal under eCos.
2006-11-06 17:54 antirez
* jim-aio.c: Jim-aio is now able to be statically linked with jim.c
on systems like eCos where there is no dynamic libraries support.
2006-11-05 01:26 antirez
* ChangeLog, jim.c: {*} as alias for {expand} like in recent Tcl
8.5 versions
2006-11-02 23:39 antirez
* ChangeLog: [no log message]
2006-11-02 23:38 antirez
* ChangeLog, jim.c, jim.h: Ability to configure file descriptors
for standard input, output, error. Default is
stdin,stdout,stderr but it's possible to change the default after
creating the interpreter using Jim_(Set|Get)(Stdin|Stdout|Stderr)
if needed.
2006-11-02 00:31 antirez
* AUTHORS, ChangeLog: Minor doc typo
2006-11-01 18:18 antirez
* ChangeLog, jim.c: Minor change to (hopefully) avoid a warning
with some (non-gcc) compiler.
2006-11-01 17:03 antirez
* ChangeLog, jim.c: Fixed error message when trying to access a non
existing key in dictionary
2006-11-01 14:37 antirez
* jim.c, jim.h: Fix to expr parsing (now hex digits work as
literals). the exit command is now implemented as a special
return value of JIM_EXIT.
2005-09-19 17:56 antirez
* ChangeLog, jim-eventloop.c: Fixed a bug reported by Craig Denson
about jim-eveloop.c and filemasks.
2005-09-19 17:47 antirez
* BUGS, ChangeLog, jim.c: Updated BUGS, fixed some minor problem
with GCC 4.x compilation.
2005-09-19 16:17 antirez
* doc/Sqlite-Extension.txt: Added info about in-memory databases in
the Sqlite extension doc.
2005-04-26 15:31 patthoyts
* jim-win32.c: Check available windows target version for more
2005-04-26 12:47 antirez
* ChangeLog, Makefile, jim-win32.c: mingw compilation fix
(excluding the compilation of animate window win32 cmd)
2005-04-21 09:35 patthoyts
* jim-win32.c: RegisterClass, CreateWindow and UpdateWindow. Need
to add user defined Window procedures though.
2005-04-20 17:34 patthoyts
* jim-win32.c: Added some window managing APIs - MoveWindow,
ShowWindow, DestroyWindow and AnimateWindow (which doesn't seem
to work).
2005-04-19 17:33 patthoyts
* jim-win32.c: Added CreateDirectory and RemoveDirectory
2005-04-18 10:31 antirez
* ChangeLog, Makefile, jim-eventloop.c, jim-eventloop.h, jim.c,
jim.h: First version of the Jim eventloop extension, exporting
[after], [vwait], and the C API to write other extensions using
events. No win32 port for now, just posix. UDP extension will
follow shortly and will be the first extension using the event
2005-04-13 21:57 patthoyts
* jim-win32.c: Added GetLastInputInfo API
2005-04-13 21:54 patthoyts
* jim-win32api.c: Win32API module permits dynamic creation of Jim
commands that call into Win32 DLL functions. Its not complete and
at the moment only void or integer parameters are working.
2005-04-13 21:50 patthoyts
* jimsh.c: JimGetExePath needs to be a _path_ not the file name.
2005-04-12 14:36 antirez
* ChangeLog, jim-aio.c: AIO fix: the Id is not get with the
GetGlobalVar function.
2005-04-12 14:27 antirez
* ChangeLog, jim.c: string tolower/toupper support
2005-04-12 10:34 antirez
* ChangeLog, jim-aio.c: new methods for AIO files, 'read' and
'eof'. Documentation still no longer in sync.
2005-04-11 19:25 chi
* jim.c: - Remove the '%lu' scan format specification. The largest
possible type in the Jim core is jim_wide. That type is a
signed one. A unsigned variante of jim_wide is not forseen. So
a '%lu' specification seems not to make any sense.
- Some extra castings necessary to let the Jim core interpreter
compile and run under Tru64U on Dec Alpha.
- Fix a bug in UpdateStringOfList(). If a list was created via
the Jim command [list] w/o any argument, the internal
representation of that list pointed to ZERO and the len
attribute was equally set to ZERO. If now UpdateStringOfList
was called to create the string representation of the list,
Jim_Alloc for quotingType got a ZERO size for number of bytes
to allocate. That let to SIGSEGV under Tru64U, so I changed that
to allocate at least 1 byte then.
2005-04-11 16:34 antirez
* ChangeLog, TODO, jim.c: RHS/Nem vision about [tailcall]
implementation/behaviour is now Jim's way to go.
2005-04-11 13:17 antirez
* ChangeLog, jim.c: [tailcall] command added
2005-04-11 10:25 antirez
* ChangeLog, jim.c, jimsh.c: Fixes for this two bugs:
(1) jim.c Jim_FormatString() char array spec[] is defined
as having two elements but at the 'default:' case of the switch
statement an assignment is made to the third element
(2) jimsh.c JimGetExePath() After the call of strrchr()
the value of p could be NULL in the case that argv[0] is just
plain "jim". The next line should have a test for NULL added to
avoid dereferencing the NULL pointer. (This is the cause of a
Bus Error on Mac OS X.)
Many thanks to Colin McPhail for reporting this two problems.
2005-04-10 19:04 chi
* jim.c, jimsh.c: Rework of the [scan] command finished. It does
not any longer use sscanf for scanning purposes, only for parsing
within SetScanFmtFromAny. We could get rid of it there too, if
It pass all tests on all platforms I had access to (mainly Linux,
Solaris, FreeBSD, MacOS X). But I am confident, that it will pass
on the others as well.
A small new introduced C99-ism was fixed in jimsh.c as well.
2005-04-10 11:51 antirez
* ChangeLog, jim.c, jim.h: Fix for [return -code eval]
2005-04-09 14:57 antirez
* ChangeLog, jim.c, jim.h: Experimental verison of JIM_EVAL retcode
in order to implement what RHS proposed in the Wiki for tail
return -code eval [list proc $a $b ...]
I'm not sure I'll take this, but it needs to be inside for some
time in order to experiment and evaluate it I guess.
2005-04-09 10:23 antirez
* ChangeLog, TODO, jim.c: TODO updated, spurious free changed into
2005-04-08 16:07 patthoyts
* jim-win32.c: Do not add cursorinfo if build target cannot cope.
2005-04-08 16:06 patthoyts
* jim.c, jimsh.c: Fix win32 build
2005-04-07 09:27 antirez
* ChangeLog, jimsh.c: Fixed a typo that prevented compilation with
2005-04-07 08:52 antirez
* ChangeLog, jim.c: The ** expr operator, thanks to Richard
Suchenwirth. Limited to integers because pow() needs the
inclusion of math.h. The plan is to put everything depends on
math.h in the math lib.
2005-04-06 20:20 antirez
* ChangeLog, jim.c, jimsh.c: Modified jimsh.c in order to put the
directory of the Jim executable as a component of jim_libpath.
2005-04-06 16:16 patthoyts
*, jim.c: Add the executable file location into
jim_libpath for finding packages.
2005-04-06 15:08 patthoyts
* jim-win32.c: Fix a problem with usie of mingw gcc and remove some
gcc warnings.
2005-04-06 14:52 patthoyts
* jim-win32.c: Use __stdcall for mingw
2005-04-06 12:14 patthoyts
* jim.c, jim.h: Shhhhh. Silenced a number of warnings when using
2005-04-06 12:13 patthoyts
*, jim-win32.c: Made GetPerformanceInfo dynamically
available at runtime only if the relevant library can be loaded.
Fixed for impoverished compilers.
2005-04-06 08:35 antirez
* ChangeLog, jim.c, jim.h: Generic API implementing the Stack data
structure exported to extensions.
2005-04-05 19:59 antirez
* ChangeLog, jim-win32.c: Disabled from jim-win32.c commands that
need include <psapi.h> because this is not generally available.
2005-04-05 14:18 antirez
* ChangeLog, jim.c, test.tcl: [scope] command removed. Will be
added later with the [let] name and a bit different semantic.
2005-04-05 14:16 antirez
* ChangeLog, jim-rlprompt-1.0.tcl: minor rlprompt fix.
2005-04-05 13:51 antirez
* ChangeLog, Makefile, jim-readline.c, jim-rlprompt-1.0.tcl, jim.c,
jim.h, jimsh.c: .jimrc support (or jimrc.tcl). Minimal readline
extension, just enough to allow to the pure-Jim rlprompt
extension to provide a readline-aware interactive shell with
2005-04-04 21:44 antirez
* ChangeLog, README, jim.c: Fixed a memory leak introduced some day
ago. Thanks to 'valgrind'.
2005-04-04 13:59 antirez
* ChangeLog, jim-stdlib-1.0.tcl: [memoize] is now inside the Jim
Standard Library! More info here: Our
version uses a static var to take state instead of a global var,
for the rest it is the same.
2005-04-04 10:01 antirez
* ChangeLog, jim.h: Version marked as "0.51".
2005-04-04 09:58 antirez
* ChangeLog, Makefile, jim-stdlib-1.0.tcl, jim.c: Some change in
the standard library, a bug about [info body/args] fixed. some
commented work in progress for exposing the Jim parse at script
level. Default compilation set to -Os again.
2005-04-02 23:35 antirez
* ChangeLog, Makefile, README, TODO, jim-sqlite.c,
doc/Sqlite-Extension.txt: Committed the sqlite extension and
2005-04-02 12:14 antirez
* ChangeLog, README, doc/AIO-Extension.txt: minor docs update
2005-04-02 12:08 antirez
* ChangeLog, Makefile, jim-stdlib-1.0.tcl, jim.c: Added a very
immature start of a Jim standard library.
2005-04-02 11:09 antirez
* ChangeLog, Makefile: Changes to Makefile to reflect that now
libraries must have the version in the .so/.dll filename.
2005-04-02 10:54 antirez
* ChangeLog, jim.c: win32 opendir() and related compatibility API.
2005-04-02 09:48 antirez
* ChangeLog, jim.c: fix for win32
2005-04-02 09:44 antirez
* ChangeLog, Makefile, TODO, jim.c, jim.h: [package require] +
Makefile changes about libraries currently not working...
2005-03-31 14:20 antirez
* ChangeLog, STYLE, TODO, jim-aio.c, jim-posix.c, jim-sdl.c,
jim-win32.c, jim-win32com.c, jim.c, jim.h: Implemented the C API
"background" for the packages system of Jim.
2005-03-29 18:50 antirez
* ChangeLog, jim.c, test.tcl: [info args] added
2005-03-29 16:17 antirez
* ChangeLog, jim.c: Fixed [range] for the case of unique element
possible as output.
2005-03-29 16:03 antirez
* ChangeLog, jim.c: random number generator fixed. Was a problem
with the initialization of the sbox. (see prev CVS commit
2005-03-29 15:43 antirez
* ChangeLog, jim.c: First fix for [rand]. More later as there is an
evident bias due to some programming error probably.
2005-03-29 15:38 antirez
* ChangeLog, Makefile, jim.c, jim.h: A number of fix for commands
optimizing a bit too much objects not shared, that didn't played
very well with Jim arrays. Added the [rand] command.
2005-03-28 19:47 antirez
* ChangeLog, jim.c, test.tcl: The behaviour of [scope] modified a
bit. Test updated accordingly.
2005-03-28 18:57 antirez
* ChangeLog, jim.c, test.tcl: [scope] command + tests
2005-03-26 15:12 antirez
* ChangeLog, Makefile, jim-sdl.c, jim.c: some GFX primitive to SDL
extension. Minor changes to jim.c
2005-03-25 10:34 antirez
* ChangeLog, bench.tcl, jim.c: SetReturnCodeFromAny() modified to
accept numerical codes.
2005-03-24 14:58 antirez
* ChangeLog, jim.c, test.tcl: [range] command + tests
2005-03-24 12:00 antirez
* ChangeLog, Makefile, TODO, jim-sdl.c: A simple SDL extension for
2005-03-22 15:32 antirez
* ChangeLog, jim.c: Fix for short circuit in expr.
2005-03-22 13:47 antirez
* ChangeLog, jim.c: expr's || and && operators are now lazy.
2005-03-21 18:04 chi
* jim.c, jim.h: Add copyright notice within jim.c & jim.h to
acknowledge Jim's license.
2005-03-21 13:39 antirez
* ChangeLog, jim.c, test.tcl: Modified test.tcl to report the list
of failed tests at the end.
2005-03-21 12:59 chi
* jim.c, jim.h, test.tcl: Add the [scan] command and the
Jim_ScanString function + tests.
The scanformat specification will be converted to a new Jim_Obj
of type
scanFormatStringObjType, that will contain the parsed
representation within its internal object representation. This
speed up multiple scanning within e.g. a loop, of objects were
For internal scanning we use sscanf currently (I am lazy right
now). That
means also, we will inherit its incapability to handle string
with embedded ZERO. It would be not too difficult to implement
another scanner just for the string and charset conversion type
that could be able to handle those embedded ZEROs, however.
Furthermore two small details were fixed:
1. Jim_DoubleToString should also recognize a number if a leading
'+' or '-' occured. By recognizing I mean, add a ".0" to such
a number.
2. Jim_StrDupLen should also properly handle duplication of
substrings. So now it should be possible to do this:
const char *str1 = "This is a long string";
char *substr1 = Jim_StrDupLen(str1, 4);
Now substr1 should contain a properly ZERO ended "This".
2005-03-19 22:39 antirez
* ChangeLog, jim.c, test.tcl: Jim_GetIndex() bug fixed (SS)
2005-03-19 20:12 antirez
* ChangeLog, Makefile, TODO, jim.c, jim.h: [finalize] command and
relative C API added (SS).
2005-03-18 12:39 antirez
* ChangeLog, jim.c: now [setref] returns the value assigned to the
reference instead of the reference itself.
2005-03-18 10:36 antirez
* ChangeLog, Makefile, jim.c: Fixed an EXPR bug.
2005-03-17 22:39 antirez
* ChangeLog, README, TODO, jim.c: [lreverse]
2005-03-17 15:56 antirez
* ChangeLog, TODO: TODO file updated, things already done removed.
2005-03-17 15:47 antirez
* ChangeLog, jim.c: Applied PATCH #389 "debug command is missing
NULL terminator in options :)" Thanks to Jaen Saul for report +
2005-03-17 14:06 antirez
* ChangeLog, jim.c, jim.h: Objects hash function changed.
2005-03-17 08:40 antirez
* ChangeLog, jim.c, jim.h: [source] command added.
2005-03-17 08:22 antirez
* ChangeLog, Makefile, TODO, jim.c, jim.h: The interactive prompt
can now used to type/paste multi line scripts. Every line is
appended to the previous until the script does not appear to be
complete (tested by Jim_IsScriptComplete()).
2005-03-16 17:28 antirez
* ChangeLog, jim-aio.c, jim.c, jim.h: [env] modified to just be
able to read a specified var name form the environment, i.e. to
be ANSI-C.
Minor fix to AIO extension to use the new DelProc API.
2005-03-16 17:06 patthoyts
* jim.c, jim.h: Added interpreter pointer to the command delete
2005-03-16 16:30 antirez
* ChangeLog, jim.c: Added the [env] command
2005-03-16 14:35 antirez
* ChangeLog, jim.c: added CVS ID info in the banner.
2005-03-16 14:11 antirez
* ChangeLog, jim.c: more GC fixes.
2005-03-16 13:55 antirez
* ChangeLog, jim.c: Fixed a bug introduced in the Gargage
Collection code some commit ago.
2005-03-15 22:58 antirez
* ChangeLog, Makefile: clean target of Makefile now deletes .xo
files too.
2005-03-15 15:42 antirez
* ChangeLog, jim.c, jim.h: A first version of [info complete].
2005-03-15 15:05 antirez
* BUGS, ChangeLog, jim.c, test.tcl: [info level ?level?] fixed.
Tests uncommented.
2005-03-15 11:31 antirez
* AUTHORS, ChangeLog: More credits in the AUTHORS file
2005-03-14 17:36 patthoyts
* jim-win32.c: Added a bunch of cursor handling apis
2005-03-14 17:35 patthoyts
* jim.c: const police
2005-03-14 15:39 antirez
* ChangeLog, jim.c, jim.h: 'iterator' argument modified to 'iter'
for C++ STL safety.
2005-03-14 14:11 antirez
* ChangeLog, jim.c, jim.h: more fixes to allow inclusion of jim.h
into C++ programs.
2005-03-14 13:20 antirez
* ChangeLog, jim.h: Some change to make jim.h more C++ friendly,
still not working with g++ btw.
2005-03-14 10:16 antirez
* ChangeLog, TODO, jim.c: Removed the inclusion of a not-needed
header file "sys/time.h" that prevented compilation with
JIM_ANSIC under non POSIX systems.
2005-03-14 08:22 antirez
* ChangeLog, TODO, jim.c: [lmap] command.
2005-03-13 18:43 antirez
* ChangeLog, jim.h: Max nesting depth modified to 10000
2005-03-13 16:53 antirez
* ChangeLog, jim.c: [string first]. Tests still not added, until
[string] is not (almost instead) complete.
2005-03-13 09:36 antirez
* ChangeLog, jim.c: [string index] implemented
2005-03-12 22:42 antirez
* ChangeLog, jim.c: Jim_GetEnum() will now sort the options in the
error message (ss)
2005-03-12 21:26 antirez
* ChangeLog, jim.c, jim.h: Added the ability to compile with
-DJIM_ANSIC to use only ANSI-C features and libraries.
2005-03-12 10:18 antirez
* ChangeLog, jim.c, jim.h: Added the Jim_FreeNewObj() macro to free
objects with refcount == 0 instead to call Jim_IncrRefCount +
Jim_DecrRefCount(), or directly Jim_FreeObj(). Code modified
accordingly where needed. Make test + valgrind test passed after
the change.
2005-03-12 09:52 antirez
* ChangeLog, README, jim.c: It's now possible to exclude
compilation of dynamic loaded libraries commenting the JIM_DYNLIB
define from the first lines of jim.c.
2005-03-12 07:43 antirez
* ChangeLog, jim.c: Modified Jim_Free() to be more strict, now it
panics if the refcount of the object is not exactly 0. Now new
objects that are not used may be freed using Jim_Free instead to
use Jim_IncrRefCount() + Jim_DecrRefCount() calls.
2005-03-11 23:00 antirez
* ChangeLog, jim.c: Converted some free() call to Jim_Free().
Actually Jim_Free is a macro that just expands to free for now,
but in the future Jim may include a specialized allocator for
better performances.
2005-03-11 10:37 antirez
* ChangeLog, jim.c: [lambda] modified to be 'statics' capable.
2005-03-11 10:33 antirez
* ChangeLog, Makefile: default Makefile optimization level set to
-O2 again. I committed a Makefile with -Os for an error. (me)
2005-03-11 10:31 antirez
* ChangeLog, jim.c, test.tcl: Fix about [rename] against procedures
with statics. Added a regression test to test.tcl (I plan to
move everything inside regtest.tcl into test.tcl).
2005-03-11 10:25 antirez
* ChangeLog, jim.c: more static fixes (me)
2005-03-11 09:43 antirez
* jim.c: tons of static var fixes...
2005-03-11 08:21 antirez
* ChangeLog, jim.c, jim.h: static variables support
2005-03-10 16:58 antirez
* ChangeLog, jim.c, jim.h, test.tcl: lrange command (me)
2005-03-10 11:03 antirez
* Makefile, README, bench.tcl, jim.c, tools/benchtable.tcl: Some
fix to bench.tcl to make it able to run in Tcl7.6. README
2005-03-09 14:42 patthoyts
* Add profile option
2005-03-09 13:00 patthoyts
* bench.tcl: Improved formatting for normal output
2005-03-09 12:57 patthoyts
* tools/benchtable.tcl: New file to tabulate accumulated benchmark
data from bench.tcl -batch
2005-03-09 12:06 antirez
* ChangeLog, jim.c, jim.h, test.tcl: [linsert] command added
(Clemens Hintze). Jim_GetIndex() semantic changed to make
[lindex] more compatible with Tcl's one, without effects on other
commnads (me).
2005-03-09 09:52 antirez
* ChangeLog, bench.tcl: New test added to the benchmark
2005-03-09 08:19 antirez
* ChangeLog, TODO, bench.tcl, jim.c: An initial [format] command.
2005-03-08 18:06 antirez
* ChangeLog, jim.c, jim.h, jimsh.c: Did some fix in jimsh.c,
exported some more API function to set variables and global
variables using a string C as name instead of a Jim_Obj. This is
more handy in mani conditions.
2005-03-08 16:10 patthoyts
* bench.tcl, jim.c, jim.h: JIM_VERSION is to be an integer value
which we present as MAJOR.MINOR to users. MAJOR is JIM_VERSION /
2005-03-08 14:45 patthoyts
* bench.tcl, jim.c, jim.h, jimsh.c: Added [info patchlevel] and
setup argv0 and argv variables in jimsh. Changed
Jim_InteractivePrompt to take a pre-initialized interpreter.
2005-03-08 12:32 antirez
* ChangeLog, jim.c: aesthetic changes to source code (SS)
2005-03-08 12:01 antirez
* ChangeLog, jim.c: Removed an useless #if0 ... #endif block of
2005-03-08 10:50 antirez
* ChangeLog, jim.c, test.tcl: Info exists + tests (Clemens Hintze).
2005-03-08 10:42 antirez
* ChangeLog, jim.c, regtest.tcl: Applied patch about unset a(x)
against non existing 'a' variable (Clemens Hintze). Dictionary
handling code and error messages modified a bit (me).
2005-03-07 21:53 antirez
* ChangeLog, jim.c: Fixed a memory leak introduced with the last
callframe caching code commit.
2005-03-07 21:34 antirez
* ChangeLog, jim.c, jim.h: Faster procedure calls (obtained caching
the hashtable, and with a fast path to free the cached hash
tables elements).
2005-03-07 18:58 antirez
* ChangeLog, jim.c: Added "increasing", "decreasing", "ascii",
"nocase" options to lsort (SS). The plan is to don't add more
options than this, but -command, and put "dictionary style"
comparison in [string dictcompare].
2005-03-07 17:03 antirez
* ChangeLog, Makefile, bench.tcl, jim.c: [lsort] command and list
sorting low-level functions (Pat Thoyts). Speedup for floating
point math (me).
2005-03-07 16:30 patthoyts
* jim.c, jim.h: Refactored the [info] command and added body and
version to the command. Added a simple version of [lsort] (no
options yet).
2005-03-07 15:17 antirez
* ChangeLog, jim.c: specializing version of while (still not
complete, but already handles most of the cases that it's worth
to optimize).
2005-03-07 09:23 antirez
* ChangeLog, TODO: TODO changes
2005-03-06 23:42 antirez
* bench.tcl, jim.c, regtest.tcl, test.tcl: A specializing version
of [for] that appears able to match the performaces of Tcl8.4 for
the specialized forms. The implementation is a bit complex so may
contain bugs... to handle with care. Also a [for] bug about
[continue] was fixed and the regression test added.
2005-03-06 11:43 antirez
* ChangeLog, jim.c, jim.h, doc/AIO-Extension.txt: Fixed a race
condition in the garbage collection code. In order to fix this,
now the hash table iterator works in a way that's save to delete
returned entries during the iteration.
2005-03-06 10:05 antirez
* ChangeLog, doc/AIO-Extension.txt: AIO doc update
2005-03-06 10:03 antirez
* ChangeLog, doc/AIO-Extension.txt: Documentation for the AIO
extension added
2005-03-06 09:48 antirez
* ChangeLog, jim-aio.c: Added support for stdin/stdout/stderr to
2005-03-06 09:31 antirez
* ChangeLog, Makefile, TODO, jim-aio.c, jim.c, jim.h: Added
Jim_GetEnum() API function. StringCoreCommand and AIO extension
modified to use this API. There are plenty of other places where
this will work better than the raw CompareStringImmediate().
Original idea from Tcl, Original implementation from Pat Thoyts,
I changed the implementationto use CSI and for automatic error
generation with all the valid options listed.
2005-03-05 23:06 patthoyts
* jim.c: Free an objects internal representation before freeing the
string rep.
2005-03-05 22:11 antirez
* ChangeLog, jim-aio.c: more AIO file methods.
2005-03-05 19:51 antirez
* ChangeLog, jim-aio.c: ANSI I/O seek method implemented.
2005-03-05 16:04 antirez
* ChangeLog, jim.c, jim.h: Solved a problem with Jim_Length()
2005-03-05 16:01 antirez
* ChangeLog, Makefile, jim-aio.c, jim.c, jim.h: Initial version of
AIO (ANSI C I/O) extension added. Some bit of const safeness. A
new API function to get the object length, Jim_Length().
2005-03-05 13:22 antirez
* ChangeLog, jim-posix.c, jim-win32.c, jim-win32com.c, jim.c,
jim.h: delProc callback added to Jim_CreateCommand(). Core
commands handling updated to respect the new sematic.
2005-03-05 13:13 antirez
* ChangeLog, jim-posix.c: extern int errno declaration removed from
the posix extension.
2005-03-05 11:45 patthoyts
* jim.c, jim.h: Added Jim_GetAssocData api. This for permitting
packages to register a data structure with a Jim interpreter.
2005-03-05 10:46 antirez
* ChangeLog, jim.c, jim.h: removed strcasecmp() and isascii(). Now
the Jim core is fully ANSI-C excluding the [load] command. I plan
to add a JIM_FORCE_ANSIC ifdef to exclude the load command for
2005-03-05 10:34 antirez
* AUTHORS, ChangeLog, README, jim.c, jim.h, test.tcl: [switch]
command contributed by Clemens Hintze, modified to avoid problems
with -command and shimmering of the objects passed as [switch]
2005-03-05 00:59 patthoyts
*, jim-win32com.c, jim.c: Added ole32.foreach command,
changed creation to ole32.create. Added support for dealing with
returned ole32 obejcts. Couple of const fixes in jim core.
2005-03-04 23:44 antirez
* jim.c: Removed two unused parts of code resulting in warnings
compiling under 64bit systems.
2005-03-04 23:04 antirez
* ChangeLog, jim.c: Fix for [info local], at top level an empty
list is now returned.
2005-03-04 22:59 antirez
* jim.c: binary safe parsers for scripts,lists,expr,subst.
2005-03-04 21:12 antirez
* jim.c: Fixed a bug in Jim_Collect() thanks to Colin McPhail that
reported it.
2005-03-04 16:37 antirez
* jim-posix.c, jim-win32.c, jim-win32com.c, jim.c: JIM_NOTUSED
moved after var declarations blocks.
2005-03-04 16:33 antirez
* jim.c: [info locals/vars/globals]
2005-03-04 15:09 antirez
* BUGS, ChangeLog, jim.c, jim.h, test.tcl: jim::libpath renamed
into jim.libpath. Also there was a bug listed in the BUG file
about jim.libpath lookup performed using the local variable API
that's now fixed. In order to fix the problem the new API call
Jim_GetGlobalVariableStr() was added. Jim_GetVariableStr() and
Jim_GetGlobalVariableStr() are now exported.
2005-03-04 13:32 antirez
* ChangeLog, jim-posix.c, jim-win32.c, jim-win32com.c, jim.c,
jim.h, test.tcl: $id: ..$ strings added
2005-03-04 13:15 antirez
* ChangeLog, Makefile: Added a 'commit' makefile target to generate
ChangeLog + cvs commit.
2005-03-04 13:12 antirez
* ChangeLog: ChangeLog file added, generated using cvs2cl
2005-03-04 12:54 antirez
* jim-posix.c, jim-win32.c, jim-win32com.c, jim.c, jim.h: Added
JIM_NOTUSED macro. Macro used where appropriate.
2005-03-04 11:47 antirez
* README, bench.tcl, jim.c, test.tcl: Small README change to
reflect LIBS Makefile var.
2005-03-04 11:06 patthoyts
* Makefile, jim-win32com.c, jim.c, jim.h: Use command line vars in
the Makefile. Make const quiet with gcc -Wwrite-strings Fixed
macro usage in COM extension that gcc doesn't like.
2005-03-04 10:45 antirez
* jim.c, test.tcl: [split] command added + tests.
2005-03-04 09:30 antirez
* README, doc/Embedder-HOWTO.txt: Embedder-HOWTO added
2005-03-04 09:03 antirez
* AUTHORS, README, TODO, bench.tcl, jim.h: more benchmarks. Initial
size of hashtables modified. Some documentation change.
2005-03-03 23:10 antirez
* jim.c, test.tcl: [string map ?-nocase? ...] implemented. tests
2005-03-03 17:41 antirez
* jim.c, jim.h: Missing functions exported
2005-03-03 17:33 antirez
* jim.c, jim.h: RegisterCoreCommands now exported (broken in the
last commit)
2005-03-03 17:24 patthoyts
* jim-win32com.c: Added preliminary support for using typelibrary
2005-03-03 16:43 antirez
* jim.c: interactive prompt output binary safe (using fwrite
instead of printf).
2005-03-03 16:36 antirez
* jim.c: [string repeat] implemented.
2005-03-03 16:30 antirez
* Makefile, jim.c, jim.h: Made exporting of symbols to the API less
error prone with JIM_REGISTER_API and JIM_GET_API macros.
2005-03-03 15:41 antirez
* Makefile, jim.h: improtant fix! jim error message visualization
was broken because Jim_PrintErrorMessage() was not exported using
the right funciton pointer.
2005-03-03 14:13 antirez
* Makefile: Makefile dependences updated
2005-03-03 14:10 antirez
* jim.c, jim.h: changes to the reference system. Now references
string rep includes a 'tag' that makes interactive usage and
debugging simpler.
2005-03-03 12:01 antirez
* jim-posix.c, jim.h: Fixed a minor typo introduced with
const-safeness patch.
2005-03-03 11:34 antirez
* jim.c, jim.h: const removed from Jim_GetString().
2005-03-03 04:29 patthoyts
* jim-win32.c, jim-win32com.c, jim.c, jim.h: Applied patches 363
and 366 for const correctness to the win32 modules and jim.[ch]
2005-03-03 04:11 patthoyts
* jim-win32com.c: Fixed my evil unicode type problem. Didn't do a
good job with zero length unicode strings.
2005-03-03 02:48 patthoyts
* jim-win32com.c, jim.c, jim.h: Exported the double object type to
the API. Paranoid cleanup of unicode object type internal
2005-03-02 23:50 antirez
* Makefile, README: more verbose README, a Makefile fix for mingw.
2005-03-02 23:37 patthoyts
* README: Fixed some typos.
2005-03-02 23:34 patthoyts
*, jim-win32com.c, jim.c, jim.h: Moved the internal rep
accessor macros and Jim_FreeIntRep into the header as they are
useful to people writing new object types. Enabled calling COM
methods, some object type bugs cleaned.
2005-03-02 23:29 antirez
* README, TODO, bench.tcl, jim.c: one more benchmark
2005-03-02 20:29 antirez
* jimsh.c: jimsh added
2005-03-02 20:27 antirez
* Makefile, jim-posix.c, jim-win32.c, jim-win32com.c, jim.c, jim.h:
shell and library splitted. Now jim.c contains only the language
implementation, while the shell is into jimsh.c, that is actually
the first example of embedder of Jim.
Important changes in jim.h to make Jim play well with
extensions/embedders at the same time, and to deal with multiple
Extensions now must define JIM_EXTENSION before to include jim.h,
embedders must define JIM_EMBEDDED before to include jim.h.
2005-03-02 18:05 antirez
* jim-posix.c, jim-win32.c, jim-win32com.c: removed JIM_EXTENSION
define from extensions. Is no longer useful because only the core
has to defile __JIM_CORE__.
Added ctype.h in jim-win32com.c.
2005-03-02 17:40 patthoyts
*, jim-win32com.c, jim.h: Can now create and relese
objects and use ole32.invoke to call propert get on them. See
the sample at the top of the file. NB: ONLY propget so far.
2005-03-02 17:02 antirez
* jim.c: binary safe JimStringCompare and thus [string compare].
Now [string compare] supports -nocase.
2005-03-02 16:41 antirez
* jim.c, test.tcl: binary safe JimStringMatch()
2005-03-02 15:20 antirez
* jim-win32.c: win32 compilation under mingw fixed,
GetPerformanceInfo() is not available under mingw.
2005-03-02 15:03 antirez
* jim.c: fix for [ Bug #3513 ] Jim crashed after dict sugar
substitution in string
2005-03-02 14:31 antirez
* jim.c, jim.h: JIM_LL_MODIFIER is now called JIM_WIDE_MODIFIER so
that's set simply to "ld" if the system isn't 64bit capable. This
allows to remove few ifdefs from jim.c.
2005-03-02 13:36 antirez
* STYLE, bench.tcl, jim.c: non local literal sharing disabled.
bench.tcl modified to be more verbose.
2005-03-02 13:07 patthoyts
* bench.tcl, jim.c: Improved the [time] resolution on windows.
2005-03-02 11:54 patthoyts
* jim-win32.c: Codified structure rep
2005-03-02 11:46 patthoyts
* jim-win32.c: Whitespace police and added new APIs.
GetPerformaceInfo, LoadLibary, GetModuleFileName, GetModuleHandle
and FreeLibrary.
2005-03-02 08:18 patthoyts
* jim-win32com.c: Slowly progressing.
2005-03-02 00:49 antirez
* STYLE, jim.c, jim.h: A lot of changes to functions names of
jim.c/h to reflect the STYLE file rules. More functions exported
to the visible API.
2005-03-02 00:16 antirez
* STYLE: style bugs into the style document ;)
2005-03-02 00:04 antirez
* STYLE: Style guidelines
2005-03-01 23:54 antirez
* jim-posix.c, jim.c, jim.h: Indentation style changed to the new
Jim standard 4 spaces. No tabs used at all.
2005-03-01 23:07 antirez
* jim.c, test.tcl: removed a C99-ism
2005-03-01 22:57 antirez
* jim.c, test.tcl: many string match tests added.
2005-03-01 22:38 antirez
* TODO, jim.c: Fix to Jim_StringMatch. Still not embedded nuls
2005-03-01 16:55 antirez
* jim.c: Clemens's patch for foreach speed/memusage.
2005-03-01 16:48 patthoyts
* Makefile,, jim-win32com.c, jim.h: Added fledgling COM
support for Win32. Unicode object and a Ole32 object types for
managing ascii-unicode and IDispatch references.
2005-03-01 16:22 antirez
* jim.c, jim.h: Change in design of the Jim STUBS system. Should
avoid problems on Solaris, and apperas to be generally more sane
about exported symbols restriction.
2005-02-28 20:29 antirez
* jim.c, test.tcl: Foreach command! Thanks to Clemens. Also a
patch about empty string and StringAppendString causing memory
corruption, and a patch about Jim_WrongNumArgs that I modified
because caused other tests to fail.
2005-02-28 17:27 patthoyts
* jim-win32.c: A few more APIs and a macro for declaring them.
2005-02-28 16:10 patthoyts
* jim-win32.c: Added some more API functions, Beep,
GetComputerName, SetComputerName, GetUserName, GetVersion,
GetTickCount, GetSystemTime.
2005-02-28 13:31 antirez
* jim-win32.c: jim-win32 changes to fix the last commit.
2005-02-28 13:29 antirez
* jim-win32.c: win32.CloseWindow added, ctype.h included in
2005-02-28 02:12 patthoyts
*, jim-win32.c: Fixed line endings and added findwindow
2005-02-28 01:44 antirez
* jim.c: literal sharing re-enabled after the Jim_DuplicateObj()
2005-02-28 01:43 antirez
* jim.c: Fixed a bug in Jim_DuplicateObj()
2005-02-28 01:20 antirez
* jim.c, jim.h: Jim_Alloc/Free now really exported. Literal
sharing enabled in a more aggressive form. New object for
var/index substution.
2005-02-27 23:57 antirez
* jim.c, jim.h: Jim_Alloc/Free exported to extensions.
2005-02-27 23:35 antirez
* TODO, jim.c, jim.h: const added to Jim_NewStringObj
2005-02-27 22:51 antirez
* Makefile: make clean now deletes *.dll too
2005-02-27 22:49 antirez
* Makefile, README: documentation changes, makefile modified to
build jim-win32.dll
2005-02-27 22:17 antirez
* jim.c: other minor chage about 64bit printf modifer
2005-02-27 22:04 antirez
* jim.h: mingw compilation fixes
2005-02-27 21:30 antirez
* jim.c: warning about win32 dlopen wrapper suppressed with
no-operation code.
2005-02-27 18:06 antirez
* AUTHORS, BUGS, README, jim-posix.c, jim-win32.c, jim.c, jim.h:
aritymin/aritymax information no longer used for C-coded
commands. API changed accordingly.
2005-02-27 17:39 antirez
* jim-win32.c: win32 test extensiona added (thanks to Pat Thoyts)
2005-02-27 17:05 antirez
* jim.c, test.tcl: more tests and a fix for [lindex $a $a $a]
sharing hell.
2005-02-27 15:23 antirez
* jim.c, test.tcl: more tests
2005-02-27 15:04 antirez
*, bench.tcl, jim.c, jim.h: Pat's patch for [load] on
win32! Pat's match for nan/inf modified a bit.
2005-02-27 14:07 antirez
* jim.c, jim.h, test.tcl: More test and fixes to pass this tests,
mainly about upvar.
2005-02-27 12:28 antirez
* TODO, jim.c, test.tcl: Now there is implicit subst in expr's
strings like expr {"foo $i" eq $bar}. More tests. A fix in the
parsing code for line number calculation.
2005-02-27 11:26 antirez
* BUGS, Makefile, jim.c: Fixed a bug in the parsing of
<backslash><newline>. Now it's rendered as a single space.
2005-02-27 10:57 antirez
* jim.c, jim.h: Clemens patch for macros sanity applied.
2005-02-27 00:39 antirez
* jim.c: ifcorecommand indented using Jim's source style.
2005-02-27 00:36 antirez
* jim.c: Pat <<< and >>> operators but converted to 32bit rotation.
2005-02-27 00:04 antirez
* with unix line endings
2005-02-27 00:03 antirez
* removed to add it again without DOS line endings
2005-02-26 23:43 antirez
* README, jim.c, jim.h: Pat's patch about callframe id type,
strtoll casting and errno applied.
2005-02-26 23:15 antirez
* jim.c, test.tcl: Clemem's patch fixing expressions containing
newlines parsing.
2005-02-26 21:14 antirez
bench.tcl, jim-posix.c, jim.c, jim.h, regtest.tcl, test.tcl:
Initial import
2005-02-26 21:14 antirez
bench.tcl, jim-posix.c, jim.c, jim.h, regtest.tcl, test.tcl:
Initial revision