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 update. 2005-03-09 14:42 patthoyts * Makefile.vc: 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 / 100 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 code. 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 AIO 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 compilation. 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] arguments. 2005-03-05 00:59 patthoyts * Makefile.vc, 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 added. 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 information 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 representation. 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 * Makefile.vc, 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 files. 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 * Makefile.vc, 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 safe. 2005-03-01 16:55 antirez * jim.c: Clemens's patch for foreach speed/memusage. 2005-03-01 16:48 patthoyts * Makefile, Makefile.vc, 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 jim-win32.c 2005-02-28 02:12 patthoyts * Makefile.vc, 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() fix. 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 * Makefile.vc, 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 . 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 * Makefile.vc: Makefile.vc with unix line endings 2005-02-27 00:03 antirez * Makefile.vc: 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 * AUTHORS, BUGS, LICENSE, Makefile, Makefile.vc, README, TODO, bench.tcl, jim-posix.c, jim.c, jim.h, regtest.tcl, test.tcl: Initial import 2005-02-26 21:14 antirez * AUTHORS, BUGS, LICENSE, Makefile, Makefile.vc, README, TODO, bench.tcl, jim-posix.c, jim.c, jim.h, regtest.tcl, test.tcl: Initial revision