eTcl 1.0-rc28 release 2008-04-02 - fix color alias parsing in scene and pixane - broken exit handler causes error popup on exit on Win32 eTcl 1.0-rc27 release 2008-04-01 - Upgrade Tcl/Tk to 8.5.2 2008-03-27 - Upgrade sqlite to 3.5.7 - Upgrade Tcl/Tk to 8.5.2 (RC2) - Upgrade TLS to 1.6 - Add "alive" subcommand in wce to reset idle timer, and allow Tcl code to prevent device to enter in suspend mode - Update scene package (see scene changelog) - New toolchain for building linux versions (based on GCC 4.2.3) - Major rewrite of ZIp VFS code, to limit numbers of I/O. Significant reduction of startup time on WinCE, since I/O on flash memory is really slow. 2008-03-04 - Fix problem in our Tcl preprocessor, used to compact codes in kits, causing backslash at end of line followed by empty line to not generate an equivalent compact code - Memory leak in etcl::digest, handles were not released on close eTcl 1.0-rc26 release 2008-03-01 - Upgrade tktreectrl to 2.2.6 (pre-version from CVS) 2008-02-29 - Upgrade tktreectrl to 2.2.6 (pre-version from CVS) - Fix 1 pixel offset when scaling images in pixane, due to rounding errors - upgrade Tcl/Tk to 8.5.1 - upgrade sqlite to 3.5.6 - rewrite VFS code to use look-ahread read when loading table of content of ZIP archives, for better performance on slow devices (e.g. flash memory) - Add tDOM into full version, side by side with TclXML, both relying on same expat library to save memory. eTcl 1.0-rc25 release 2007-12-30 Upgrade to Tcl/Tk 8.5.0 eTcl 1.0-rc24 release 2007-12-23 - Get rid of limit on number of "exec" command a process can execute on Windows Mobile. - Make tk_chooseDirectory dialog niver on Windows Mobile - Rewrite filesystem driver for WinCE. Previous one was derived from Win32 one, but too many differences actually. WinCE filesystem is a mixed between Win32 filesystem (e.g. \ as separator) and Unix one (e.g. no volume). - Embed complete Memchan package into eTcl core. "memchan" comamnd was already available and used by zvfs. Now, other memory channels (fifo, fifo2, null, zeeo, random) are provided by "package require Memchan". Commands are created into ::memchan namespace. 2007-12-14 - Default to Tcl/Tk 8.5.0 for core. 8.4.x branch still available. - Lot's of changes in Odyce package (see Odyce changelog and subversion repository) - Upgrade to sqlite 3.5.4 - Upgrade to latest Tkhtml CVS snapshot - Upgrade openssl to 0.9.8g - Add WinCE specific "wce play" command, which map to PlaySound() API to play audio files. Supports aynchronous playing and loops. - On platform using eTcl graphical console, improve performance, by collecting stdout/stderr output in RAM instead of inserting it into text widget, when console is hidden. Puts on stdout have now no real penalty when running with console hidden. - Support generic transformation (including rotation) in Pixane. Perform all matrix operations in fixed point arithmetic, for much better performance on systems without FPU (e.g. WinCE, arm-linux and coldfire-uclinux) 2007-10-18 - when newclock support is enabled, add a pkgIndex.tcl file for msgcat 1.4.1 so that Tcl default to this version (required by newclock) instead of version 1.3.6 (default version in Tcl 8.4), to prevent conflict when msgcat is requested before newclock - Add ability to save and restore pre-compiled objects generated by Odyce - upgrade openssl to 0.9.8f 2007-10-16 - Upgrade libpng to 1.2.22 - Upgrade tkhtml3, tile and sqlite CVS snapshots - New version of Odyce 2007-10-07 - many many improvements to Odyce - fix segfault when reading truecolor BMP image (pixane) 2007-10-05 - upgrade sqlite to 3.5.1 - upgrade Tls to 1.5.1 (CVS) eTcl 1.0-rc23 release 2007-09-27 - (try to) fix WinCE installer again. Cross-generated from a Linux host using wine, but seems to work now. - Upgrade to latest tkhtml cvs snapshot - Improve Inno Setup config for Win32 install wizard. Installation valid for users without admin privileges. Setting file association in registry optional. Register eTcl executable into App Path key, so applciation can be started from Explorer's Run dialog by entering just etcl.exe and no path. - Support for XFT/Anti-Aliased fonts (X11 version) can be enabled or disabled at runtime either by setting ::etcl::etcl(xft) variable into main interpreter before loading Tk, or by defining ETCL_USE_XFT variable to any valid boolean value. 2007-09-21 - upgrade to Tcl/Tk 8.4.16 (official) - Reduce stack size for socket thread on WinCE 2007-09-19 - enable experimental package Odyce, to provide an embedded C compiler to write native extension in C compiled dynamically at runtime. - upgrade to Tcl/Tk 8.4.16 (rc1) 2007-09-15 - also add native implementation for sha224, sha256, md4, crc16, crc32, ccitt and xmodem digests. Each of those native implementations has its pure Tcl counterpart into evotcl library. - use tktray instead of or eTcl specific x11tray extension to handle system tray icons on X11. 2007-09-14 - upgrade to Tcl/Tk 8.4.16 (rc0) - add native support for md5 and sha1, since very often used in authentification and Pure Tcl implementation pretty slow, especially on WinCE and embedded devices (see ::etcl::crypto command) 2007-09-10 - embed C compiler (pre-alpha, experimental) into eTcl, and emulate critcl API on top of it. This works on linux-x86, linux-arm, win32 and windows mobile (wince) 2007-08-30 - backport 8.5 support for Xft/anti-aliased fonts into 8.4 version of eTcl. Both standard and Xft drivers are embedded into executable, and can be selected at runtime by settign environment variable ETCL_USE_XFT to any boolean value (default to Xft enabled) - Generate arm-linux executable in softfloat mode - lots of changes in toolchain used to generate linux executables - fix setup.exe automatic installer for WinCE cabs to run on older platforms (e.g. Win98) 2007-08-21 - Upgrade libpng to 1.2.19, sqlite to 3.4.2 - Automatically set file associations when installing with CABs on WinCE eTcl 1.0-rc22 release 2007-07-31 - Fix (again) Info.plist for MacOSX bundle (file association, etc...) - Upgrade libpng to 1.2.18 - Lot of changes in build process to enable cross-compiling for WinCE from Linux host. Use more aggressive optimisation. 2007-07-21 - Upgrade sqlite to 3.4.1, and enable FTS2 support - Upgrade tkhtml3 and tile to latest CVS snapshots - Upgrade freetype to 2.3.5 2007-07-19 - Add menu entry and dialog to convert tclkit into eTcl kit from console - Under WinCE, send Activate/Deactivate events to windows when toplevel is activated/deactivated. A toplevel is activated when it is displayed with its name in title bar, and deactivated when it gets hidden behind another WinCE application. - add support for building eTcl in CRT and/or service mode on Win32. When run with non-empty stdin, stdout or stderr, GUI executable don't redirect those standard channels to virtual ones on console code, so one can use this executable as, e.g.: % echo "hello" | etcl.exe | more This also means that eTcl is started in Tk mode, with Tk console initialized, if and only if none of stdin, stdout and stderr is connected 2007-07-12 - Fix 16bpp->24bpp conversion in WCECreateDIBitmap() emulation for WinCE, and disable dithering of Tkimage for 16bits display, so white background is always displayed as white, not light gray. Also, improve performance of this code, so image animation get a little bit (50%) faster (that is, 9 frames/s instead of 6 frames/s running tkengine on WM2003 test device). 2007-07-09 - Enable tile support also in "normal" version (used to be embedded into full version only). "normal" version now has dict, tile, and newclock, since all those features will be part of core in 8.5. 2007-07-07 - Recursive copy of directory to Storage card used to fail on PocketPC, because of incorrect result from SetFileAttributes(). MSDN says it it can't be called for file in RAM filesystem, but obviously, this applied to FS on flash memory too. Anyway, ignore error (permission denied) if directory already has correct attributes. - embedded freetype compiled with support for dfont font format enabled on MacOSX (and only MacOSX), to allow pixfont to load such resources. A new -index option has been added to [pixfont create] to be able to select face inside font file, since dfont files have most of the time many embedded faces. 2007-07-06 - Fix GIF decoder, when image contains a sub-frame with different geometry than global ones. Also, Pixane GIF decoder now returns a truecolor image by default. - Implement reference counting to prevent ZVFS volume to be unmounted if it has opened channels on it 2007-07-02 - Restore larger set of built-ins fonts in pixfont (pixane) in full version of eTcl. Compact and normal versions still embeds only one font (sans-serif). 2007-06-29 - Use fixed mktime() and localtime() implementations on Win32, since Posix says nothing about negative epoch, and Win32 returns error for them. This is used only in newclock implementation (see clock format -1) 2007-06-25 - Normalize path in ZIP VFS code, to be able to "cd" into VFS and open a relative file from this virtual current working directory - Add new vlerq/vqtcl code into eTcl core (see http://www.vlerq.org/). This allows eTcl to read metakit DB. No immediate plan to support mounting and running tclkits directly in eTcl, but only an automatic tclkit->etk converter. - Add applets into executable, which can be called from command line using -applets as first argument. For now, only one applet, to convert tclkit into eTcl kit (i.e. ZIP files) is implemented. eTcl 1.0-rc21 release 2007-06-24 - Fix transparency when loading GIF images with several frames and different transparent indices for each frame - Add Execute menu in console to run eTcl kit from GUI 2007-06-21 - New ::etcl::etcl subcommands to set or query (::etcl::etcl appid) application Id for current process, or to find (::etcl::etcl appfind) external process running with a given Id. API is exported on all architecture, but enabled only on Win32 and WinCE. 2007-06-20 - Re-enable full support for Win98 platform. Fallback to ANSI functions when eTcl detects Win98/WinME system at runtime. Replace most test checking for tcl_platform(platform) equal "Windows NT" with tcl_platform(platform) equal "Windows NT" or "Windows 95". - New Tkhtml3 checkout, fix SEGFAULT when applying scale factor to widget - New Sqlite3 checkout, post-3.4.0, with support for new @ prefix in Tcl API to force object to be saved as BLOB 2007-06-17 - Fix a bug introduced when enabling support for extended dash patterns, causing some solid lines to be rendered as dashed line (Win32/CE only) eTcl 1.0-rc20 release 2007-06-09 - Missing initialization of ConnMgr pointer to NULL (WinCE version only) may raise segfault or error popup on exit 2007-06-06 - Improve console code. Showing/hiding toolbar doesn't change toplevel geometry. Scrollbars can be shown/hidden automatically when needed. - Add support for extended dash patterns (as list of integers) and for dashoffset when drawing lines and rectangles on Win32/WinCE. Note this is normally not supported by Tk on Win32 platforms. Support for extended dash patterns when drawing arcs not yet active eTcl 1.0-rc19 release 2007-05-25 - Under WinCE, use backslash separator in native path (i.e. in value returned from [file nativename]) - Fix file association on Win32/WinCE. Recent changes to support current users vs. all users on Vista (and Win2K+) broke support for deleting active association - Upgrade Tcl/Tk core to 8.4.15 - Enable ConnMgr Tcl API (see netinfo, netup and netdown subcommands in wce package) 2007-05-18 - Initial port of Tk with Virtual Framebuffer or SDL as backend - Add newclock backport (extended clock command from Tcl 8.5, with support for Y2038 compliance, better time zone support, localisation, or other 8.5 [clock] features) to full version eTcl 1.0-rc18 release 2007-04-30 - Generate new toolchain for mingw and Linux (now includes support for mipsel-linux). Lot of dependencies updated (e.g. uClibc 0.9.3, XOrg R7.2.0, Mesa 6.5.3, ...) 2007-04-30 - Update sqlite to 3.3.17, freetype to 2.3.4 - Extend pixcopy command to allow either conversion from Tk photo to pixane or conversion from pixane to Tk photo - Fix association on Vista running a non-administrative account. Actually, support for file association on all Windows platform have been rewritten - Rework interpreter initialization (compatible with Tcl 8.5a6) - Update tkhtml3 to cvs snapshot (2006-11-27) 2007-04-17 - Fix console localisation - Add some eye-candies in console (e.g. sliding popups) - Upgrade libpng to 1.2.16 - Upgrade sqlite to use post 3.3.15 CVS snapshot which includes our patch for WinCE lock handling (see ticket 2294, check-in 3836) 2007-04-12 - Allow tile native theme on Vista - Upgrade sqlite to 3.3.15 (bugs fixes) - Set VersionMax of generated cabs to 7.0 (instead of 5.0), since executable works fine on WM6 - Add omitted "package ifneeded Zvfs" command during initialisation of child interpreters (was only declared as a static package), so Zvfs package can be required - Add support for video codecs in Pixane - Fix Tk Photo wrapper around Pixane, so photos can be saved (in file or as memory data) eTcl 1.0-rc17 release 2007-02-13 - Upgrade sqlite to 3.3.13 (bugs fixes) - Upgrade tktreectrl to 2.2.3 - Fix sqlite lock oops in multithreaded WinCE build - Clean up evodio eTcl 1.0-rc16 release 2007-01-23 - Upgrade sqlite to 3.3.11 (bugs fixes) - Upgrade tktreectrl to 2.2.2 (bugs fixes) - Upgrade libpng to 1.2.15 - Remove garbage trace on exit (linux and MacOSX versions) eTcl 1.0-rc15 release 2007-01-16 - Upgrade sqlite to 3.3.10 - When compiling with uClibc (linux), don't define HABE_LANGINFO, since this defines a broken system encoding if locale is something like LC_CTYPE is an UTF-8 encoding (e.g. LC_CTYPE="fr_FR.UTF-8") 2006-12-29 - Makes wce more robust by forcing active toplevel window to be foreground (i.e. calls SetForegroundWindow()), else SHFullScreen() may fails - Rework control window initialization, and modify code in exit handler to (try to) exit cleanly under all circunstances 2006-12-28 - In GetTranslatedKey(), ignore a weird message which sometimes leaks in between WM_KEYDOWN and its matching WM_CHAR event(s), and made two events to be raised when was pressed on SIP or Thumb keyboard (one event with valid keycode but no UNICODE string, one with no keycode but a "\n" UNICODE string). - Major modifications of keyboard (and SIP) input handling. This should fix most (all?) remaining issues for non-latin localized Windows Mobile systems (e.g. russian, japanese). 2006-12-08 - Update tkTreeCtrl to 2.2.1 2006-11-27 - Update tkhtml3 to cvs snapshot (2006-11-27) - Update tkTreeCtrl to 2.2 2006-11-10 - Fix potential segmentation fault when reading GIF image with corrupted LWZ data - Update tkhtml3 to cvs snapshot (2006-11-05) eTcl 1.0-rc14 release 2006-10-19 - Update Tcl and Tk to 8.4.14 - Update tkhtml3 to cvs snapshot (2006-10-19) 2006-10-12 - Fix channel corruption in Zip VFS when seeking inside a channel opened from an uncompressed file in a ZIP archive - Build with 8.4.14rc1. Final 1.0 release will go with 8.4.14 2006-10-10 - Update tclthread to 2.6.5 - Update sqlite to 3.3.8 - Update tkhtml3 to post-alpha11 cvs snapshot - Update sqlite to 3.3.8 - Update openssl to 0.9.8d - Update libpng to 1.2.12 2006-10-06 - Update Tile to 0.7.8 2006-09-15 - All eTcl executables now embed cross-platform replacement for native standard dialogs on PocketPC/Smartphones (file open, file save, choose dir, choose color). They are the default on WinCE. eTcl 1.0-rc13 release 2006-09-14 - Handle arguments to WM_CHAR passed as Unicode on some device (e.g. cyrillic input on PDA with cp1251 as system encoding). Typing cyrillic characters in entries and text widgets were broken on such device with prior release. - Upgrade Tkhtml3 to alpha10 milestone (CVS 2006-09-06) - Reorganize startup code. Everything is setup from files in placed in etcl system directory in VFS (use [etcl vfspath] to guess etcl VFS top directory, and [set ::etcl::etcl(library)] to get normalized path to this directory) 2006-09-07 - Upgrade tktreectrl to 2.1.1 - Upgrade Tkhtml3 to alpha10 milestone (CVS 2006-09-06) 2006-08-21 - Upgrade Tkhtml3 to alpha9 milestone (CVS 2006-08-21) - Upgrade tclthread to 2.6.4 2006-08-17 - Open serial port only once, and don't try to enable supprot for OVERLAPPED on WinCE (since not available). This fixes support for virtual serial devices (e.g. Bluetooth devices or GPS intermediate device) on Windows Mobile. eTcl 1.0-rc12 release - Update Tkhtml3 to latest CVS version. Passes ACID2 test. - Minor bugs fixes eTcl 1.0-rc11 release - Add Tkhtml3 to normal and full release. - Fix emulation of getDIBits() on WinCE (used by XGetImage). Images with alpha channel (not only transparency) can now be displayed with true alpha-blending. As an major side effect, this also fixes display problems with some Tile widgets (checkbutton, radiobutton, ...) for pixmap-based themes (e.g. step, blue). eTcl 1.0-rc10 release - Force normalization of mount directory of embedded VFS. Without it, eTcl on WIN32 platform fails to start if "installed" in a directory with special characters, blanks, or on a remote server (e.g. //host/path/etcl.exe) - Remove all static references to UNICODE API on Win32 port, to restore compatibility with Win95/98/Me. Those targets are not officially supported, but they are reported to work - Executables in distribution as TAR archives have now 0755 permissions - Clean up core to have a single instance of eTcl running at the same time on WinCE, as recommended on this O.S. Application unique Id can be specified with -etclid command line option - Fix major problem introduced in rc9, which make eTcl leave zombie threads on WinCE and Win32 when started with a startup script. eTcl 1.0-rc9 release 2006-07-03 - Display error dialog on Win32/WinCE if startup scripts fails - add support for packaging applications into .etk kits (actually, just ZIP files with a main.tcl at root) 2006-06-30 - Remove HAVE_LANGINFO when compiling Tcl on MacOSX/PowerPC, for compatibility with older 10.2/10.3 OS versions eTcl 1.0-rc8 release 2006-06-26 - Clean up ZIP VFS, accept all separators (/and \) when resolving path, and support for hierarchical mounts - Split VFS used in evoboot into core and extensions - Clean up pre-init and init scripts. Reduce time required for creating an interpreter, by preventing eTcl to try to mount VFS more than once - Sync Udp with TclUDP 1.0.8 2006-06-21 - Under Windows Mobile, fix a broken ImmComposition handling introduced in eTcl 1.0-rc1, when local encoding is a multibyte one (e.g. japanese). Thanks to Satoshi Imai for reporting this, and testing fixes. - When automounting archives (zip or etk) inside lib directory, use new heuristics to determine which directories should be added to auto_path and encodings path - librarypath function moved inside ::etcl namespace, and modified to support a list of directories as argument - "standard" version now includes all encodings again, not latin one only - Make aygshell and winsock support more dynamic, to resolve available API at runtime. This allow to have eTcl support WinCE 3.0 (aka PocketPC 2000/2002) devices again eTcl 1.0-rc7 release 2006-06-13 - Under WinCE, generate executables for multiple configurations (compact, standard, full). Etcl core and VFS modularized to ease support for multiple configurations without recompiling everything - Sqlite updated to 3.3.6 2006-06-08 - Add official support arm-linux (hardfloat) - New toolchain in evocomp (toolchain and cross-compilation layer). This means no change in eTcl sources, but extensive testing of new binaries, since many core components have been regenerated (e.g. new uClibc configuration. Xorg 7.1 modularized build, etc...) eTcl 1.0-rc6 release 2006-06-06 - Fix memory leak in pixane when saving image into memory - Custom about dialog for MacOSX 2006-06-04 - Define callbacks for Apple events, and define default extensions in Info.plist, to allow user to double-click .tcl files in Finder - Minor improvements of MacOSX port to respect native look&feel 2006-05-31 - Fix typo in econsole.tcl, when drawing about dialog on MacOSX eTcl 1.0-rc5 release 2006-05-30 - Fix compilation on MacOSX to allow deployment on 10.2/10.3 PowerPC systems eTcl 1.0-rc4 release 2006-05-26 - Fix shape support on Win32 and X11. Extract window position relative to its wrapper to apply mask to wrapper too, using correct offset. - Add Vista compatible 256x256 RGBA icon into Win32 executable, and use feather as default icon on all platform - Fix dump command in scene. Add option to map depth 2006-05-18 - Upgrade freetype to 2.2.1 2006-05-15 - Upgrade openssl to 0.9.8b - Remove a useless Tcl_FindExecutable() call when creating slave interpreter, taking argv0 as argument, which was breaking value returned by info nameofexecutable - Support for 8.5(a4). WinCE port still need some cleanup. - Add support for UPX on Win32, Linux (x86) and WinCE (arm). Together with some other tweaks to make executable smaller, Tcl/Tk core (with support for ZIP VFS and wce, but no 3rd party extensions) executable for Windows Mobile is now less than 900kB large. 2006-05-11 - Add support for dict backport (8.5.2) eTcl 1.0-rc3 release 2006-05-04 - Release 1.0-rc2 binary was build without having checked out the comX: fix from CVS repository. The comX: bug fix, announced in 1.0-rc2, is now there. - Make disabled menubar entries appear grayed (PocketPC) - Restore winXP theme in tile (Win32). The HAVE_UXTHEME_H macro was accidently removed when compiling the tile extension with Mingw. eTcl 1.0-rc2 release 2006-05-03 - Fix empty menu bug (windows mobile): eTcl was entering an infinite loop (ending as stack overflow error) when trying to open an empty menu popup. Default Tk event handler sends WM_NOTIFY event back to sender (tkWinX.c), which itself was passing it to menubar, which itself was going into Tk event handler, etc.... so interface was frozen processing an infinite queue event, until a stack overflow signal was raised. 2006-05-02 - Fix comX: bug when trying to open a com port greater than 4 on WinCE - add TclXml support (also supports tDOM, but TclXML is now the default). This includes the expat parser, statically linked into executable. - [file dirname [info nameofexecutable]]/etclrc.tcl is now the Tcl rc filename on all platforms (used to be ~/.etclrc on Unix) - Only one truetype font (serif) is now embedded (for pixane/pixfont). That is, serif-bold and serif-italic are no more linked into executable. - Several hacks to make executable a little bit more smaller. Whereas new TclXML and tkTreeCtrl packages as been added, executable is a little bit smaller than in previous release. 2006-04-26 - Export tclstub and tkstub into eTcl SDK - Add treectrl - Tcl code compacter (see EvoTcl package), to remove comments and useless spaces in Tcl scripts embedded into VFS. Removing spaces isn't much important, since zlib compression already encode them efficiently, but removing comments allows a significant saving. - Add support for base64 encoded string inputs for Pixane (and, as a consequence, for all Tk image formats provided by Pixane) - Fix GIF transparency handling when converting Pixane image to Tk photo eTcl 1.0-rc1 release 2006-04-20 - Restore console initialisation on Win32/WinCE, even if running in non-interactive mode. eTcl 1.0-rc0 release 2006-04-19 - Update core to Tcl-8.4.13 official release 2006-04-17 - Win32 installer using InnoSetup (http://www.jrsoftware.org/isinfo.php) - Snack removed from all ports (mainly because of its GPL license). For basic, yet most common, usage, that i splaying sound, evodio will try to provide a compact, simple and cross-platform solution. - tkwinico updated to 0.6 2006-04-13 - Update core to Tcl-8.4.13rc2/Tk-8.4.13rc3. Nothing to change (WinCE patch run unmodified), so everything should be ready for official 8.4.13 - Previously undocumented "scene" package (3D widget based on OpenGL), which was already there in previous Win32 and Linux releases, has been ported to MacOSX too. All desktop OS (Win32, Linux and MacOSX) share a common simple API for realtime 3D animation in Tcl now! - Add Tls support (including static openssl) to all platforms (WinCE too) 2006-04-10 - Tcl/Tk updated to 8.4.13rc1 - Sqlite updated to 3.3.5 - New MacOSX distrib, as universal binary (i686 and PPC). Available as a Mac bundle like most Mac applications, but note that executable inside bundle is just a standalone executable, just like on any other platform, which can be run from anywhere, with no installation or privileges required. Also, one may access most (all?) packages installed in default system ditribution, since default Tcl (8.4.7) is also thread enabled. Only add standard system path to auto_path lappend auto_path /System/Library/Tcl then, load packages the usual way, e.g.: package require snack - New heuristic to choose between terminal (TTY) or graphical (Tk console) mode. When eTcl is started from a terminal (i.e. stdin is a non empty tty), then terminal is used for stdin/stdout. Else, a Tk console is created. If run interactively, console is not shown. One may force Tk console to be created, even if starting eTcl from a terminal: etcl < /dev/null Under Windows (Win32 and Mobile), eTcl is not linked in CRT mode, so its standard input is always assumed to NOT be a valid TTY, and a Tk console is always created (but not always displayed, as mentionned previously) 2006-04-03 - Build process has been deeply modified. Everything is cross-compiled, using our own cross-toolchains. Please report any unstability, if any. - WinCE/Win32: if some file extension is unchecked into file association dialog, and Ok is pressed, actually delete existing file association - New <> and <> virtual events to change console font size dynamically. Binded to Command-minus and Command-plus respectively - Add a missing NULL character at the end of Tktable embedded script, which was causing a possible segfault when calling Tcl_Eval on it - Some other minor bug fixes, and code cleanup - New versioning rule, no more related to Tcl/Tk own version. actually, eTcl already had its own version number (see package require etcl and About dialog) but was announced using Tcl/Tk core version as prefix. Executable file name inside archives has been also simplified (e.g. etcl.exe on Win32, and WinCE). Of course, one can still decide to rename it at his own convenience, especially to have several versions live side by side. - Remove all static dependencies to aygshell, and other PocketPC or Smartphone specific libraries. This should help eTcl work on a larger range of WinCE devices (CE 4.0 and 4.1). Let me know. eTcl 8.4.12-pl16 release 2006-03-13 - Fix embedded windows support (that is window having a container as parent) which used to make eTcl enter an infinite recursivity because of TK_GEOMETRYREQUEST event processing raising just another TK_GEOMETRYREQUEST event, and so on. More tests to follow before completely trusting embedded windows support on Windows Mobile. - Another compiler issue, because of string pooling with EVC4, which makes Tktable initialization fail with pl15 (problem only occurs on Windows Mobile of course). Thanks to Peter Welten for reporting very promptly. Completely disable string pooling (/GF) for now, but will have to double-check what's wrong with it. Another solution would be to upgrade to VS2005, but need support for this, since it is not free ;-) 2006-03-10 - Some more minor fixes in transparency handling in Pixane eTcl 8.4.12-pl15 release 2006-03-09 - Blank photo handle in pixane before loading data into a Tk photo - Unstability when compiling with /Os (optimize for size), which disappear when compiling in either debug mode or "optimize for speed" mode. Global string pooling seems to be faulty. While I don't feel quite confortable with this diagnostic, next releases will now be optimized for size (increase size of exe approx 5%) eTcl 8.4.12-pl14 release 2006-03-08 - Modify PCX file format matching in Pixane to use more heuristics when trying to determine if data contain a PCX image. Else, a temporary buffer is allocated when trying to load an image of unknown type. eTcl 8.4.12-pl13 release 2006-03-08 - In Pixane, postpone JPG and PNG initialization until a JPG or PNG image actually has to be read or saved. Clean up initialisation code to be run only once for all interpreters. - Don't load Tile at startup for console on Windows Mobile - Fix format matching when saving images in Pixane eTcl 8.4.12-pl12 release 2006-03-07 - Remove memory leak in Pixane (and Tk photo since pixane is now automatically registered as a photo format handler). Memory leak occured only when loading images from data (e.g. image create photo -data ...), not from file. eTcl 8.4.12-pl11 release 2006-03-03 - Automatically register all image formats supported by pixane (e.g. PNG, JPEG, BMP, WBMP, PCX, etc...) as Tk photo formats. It means all those image formats are automatically supported by the standard "image create/load" mechanism, from both files and in-memory data, without having to use the "pixcopy" command anymore. Most codes designed to work with Img extension should work the same way with Pixane-enabled eTcl. 2006-03-01 - Add Tile extension into eTcl core (all platforms) eTcl 8.4.12-pl10 release 2006-02-22 - Modify the way hidden control window is created. Also, it is now created from Tcl main thread, not from startup thread. - Add an exit handler to destroy control window explicitly, to prevent it from running as a "zombie" window, answering FindMessage() while Tcl has exited. eTcl 8.4.12-pl9 release 2006-02-21 - Add "wce locale" subcommand to return user interface default language in ISO639 format (e.g. fr_Fr). Also, env(LANG) and env(SYSTREMLANG) are set at startup, so msgcat starts with correct localization (instead of C). - Better console localization. Add missing translations (e.g. for menu headlines) in french and german. - Fix keyboard traversal for console (actually, for file association and about dialogs) to make them usable on devices with no pointing device (mouse or touchscreen), namely smartphones. 2006-02-20 - Completely new implementation of the ZipFS package, to mount ZIP files (or memory data) into Tcl VFS. Glob is now much more efficient, while memory usage has been significantly reduced in most usual cases. Name lookuo is still in O(1). No more compatible with previous API, but since it was still undocumented (and aims to be private), should not be a real problem for anyone. - Improved menu emulation in the evowce emulation layer, so Tk menu code don't need patch anymore, and Tk upgrading (and support for 8.5) is even more straightforward. Should imply no visible change for user, but logged here to let anyone noticing something broken in menus with this release report problem for quick fix. 2006-02-13 - Replace "wce hotkey" subcommand with "wce keyon" "wce keyoff" subcommands. Support for "Back" key on smartphone (mapped to Backspaceis fully operational, but support for other kind of hotkeys still have to be improved. - Change the way previous running instances are detected at start up. The whole command line is used as application identifier. So two instances can run at the same time, as long as they are started with different options, and in particular with different main script files. Two different eTcl executables (e.g. two different releases) can also run together, since absolute executable name is part of the command line used to identify application. 2006-02-10 - Add a context menu in console. Currently, pretty basic, but here as a proof of concept, and to illustrate Tap&Hold handling - Fix Tap&Hold support to drop original event, and send only and sequence to target window. If one want to get the event anyway, he can use the "auto" tap&hold mode instead of the standard "on" mode. eTcl 8.4.12-pl8 release 2006-02-08 - Add support for IME (input mode) in wce. Input mode can be choosen per widget. See "wce inputmode" subcommand. Console has input mode set to spell on startup to allow entering Tcl commands from smartphone numeric pad. - Add support for native Tap&Hold. Once enabled using "wce tapandhold on" command, one can tap on the given widget for a long time, small balls are displayed and hold long enough, a left-click will be simulated. eTcl 8.4.12-pl7 release 2006-02-03 - Static dependencies to aygshell.dll and commdlg.dll has leaked in, whereas they are not available on WM 5.0 Smartphone Edition devices. Symbols are now resolved dynamically at runtime if possible. Executable runs back on WM5.0 smartphones. eTcl 8.4.12-pl6 release 2006-02-01 - Native menus emulation re-implemented from scratch. Previous one was working fine on PocketPC, but could not be adapted to Smartphone. Also, Tcl event loop used to be suspended when browsing menu. Native menus support should now be complete on all platforms (PocketPC and Smartphone). On Smartphone Edition, MF_OWNERDRAW appears to be broken, so fall back to default system callback for drawing menu items. - Upgrade Sqlite to 3.3.3 (stable) - Wrapper around LoadBitmap() to generate dynamically OBM_CHECK (checkbox) bitmap according to screen resolution and pitch. 2006-01-31 - Another (hopefully last) attempt to fix exec. Works on all tested platform, including emulator running all variants of Windows Mobile (*.exe in ROM can't be opened). Note that application *MUST* still be run in background, or Etcl will freeze, because no stdout/stderr is actually created. - No more create any temporary file for stdio (were unused anyway) - Support for true VGA display mode, running in 480x640 resolution instead of emulated 240x320 compatible mode. Cleanly coded applications, taking DPI into account, and using e.g. "wce sipinfo" to detect visible region (instead of hardcoded) should run unmodifoed in VGA mode. - Better support for Windows Mobile 5.0. CAB have valid version signature, and should be compatible with any device from WM2003 to WM 5.0 2006-01-27 - Fix %c, %x and %X time formatting (bad GetDateFormat and GetTimeFormat emulation). Same formatting error was making a default "clock format ..." to return a broken result. This quick fix no more calls GetDateFormatW and GetTimeFormatW. Better locale handling will be considered later. - Fix a missing padding in CreateDIBitmap() emulation. From the user point of view, this used to make photos with alpha channels and such as width was not a multiple of 4 to be displayed strongly distorted. - First implementation of a sound playing extension, called Evodio. This aims to provide basic sound API (typically, play WAV files, set mixer) while keeping package small. Right now, runs only in synchronous (blocking) mode. It is of course always possible to run it in a Tcl thread to emulate asynchronous behabiour, but true asynchronous API (based on event loop) should be ready for next release. Just here to let those loving to live on the edge to give it a try (quick reference: package require evodio ; evodio play -file sample.wav) 2006-01-24 - Generate Smartphone specific CAB, and Windows installer now includes both PocketPC and Smartphone CAB (both contains same executable, but since Smartphone requires compressed CAB, whereas PocketPC don't support them, it seems to be impossible to provide a single CAB for both platforms) - Fix "wce sipinfo" on Smartphone (which actually has not SIP) to return visible screen region. - Add "wce platform" subcommand to allow Tcl code to know if running on pocketpc or smartphone eTcl 8.4.12-pl5 release 2006-01-20 - Set default geometry for all application to visible screen on PDA. - Fix debugging/tracing layer. Implement a public API for enabling it. 2006-01-20 - Fix a subtile difference between Win32 and WinCE in the way WM_OVERRIDE_STYLE (that is when calling wm overrideredirect for Tcl) is managed. Popup windows set with "wm overrideredirect" used to be displayed just in front of desktop (that is, Today screen on WinCE), making the Tcl/Tk application vanish meantime. Thanks to this fix, metawidgets (e.g. BWidget's combobox) work fine again. - Add automount feature: Any ZIP file found in [file dirname [info nameofexecutable]]/lib will be automatically mounted as a virtual directory, and this directory will be automatically added to auto_path. That is, if you installed eTcl executable as "/Storage Card/etcl/etcl.exe", copy e.g. BWidget-1.7.0.zip into "/Storage Card/etcl/lib" and "package require BWidget" will now work out of the box. - Finally fix the menu bug, which used to make native menus grow each time a menu entry was modified. The previous recommended workaround (detach menu and reattach it) is no more useful. - Fix internal strtod() stub initialization. Without it, scan with %f, %g, etc... as argument, which end up to a call to strtod(buf, NULL) in tclScan.c, used to raise a segfault. eTcl 8.4.12-pl4 release 2006-01-17 - Increase stack size when linking. Stack size was set to a too low 0x10000 value in previous releases, it will now default to 0x80000. If anyone have Tcl scripts running fine on desktop but raising a stack overflow error on PocketPC, let me know and I will increase stack size even more. - Support for "exec"command. Note however that this port doesn't detect yet when child process dies, so program must be either started in background (e.g. exec pword &) or in a pipe (open "| pword r+", ...), or eTcl will enter an infinite loop and freeze. - Make eTcl full version, build date, etc... available as global array ::etcl::etcl. it is also displayed in About dialog of embedded console, so that anyone can report which exact version he is using when reporting problems or bugs. - Some clean up in support for serial communication. Should be fully supported now (tested with both cable and bluetooth mode). eTcl 8.4.12-pl3 release 2006-01-16 - Modify Tktable compilation, using a custom inlining procedure for having tktable.tcl embedded into executable, so that there isn't two nearly identical copies in memory for safe and normal modes. Postscript support not compiled in, since probably not much usefull on PocketPC. Tktable was "forgotten" in build process, so it is now activated again. - Fix regression in Sqlite. Trying to open any database file was returning error "unable to open database file". BTW, upgrade to sqlite 3.3.1. Still beta, but lot of benefits, and should become stable when (or before) eTcl for Windows Mobile will be too. - Restore support COM1: to COM9: channels. Support for serial communication should be complete and fully functionnal. - Fix segfault in "exec". exec still broken, but no more segfault, and getting very close to work again (hopefully in next release, before the end of the week) - Embed less TrueType fonts. Stable release will be made available as both "compact" and "large" versions. eTcl 8.4.12-pl2 release 2006-01-16 - Updated our getservbyname() stub function. First try to resolve service using Winsock2 native getservbyname() implementation. If it fails, look up into a small hard coded list of services as fallback. This makes things like "socket somehost http" or "socket somehost telnet" (from Tcl) works again, anywhere. - Add toolbar to console, with buttons to insert Tcl syntaxic elements (brackets, braces), perform command completion, and toggle toplevel window visibility. 2006-01-13 - Add binding for ConfigureRequest event into console. Console geometry is updated automatically when unobscured region is modified, that is when SIP (software input panel) status changes, or when screen orientation is modified. Available visible region is determined using "wce sipinfo", and no information is hardcoded, so should work fine with all software input panels (keyboard, block, transcriber, ...) - Add support for an etclrc.tcl startup file. It console mode, it is sourced automatically before console is displayed. In batch mode, it is sourced before script specified on command line. The "etclrc.tcl" file must resides in same directory than executable. - Executable now embeds all Tcl encodings. This makes the executable 150kB larger, but since this executable already includes some pretty large optional stuff (like, e.g. 10 truetype fonts for pixane module), this is more or less marginal. Those concerned with strong constraints on memory footprint will have to contact us, so we may consider to also make available an alternative stripped down release. - Update events dispatcher so toplevels receive a ConfigureRequest event when SIP (software input panel) state changes or when screen properties have been updated (e.g. when screen is rotated). - Intercept WM_SCREENUPDATE message, and force update of screen record (screen width, height, depth, ....) when screen properties are changed while application is running (e.g. when display is set to landscape mode by user).