On the road to 0.18.0

David Hakim <dhakim-Gkm/TONP9n1Wk0Htik3J/[email protected]> Sat, 1 Feb 2003 03:18:20 -0500
Newsgroups gmane.comp.lang.moto.devel
Message-ID <[email protected]>
	Well, it's 3:00 a.m. here on the East Coast of the U.S. and I'm ready 
to drop ... but I think we've got a first beta! This has been quite an 
incredible release for me. Especially in terms of how little I had to 
do with the actual coding of it! I want to thank Shay Harding, Stefano 
Corsi, Michal (Cyb.org) Pena, and Cory Wright for all of their 
extremely hard work toward making this release happen! I know I've sure 
learned a lot :) . So, without further adieus ... You can all go grab 
the beta from http://www.projectmoto.org/moto_0_18_0_eng_b.tar.gz !

Here's what's in it:

New Features
- When moto throws an exception programmers can get a Stack Trace! 
(Shay)
- Fixed bug in getColumnType and added getColumnTypeByName
- Added the comma operator (Stefano)
- Added inline declarations in for loops (Stefano)
- Added inline array declaration (Stefano)
- Significantly Upgraded Postgres SQL Driver (Shay)
- Added %Z parsing of timezones in date formats when linked against 
glibc (Shay)
- Added SignalsThrowExceptions config option to compiled modules
- Uncaught exceptions (and their stack traces) are now written out to 
the apache error log by both the interpreter and mmc compiled modules
- Much improved installation options have been added to mmc (Michal)

Bugs Fixed
- Fixed a bug in the -O operation in moto so #LINE and #FILE will not 
be written out to generated C files when its on (Stefano)
- Fixed a potential segfault in the Date constructor (Shay)
- Fixed memory leaks (all MotoVal leaks) in the interpreter caused when 
functions or methods threw exceptions
- Fixed the fence post error in the vector.insertAt method and cleaned 
up the Vector interface
- Fixed a bug in the module compiler that would let resources in 
compiled modules leak in the case of uncaught exceptions

Code Cleanup
- Removed dollar field from ValueCell and OpCell
- Removed motoi_getFillAndThrowDefault function
- Removed env->sysptrs
- Removed MotoFrame->filename and MotoFrame->lineno
- Removed the MotoExp structure
- Removed motoe.h
- Removed motorx
- Moved motoX_case into motoX_switch to make things more understandable
- Got rid of FrameExt and SwitchExt
- Got rid of jmpstacks! All long jumps in the interpreter are now done 
with exceptions.

	If any of you are dying to know what took so long tonight ... well the 
fact that (unsigned char)isalpha(<anything>) == 0 on x86 linux just 
sucks! It sucks it sucks it sucks! I didn't know that ... did any of 
you ? Took me hours to track down that nasty thing.

	I've updated all the webcodex production apps, iolio.com, 
decks.mtgplanet.com, selftest.net, and projectmoto.org are all running 
under the new beta. They were all built with the new mmc, linked with 
the new libraries, and some even include 0.18.0 only features like 
inline declaration and inline array declaration. This is my way of 
testing new betas :) If anyone else has got the stomach to move their 
production sites to the new beta, thanks for supporting the cause :)

	I would ask that if you gents have the time, please beat up on this 
release hard and post the bugs that you find here!

	Anyhow, Great job, everybody ! Have a great weekend! And thanks again!

	-Dave