2001-06-25  Ravi Pratap  <ravi@che.iitm.ac.in>

	* gb/grammar.y (object_refs): Modify slightly for the case of GB_SPACE_DOT. Should
	be followed by object_ref
	(method_array_ref): Modify to use a new lexer token GB_OBJ_NAME_LPAR
	(sub_call): Modify the call statement to use method_array_ref
	(call_sub_ref): Remove
	(GB_OBJ_NAME_LPAR): New token to help resolve conflicts

	* gb/gb-main.h (GBParsingState): Add GB_PARSING_INSIDE_SUB and 
	GB_PARSING_INSIDE_DIM since we need the lexer to be sensitive to
	when it returns a GB_OBJ_NAME_LPAR

	* gb/gb-main.c (gb_parse_data_begin_routine, gb_parse_data_inside_dim)
	(gb_parse_data_dim_finish, gb_parse_data_parse_basic): Add

	* gb/grammar.y (dim_statement, static_statement, GlobalStatement): Modify
	to include mid-rule actions to set state 
	(statement): Modify the Redim rule to do the same
	
	* gb/gb-lex.c (parse_basic): Add code to return the token GB_OBJ_NAME_LPAR
	in the correct situation.

	* gb/grammar.y (sub_call): Modify again and add rules for the CALL statement case
	(type_var_decl): Use obj_name instead of var_name to allow use of keywords (Yech!)

	* test/gui/frmDesign.frm: Comment out the troublesome, unimportant line #518 for now.
	
2001-06-24  Ravi Pratap  <ravi@che.iitm.ac.in>

	* gb/grammar.y (form_items): Small change to allow it to be null.
	(form_item): Modify; this never should be null.

2001-06-22  Ravi Pratap  <ravi@che.iitm.ac.in>

	* gb/grammar.y (one_line_statements): Unnecessary; all it does is add to 
	the conflicts 
	(if_body, else_end): Modify to get rid of usage of the above non-terminal

	* test/main.gba : Correct 'Else If' to 'ElseIf' 

	* gb/grammar.y (case_stmts): Remove redundant rule to eat up newlines; that's
	taken care of by statements.

2001-06-14  Ravi Pratap  <ravi@che.iitm.ac.in>

	* gbrun/gbrun-statement.c (gbrun_stmt_evaluate): Update code to handle select
	statement.
	(gbrun_stmt_case): Update to use the new struct and run through the list of
	expressions.

	* gb/grammar.y (case_exprs): Use g_slist_append instead of g_slist_prepend because
	the order needs to be maintained.

	* gbrun/gbrun-statement.c (gbrun_stmt_case): Plug a lot of memory leaks

	* gbrun/gbrun-file.h : Add prototype for gbrun_stmt_print.

2001-06-13  Ravi Pratap  <ravi@che.iitm.ac.in>

	* gb/grammar.y (attribute_items): Remove
	(GlobalStatement): Modify to use attribute_item directly

	* gb/gb-main.c (gb_parse_data_add_attrs): Rename to 
	(gb_parse_data_add_attr): this. 

	* gb/gb-main.h: Update accordingly.

	* gb/grammar.y (case_stmt): Revamp completely to make more Nutshell-correct
	(case_expr, case_exprs): Add

	* gb/gb-statement.h (GBCaseExpr): New type split out from GBSelectCase
	(GBSelectCase): Modify

	* gb/gb.h: Update accordingly.
	
	* gb/gb-statement.c (gb_select_case_new): Add
	(gb_select_case_new_else): Modify to use the new structs
	(gb_select_case_new_comparison): Ditto
	(gb_select_case_new_expr): Ditto
	(gb_select_case_new_expr_to_expr): Ditto
	(gb_cases_destroy): Ditto

2001-06-12  Ravi Pratap  <ravi@che.iitm.ac.in>

	* gb/grammar.y (opt_pub_private): Add
	(pub_private): Modify so that (null) is not permitted; that's what opt_pub_private
	is for.
	(routine_decl_block): Modify accordingly
	(type_statement): Ditto
	(declare_statement): Ditto
	(var_name): Modify to be simply a NAME token, not the same as obj_name,
	which allows keywords.
	(statement): Modify rule for Goto labels
	(GB_GOTO_LABEL): Added to reduce conflicts and make the grammar less ambiguous

	* gb/gb-mmap-lex.c (gb_mmap_stream_copy): Implement. 
	
	* gb/gb-lex.c (parse_basic): Check if we have a Goto label and return a GB_GOTO_LABEL
	token instead.

	* gb/grammar.y (sub_ref): Re-write. The case when there are no parameters are taken care of
	by the sub_call : object_list rule.

2001-06-11  Ravi Pratap  <ravi@che.iitm.ac.in>

	* gb/grammar.y : Major restructuring and beautification - improve
	readability etc.

	* gb/grammar.y : Revamp object reference rules entirely
	(prop_ref) : Add
	(method_array_ref): Add
	(call_sub_ref): Add
	(object_ref): Modify accordingly
	(object_refs): Modify
	(sub_ref): Ditto
	(sub_call): Modify to conform to 'Nutshell' specs
	
	* test/main.gba : remove the call statement without the mandatory 
	parantheses - incorrect VB !

	* gbrun/gbrun-stack.c (gbrun_stack_deref): Remove comment on line making 
	newref.name NULL (sorry !)

	* gb/grammar.y (statement): Modify various rules to use eostmt instead of eol.
	(case_stmt): Ditto.

2001-06-10  Ravi Pratap  <ravi@che.iitm.ac.in>

	* gb/grammar.y (attribute_item, attribute_items): modify to make 
	more correct. 
	(v_attr): New type.

	* gb/gb-main.h (GBAttribute): New type for Attributes

	* gb/gb-main.c (gb_parse_data_attribute_new): Implement
	(gb_parse_data_add_attrs) : Implement.

	* gb/grammar.y (const_expr): Fix to get rid of the reduce/reduce
	conflicts.
	(opt_subscripts, subscripts) : Modify slightly to make rules look 
	more consistent - a matter of semantics
	(statement): Modify Redim rule accordingly.
	(const_*) : Rewrite completely to conform to the specification in the 'Nutshell'
	book.
	(dim_statement): split out Static stuff into another statement
	(static_statement): Add
	(GlobalStatement): Modify rule for const declarations, global decls etc.
	(gb_options): Modify and rename to 
	(gb_option_statement) : this.

	* gb/gb-type.[ch] (gb_const_new): Modified to take a GtkType argument instead of a char *
	
	* test/main.gba : Correct line declaring a const because that was incorrect VB !

	* gb/grammar.y (parms, opt_parms): Modify to make consistent
	(opt_args): Depends on parms, so modify accordingly.
	
2001-06-09  Ravi Pratap  <ravi@che.iitm.ac.in>

	* gb/grammar.y (form_*) : Revamp form related grammar completely.
	(eostmt): Add
	(eol): Modify to stand only for a newline character
	
	* gb/gb-form.h (GBFormProperty): Modify to accomodate sub 
	properties.

	* gb/gb-form.c (gb_form_props_add) : Rename to gb_form_add_props
	(gb_form_item_add) : Rename to gb_form_item_add_children
	(gb_form_property_new):  Modify accordingly.
	(gb_form_property_subprop_new): Implement

2001-06-11  Matthew Mei  <mei@fas.harvard.edu>

	* gbrun/objects/gbrun-textbox.c (textbox_setarg, textbox_getarg):
        MaxLength property, PasswordChar property

2001-06-08  Ravi Pratap  <ravi@che.iitm.ac.in>

	* gb/gb-statement.h (GBStatement): Rename member of print to
	'items' from 'objrefs'

	* gb/gb-statement.c (gb_stmt_new_print): Update accordingly.

	* gbrun/gbrun-file.c (everywhere): Incorporate checking for bad
	file handles.

	* test/filetest.gba : Add regression test for Print #

	* test/test.output : Update

	* gbrun/gbrun-stack.c (gbrun_stack_deref): Comment out line
	nullifying 'name' on newref.

2001-06-07  Ravi Pratap  <ravi@che.iitm.ac.in>

	* gbrun/objects/gbrun-form.c (gbrun_form_instance_init): Cast
	form->fixed to GTK_WIDGET before using in gtk_widget_show

	* gbrun/gbrun-project.c : Include string.h

	* gbrun/objects/gbrun-form.c (form_setarg): Handle MaxButton,
	MinButton, ShowInTaskbar, BorderStyle

	* gburn/objects/gbrun-form.c (form_getarg): Handle LinkTopic,
	StartupPosition, MaxButton, MinButton, ShowInTaskbar, BorderStyle 

	* gbrun/objects/gbrun-form-item.c (form_item_getarg): Handle
	DragMode 

	* gbrun/objects/gbrun-textbox.c (textbox_setarg): Compare against
	VB_TRUE for the Locked property.

	* gbrun/objects/gbrun-form-item.c
	(gbrun_form_subitem_add_virtual): Implement so that children are
	processed correctly.

	* gbrun/objects/gbrun-textbox.c (textbox_setarg, textbox_getarg):
	Handle Multiline property.

	* gbrun/objects/gbrun-form.c (form_setarg, form_getarg): Handle
	ControlBox. 

	* gbrun/gbrun-file.c (gbrun_stmt_print): Implement

	* gbrun/gbrun-statement.c (gbrun_stmt_evaluate): Update
	accordingly. 


2001-06-06  Ravi Pratap  <ravi@che.iitm.ac.in>

	* test/test.output : Update to ensure regression test passes.

	* gbrun/objects/gbrun-textbox.c (textbox_setarg): use gtk_editable_set_editable
	instead of the obsolete gtk_entry_set_editable function

	* gbrun/objects/gbrun-form.c (form_setarg): Handle LinkTopic,
	StartupPosition properties

	* gbrun/objects/gbrun-form-item.c (form_item_setarg): Handle
	DragMode property.

2001-06-02  Pablo Saratxaga  <pablo@mandrakesoft.com>

	* configure.in: Added Catalan (ca) language file

2001-05-18  Frank Chiulli  <fc-linux@home.com>

	* gbrun/objects/gbrun-form-item.c (gbrun_form_item_invoke): For subitems
	the form is not a parent but a grandparent.
	
	* gbrun/objects/gbrun-form.c (gbrun_form_show): Change 
	gtk_widget_show_all to gtk_widget_show.
	(gbrun_form_instance_init): Add calls to gtk_widget_show.

	* gbrun/objects/gbrun-menu.c (gbrun_menu_add): Add call to 
	gtk_widget_show for the menubar.
	(gbrun_menu_addsub): Add call to gtk_widget_show for the submenu.

2001-05-02  Per Winkvist  <per.winkvist@cell-telecom.com>

	* gb/gb-eval.c (gb_eval_compare): Plug mem-leak

	* gbrun/gbrun-statement.c (gbrun_stmt_for): Plug mem-leaks,
        add header file for strcmp.

	* gbrun/objects/gbrun-form.c (gbrun_form_invoke):
	Fix compiler warning with a cast
	
2001-05-02  Frank Chiulli  <fc-linux@home.com>

	* gbrun/objects/.cvsignore: Add gbrun-screen.lo, gbrun-combobox.lo,
	gbrun-optbutton.lo, and gbrun-shape.lo.

	* gbrun/objects/gbrun-shape.c (shape_config_event): Make processing
	dependent upon type of shape; add a Circle shape.
	(gbrun_shape_construct): Initialize the shape of a shape to a rectangle.

2001-05-02  Michael Meeks  <michael@ximian.com>

	* gb/Makefile.am (EXTRA_DIST): actualy distribute the
	gperf files - doh.

2001-05-02  Michael Meeks  <michael@ximian.com>

	* Version 0.0.19

2001-05-02  Michael Meeks  <michael@ximian.com>

	* gbrun/objects/gbrun-form-item.c (form_item_setarg): 
	add precondition on fi->parent.

2001-05-02  Ben Burton <benb@acm.org>

	* gbrun/Makefile.am: add libgb.la

	* test/Makefile.am (test_files): add precedence.gba so the test
	actualy passes on a clean dist.

	* gb/Makefile.am: don't install libgb.la, it conflicts with some
	other random project's library name - Stanford GraphBase,
	package sgb

2001-04-28  Frank Chiulli  <fc-linux@home.com>

	* gbrun/objects/Makefile.am: Add gbrun-shape.c

	* gbrun/objects/gbrun-form-item.h: Define fill and shape value

	* gbrun/objects/gbrun-menu.c: Remove some unnecessary print statements.

	* gbrun/objects/gbrun-objects.c (gbrun_objects_register): Add call to
	gbrun_register_shape.
	(gbrun_objects_shutdown): Add call to gbrun_shutdown_shape.

	* gbrun/objects/gbrun-objects.h: Arrange prototypes in alphabetical
	order; add prototypes for Shape.

	* gbrun/objects/gbrun-shape.c: New - contains all the functions 
	necessary to support the VB Shape object.

2001-04-23  Frank Chiulli  <fc-linux@home.com>

	* gbrun/objects/gbrun-cmdbutton.c (cmdbutton_setarg): Member name change
	(item.form to item.parent) because the parent is not necessarily a form.
	
	* gbrun/objects/gbrun-form-item.c (form_item_setarg): Added code to
	determine if the parent is either a form or a form item.  This allows
	us to support items within items.
	(gbrun_form_item_invoke): Form item member name change.
	(gbrun_form_subitem_add): Use correct argument.
	(gbrun_form_item_get_fixed_virtual): New virtual function.
	(gbrun_form_item_get_radio_btn_virtual): New virtual function.
	(gbrun_form_item_set_radio_btn_virtual): New virtual function.
	(gbrun_form_item_instance_init): Form item member name change.
	(gbrun_form_item_class_init): Initialize new member function of the
	GBRunFormItemClass class.
	
	* gbrun/objects/gbrun-form-item.h: In the _GBRunFormItem structure 
	changed 'form' to 'parent' to allow form items within form items.  Added
	new function members (get_fixed, get_radio_btn, and set_radio_btn) to 
	the GBRunFormItemClass class.
	
	* gbrun/objects/gbrun-form.c (gbrun_form_add): Form item member name 
	change.
	(gbrun_form_instance_init): Initialize new member.
	
	* gbrun/objects/gbrun-form.h: Added new member (radio_btn) to _GBRunForm.
	
	* gbrun/objects/gbrun-frame.c: Added new members (fixed, radio_btn) to
	GBRunFramed structure.
	(gbrun_frame_construct): Create a GtkFixed and add it to the frame;
	initialize radio_btn.
	(gbrun_frame_class_init): Set new members of GBRunFormItemClass to new
	functions.
	(gbrun_frame_get_fixed) : New function.
	(gbrun_frame_get_radio_btn): New function.
	(gbrun_frame_set_radio_btn): New function.
	
	
	* gbrun/objects/gbrun-menu.c (menu_setarg): Form item member name change.
	(gbrun_menu_add): Form item member name change.
	(gbrun_menu_addsub): Form item member name change.
	
	* gbrun/objects/gbrun-objects.h: Correct error - change 'register' to
	'shutdown'.
	
	* gbrun/objects/gbrun-optbutton.c: Correct misspelling;  remove radio
	member from GBRunOptButton structure.
	(gbrun_optbutton_construct): Create a radio button and add it to the item;
	also create a labeland add it to the radio button.
	(gbrun_optbutton_class_init): Initialize functions in GBRunFormItemClass
	class to new functions.
	(optbutton_setarg): Added some optional/debug printing; form item member
	name change.
	(gbrun_optbutton_add): New function.
	(gbrun_optbutton_addsub): New function.
	

2001-04-21 Julian Froment <julian@jfroment.uklinux.net>

	* gbrun/objects/gba/gba-interaction.c (gbrun_sub_inputbox): Added
	a basic input box function. Only uses the prompt, title and
	default value arguments so far.
	(gba_interaction_register): register it.

2001-04-19  Per Kristian Gjermshus <pk@newmad.no>

	* gbrun/objects/gbrun-optbutton.c (gbrun_optbutton_construct),
	(optbutton_setarg, optbutton_getarg): 
	add value property.

2001-04-17  Michael Meeks  <michael@ximian.com>

	* configure.in: require gnome-print >= 0.26

2001-04-13  Frank Chiulli  <fc-linux@home.com>
	
	* gbrun/objects/gbrun-form-item.c (gbrun_form_subitem_add): New function
	for subitems.
	(gbrun_form_subitem_add_virtual): New function for subitems.
	(gbrun_form_item_class_init): Define a default/virtual function for 
	addsub.

	* gbrun/objects/gbrun-form-item.h: Add 'addsub' function to 
	GBRunFormItemClass structure.  Add prototype for gbrun_form_subitem_add.

	* gbrun/objects/gbrun-form.c (gbrun_form_init): Change 'item' to 'item2'
	inside 'for' loop (There already was an item declared outside the loop);
	add code to process children (subitems).

	* gbrun/objects/gbrun-menu.c: Add submenu to GBRunMenu structure.
	(gbrun_menu_addsub): New function to process subitems/submenus.
	(gbrun_menu_construct): Initialize submenu.
	(gbrun_menu_class_init): Initialize addsub member of form_class.

2001-04-07  Frank Chiulli  <fc-linux@home.com>

	* gbrun/objects/gbrun-optbutton.c: New

	* gbrun/objects/Makefile.am: Add gbrun-optbutton.c

	* gbrun/objects/gbrun-form-item.c: Add SCALE_HEIGHT, SCALE_WIDTH, and
	SCALE_MODE to list of valid properties for a form item.
	(form_item_setarg): Process new properties.
	(form_item_getarg): Process new properties.
	(gbrun_form_item_class_init): Process new properties.

	* gbrun/objects/gbrun-form-item.h: Add new properties to _GBRunFormItem.

	* gbrun/objects/gbrun-form.c: Add SCALE_MODE to list of valid properties
	for a form.
	(form_setarg): Process new property.
	(form_getarg): Process new property as well as SCALE_HEIGHT and 
	SCALE_WIDTH.
	(gbrun_form_init): List children being discarded - sometimes there are 
	none.
	(gbrun_form_class_init): Process new property.

	* gbrun/objects/gbrun-listbox.c: little cleanup.

	* gbrun/objects/gbrun-menu.c: Add property names array (p_names) so we
	can print out names rather than numbers.

	* gbrun/objects/gbrun-objects.c (gbrun_objects_register): Add call to
	register OptionButton.
	(gbrun_objects_shutdown): Add call to shutdown OptionButton.

	* gbrun/objects/gbrun-objects.h: Add prototypes for functions for
	OptionButton.

2001-03-28  Frank Chiulli  <fc-linux@home.com>

	* gbrun/objects/Makefile.am: add gbrun-combobox.c

	* gbrun/objects/gbrun-form-item.c: Add "COUNT" as a property; add 
	p_name array so we can print property names rather than numbers in
	messages.
	(form_item_setarg): process COUNT property; print name of unhandled
	property.
	(form_item_getarg): process COUNT property; print name of unhandled
	property.
	(gbrun_form_item_class_init): process COUNT property.

	* gbrun/objects/gbrun-form.c: Add p_name array so we can print property
	names rather than numbers in messages.
	(form_setarg): Process SCALE_HEIGHT and  SCALE_WIDTH; print name of
	unhandled property.
	(form_getarg): Print name of unhandled property.

	* gbrun/objects/gbrun-form.h: Add scalemode, scaleheight and scalewidth
	properties to _GBRunForm.

	* gbrun/objects/gbrun-listbox.c: Add p_name array so we can print 
	property names rather than numbers in messages.
	(listbox_setarg): Print name of unhandled property.
	(listbox_getarg): Print name of unhandled property.

	* gbrun/objects/gbrun-objects.c (gbrun_objects_register): Add call to
	gbrun_combobox_register.
	(gbrun_objects_shutdown): Add call to gbrun_combobox_shutdown.

	* gbrun/objects/gbrun-objects.h: Add prototype definitions for 
	gbrun_combobox_get_type, gbrun_combobox_register, and
	gbrun_combobox_register.

	* gbrun/objects/gbrun-picturebox.c: Correct misspelling in ITEM_NAME.

	* gbrun/objects/gbrun-textbox.c: Add p_name array so we can print 
	property names rather than numbers in messages.
	(textbox_setarg): Print name of unhandled property.
	(textbox_getarg): Print name of unhandled property.

	* test/gui/frmToolBar.frm: Change 'cmdTool(i).Caption' to
	'cmdTool.Item(i).Caption' to get it to work correctly.
	Both are correct.

2001-03-22  Ed Sesek <dev@sesek.com>

	* gb/gb-eval.c (gb_eval_compare): do case sensitive string
	compares with the comparison operators.

2001-03-21  Ed Sesek <dev@sesek.com>

	* arne/gba-string.c (gbrun_func_mid, gbrun_func_midb): fix
	off by 1 error on 'start' - a wierd function.

2001-03-15  Pablo Saratxaga  <pablo@mandrakesoft.com>

	* configure.in: Added 'de' to ALL_LINGUAS

2001-03-14  Michael Meeks  <michael@ximian.com>

	* test/Makefile.am: Distribute sample ASP.

2001-03-13  Michael Meeks  <michael@ximian.com>

	* Version 0.0.18
	
	* gb/grammar.y (const_expr): remove redundant True/False

	* gbrun/objects/gba/gba-string.c (gba_string_register): update
	mid[$], midb[$] prototypes.

2001-03-12  Arne de Bruijn <arne@knoware.nl>

	* gb/gb-main.c: fix g_hash_table_insert key argument

2001-03-12  Arne de Bruijn <arne@knoware.nl>

	* gb/gb-value.c: fix variant handling 

2001-03-12  Arne de Bruijn <arne@knoware.nl>

	* gb/gb-lex.c: read number suffixes (%/&/!/#)
	
	* gb/grammar.y: parse new number tokens for different types
	
	* gb/grammar.y: allow empty lines between Case's in Select Case
	
	* gb/gb-value.h: fix Byte min/max value

2001-03-12  Arne de Bruijn <arne@knoware.nl>

	* gbrun/gbrun-project.c (gbrun_project_assign): add assignment to
	global variables in different module

	* gbrun/gbrun-object.c (gbrun_method_invoke_arg): fix crash on
	exception in argument

2001-03-12  Arne de Bruijn <arne@knoware.nl>

	* gbrun/objects/gba/gba-string.c: return empty string on overflow
	in Left/Right/Mid instead of error

	* gbrun/objects/gba/gba-string.c: add $ version of Trim/LTrim/RTrim

	* test/strings.gba: test for overflow in Left/Right/Mid,
	$ version of [LR]?Trim

2001-03-07  Michael Meeks  <michael@ximian.com>

	* test/main.c (exec_asp): fix logic polarity.

2001-03-01  Michael Meeks  <michael@ximian.com>

	* web/index.html: fix support link thanks to Patrick Campbell

2001-02-27  Arne de Bruijn <arne@knoware.nl>

	* gb/gb-value.c (gb_value_new_default): return
	gb_value_new_empty for variant types.

2001-02-27  Arne de Bruijn <arne@knoware.nl>

	* gb/grammar.y: re-order operators to fix precedence issues.

	* gb/gb-value.c: Fix value of boolean issues.

	* test/precedence.gba: Create.

	* test/main.gba: upd.

2001-02-27  Arne de Bruijn <arne@knoware.nl>

	* gb/grammar.y: add Erase stmt.

	* gb/gb-statement.c (gb_stmt_new_erase): impl.

	* gbrun/gbrun-array.c (gbrun_array_erase): impl.

	* gbrun/gbrun-statement.c (gbrun_stmt_erase): impl.
	(gbrun_stmt_case): Upd.

2001-02-06  Fatih Demir	<kabalak@gmx.net>

	* configure.in: Added "tr" to ALL_LINGUAS.

2001-01-26  Stanislav Visnovsky  <visnovsky@nenya.ms.mff.cuni.cz>

	* configure.in (ALL_LINGUAS): Added sk (Slovak).

2001-01-24  Michael Meeks  <michael@helixcode.com>

	* gb/grammar.y (object_refs): fix GB_SPACE_DOT.

	* gb/gb-value.c (gb_value_print): dump Object type.

	* gbrun/gbrun-statement.c (gbrun_stmt_with): Fire an exception
	if we have a broken value; check for NULL value, check type in
	a different way.

2001-01-24  Almer S. Tigelaar  <almer1@dds.nl>
 
	* gbrun/gbrun-eval.c, gbrun/gbrun-eval.h:
 	(gbrun_eval_context_destroy): Free the with list and all objects on it.
  	(gbrun_eval_context_with_push): New, put a with object on the list.
  	(gbrun_eval_context_with_pop): New, pop a with object off the list.

	* gbrun/gbrun-statement.c:
  	(gbrun_stmt_with): New, Handle the "with" statement.
  	(gbrun_stmt_evaluate): Add gbrun_stmt_with here as handler for the
  	"with" statement.
 
	* gbrun/gbrun-value.c:
  	(get_try_list): Add "with" list objects to the try list.
 
	* gbrun/gbrun-screen.c:
 	(gbrun_screen_class_init): Initialize the "mousepointer" member.
 	(screen_setarg): Remember the mousepointer set.
 	(screen_getarg): Add mousepointer argument read support.
 	(screen_func_fonts): Kill unused 'name' variable.
 	
	* test/main.gba
 	Add test for the with statement.

2001-01-20  Frank Chiulli  <fc-linux@home.com>

	* gb/gb-expr.c (gb_expr_new_int): Return a long rather than an int if
	necessary.

	* gbrun/gbrun-object.c: Remove definition of GBRunObjectProperty (moved
	to gb/gbrun-object.h);
	(gbrun_object_get_property): Make public (remove 'static').

	* gbrun/gbrun-object.h: Added get_ndx to the definition of 
	_GBRunObjectClass for 'index' processing; added definition of 
	GBRunObjectProperty structure;  added prototype for 
	gbrun_object_get_property to make public.

	* gbrun/gbrun-project.c (gbrun_project_new): Add fourth argument to call
	of gbrun_form_invoke;

	* gbrun/gbrun-value.c (gbrun_objref_deref): Correct misspelling.

	* gbrun/objects/gbrun-check.c (gbrun_checkbox_class_init): cosmetics.

	* gbrun/objects/gbrun-cmdbutton.c (gbrun_cmdbutton_construct): cosmetics.

	* gbrun/objects/gbrun-form-item.c: Add 'INDEX' to list of properties;
	(form_item_setarg): process 'INDEX';
	(form_item_getarg): process 'FORE_COLOR', 'BACK_COLOR', 'FILL_COLOR',
	'MASK_COLOR', 'BORDER_COLOR', and 'INDEX'.
	(form_item_getndx): New - for processing 'INDEX'.
	(gbrun_form_item_index): New - for processing 'INDEX'.
	(gbrun_form_item_invoke): Add fourth argument to call of 
	gbrun_form_invoke.
	(gbrun_form_item_instance_init): Initialize 'index' and 'carray'.
	(gbrun_form_item_class_init): Initialize 'get_ndx'; add the 'index'
	property; add the method 'gbrun_form_item_index' to process 'index'.

	* gbrun/objects/gbrun-form-item.h: Add 'index' and 'carray' variables 
	to definition of _GBRunFormItem structure.

	* gbrun/objects/gbrun-form.c (form_setarg): Correct 'LEFT' processing.
	(gbrun_form_invoke): Add fourth argument for 'index' processing.
	(gbrun_form_init): Add processing for control arrays.
	(gbrun_form_widget_set_color): Correct BACK_COLOR processing.
	(gbrun_form_widget_get_color): Implement.

	* gb/gbrun/objects/gbrun-form.h: Update prototype of gbrun_form_invoke
	and gbrun_form_widget_get_color.

2001-01-18  William Miller <William234@aol.com>

	* gbrun/objects/gbrun-textbox.c: (gbrun_textbox_construct)
	Added GtkWidge *w; w = gtk_entry_new(); to facilitate
	adding handlers for events.

	* gbrun/objects/gbrun-form-item.c: (gbrun_form_item_new)
	Added signal handler for pressed, released, clicked,
	motion-notify-event, insert-text, key-press-event,
	key-release-event.
	(item_mouse_move, item_key_up, item_key_down): Impl.

	* gbrun/objects/gbrun-textbox.c: (gbrun_textbox_construct)
	Added signal handler for changed

	* gbrun/objects/gbrun-cmdbutton.c: (gbrun_cmdbutton_construct)
	Moved signal handlers for clicked, mouse*, etc to
	gbrun-form-item.c as these go for all controls

2001-01-18  Michael Meeks  <michael@helixcode.com>

	* test/main.gba: add Screen regression tests.

	* configure.in: Setup print dependency & check for ver >= 0.25

2001-01-18  Matthew Genyeh Mei <mei@fas.harvard.edu>

	* gbrun/object/gbrun-screen.c (gbrun_screen_class_init): register
	font function and fontcount property
	(screen_func_fonts): impl.
	(screen_getarg): Add font count property.
	
2001-01-18  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-statement.c (gbrun_stmt_while): cope with
	conditionless Do Loop statements.
	(stack_find): tolerate a NULL stack frame - hit bottom.
	(gbrun_stmt_exit): Exit Do can cope with While type statements too.

	* configure.in: Detect whether we have 'environ',
	move AC_PROG_CC up.

	* acconfig.h: cover HAVE_ENVIRON

	* test/main.gba: add Environ test.

	* gbrun/objects/gba/gba-func.c (gba_func_register): 
	correct filelen prototype, add Environ prototypes.
	(gbrun_func_environ): impl.

2001-01-16  Ariel Rios  <ariel@arcavia.com>

	* gb/Makefile.am (libgbinclude_HEADERS): Include gb-class.h. Gnumeric compiles 
	again with gb support.

2001-01-15  Ravi Pratap  <ravi@che.iitm.ac.in>

	* gb/.cvsignore: Added gb-type.lo

	* gbrun/.cvsignore: Added gbrun-type.lo

	* gbrun/objects/.cvsignore: Added gbrun-menu.lo and
	gbrun-screen.lo 

	* test/.cvsignore: Added tmp.txt

	* .cvsignore: Added ABOUT-NLS
	
2001-01-13  Ravi Pratap  <ravi@che.iitm.ac.in>

	* gbrun/objects/gbrun-form.c (gbrun_form_class_init): Added
	entries to map clientheight, clienttop etc to the same properties
	as height, top etc. Added property 'ControlBox'

	* gbrun/objects/gbrun-textbox.c (gbrun_textbox_class_init): Added
	property 'MultiLine'

	* gbrun/objects/gbrun-form-item.c (gbrun_form_item_class_init):
	Added property 'DragMode'

2001-01-15  Matthew Genyeh Mei <mei@fas.harvard.edu>

	* gbrun/objects/gbrun-screen.c (screen_getarg): impl.
	(gbrun_screen_class_init): add 'width' and 'height' properties.

2001-01-12  Ravi Pratap  <ravi@che.iitm.ac.in>

	* gb/gb-main.h (GBClassPropertyType): Rename to GBClassMethodType
	instead and move to gb-class.h

	* gbrun/objects/gbrun-form.c (gbrun_form_class_init): Added
	property 'LinkTopic', 'StartupPosition', 'BorderStyle',
	'MaxButton', 'MinButton', 'ShowInTaskbar', 'Tag'

	* test/frmNumberGame.frm (mnNew_Click): Modified to call
	cmdNewGame_Click instead of the non-existent cmdNew_Click

	* gb/gb-value.c (gb_value_init): Modified default for the date
	type to be a time value representing 00:00:00 

	* gbrun/objects/gbrun-form-item.c (form_getarg): Implemented for
	Top and Left

	* gbrun/objects/gbrun-form.h (GBRunForm): Added member 'tag'

	* gbrun/objects/gbrun-form.c (form_getarg, form_setarg): Expanded
	to support the property Tag.

	* gbrun/objects/gbrun-form-item.c (gbrun_form_item_class_init):
	Added property 'Tag'
	
	* gbrun/objects/gbrun-form-item.h (GBRunFormItem): Added member
	'tag'

	* gbrun/objects/gbrun-form-item.c (form_getarg, form_setarg):
	Expanded to support the property Tag.

	* test/timer/timer.frm: Uncommented lines referring to Tag
	property etc.

	* gbrun/objects/gba/gba-func.c (gbrun_func_cint): Implemented.

	* test/timer/timer.frm: Modified the code a bit to reflect the
	logic of the program

	* gbrun/objects/gbrun-form.c (gbrun_form_class_init): Changed name
	of properties associated with HEIGHT and WIDTH enumerations to
	'height' and 'width'
	
2001-01-11  Ravi Pratap  <ravi@che.iitm.ac.in>

	* gb/gb-class.[ch]: Added
	
	* gb/gb-class.[ch] (gb_class_property_new): Implemented
	(gb_class_property_destroy): Ditto

	* gb/grammar.y (class_prop): Modified to use gb_class_property_new instead of making
	it an alias for form_prop. Added necessary type declarations in the correct places.

	* gb/Makefile.am: Updated accordingly for gb-class.[ch]

	* gb/.cvsignore : Same here.

2001-01-11  Michael Meeks  <michael@helixcode.com>

	* web/index.html (documentation): Ximianize

2001-01-11  Michael Meeks  <michael@helixcode.com>

	* gbrun/objects/gbrun-menu.c (menu_setarg): update to deal
	with accelerators nicely.

	* gbrun/gbrun-object.h: declare add_constants.

	* gbrun/objects/gbrun-form.c (gbrun_form_instance_init):
	setup an accel group.

	* gbrun/objects/gbrun-cmdbutton.c (gbrun_cmdbutton_construct): 
	create an accel label.
	(cmdbutton_setarg): Add the accelerator.

	* gbrun/objects/gbrun-form.c (gbrun_form_un_shortcutify):
	replace shortcuts of '&' with '_'

	* configure.in (ALL_LINGUAS): remove fr, we have no po file yet.

	* gbrun/objects/gbrun-form.c (gbrun_form_init): add
	warning when we are discarding child items.

2001-01-04  Almer S. Tigelaar  <almer1@dds.nl>

	* gbrun/gbrun-object.c 
	(gbrun_object_subclass): Kill evil gtk_type_query leak.

	* gbrun/objects/gbrun-menu.c: New object, a menu item.

	* gbrun/objects/gbrun-objects.c, gbrun/objects/gbrun-objects.h
	(gbrun_objects_register): Add gbrun_menu.
	(gbrun_objects_shutdown): Idem.
	
	* gbrun/objects/gbrun-form-item.c, gbrun/objects/gbrun-form-item.h:
 	(gbrun_form_item_add): New function, can be called upon to 
	add an item to a form.
 	(gbrun_form_item_add_virtual): New, default virtual add function.
 
	* gbrun/objects/gbrun-form.c, gbrun/objects/gbrun-form.h:
	(gbrun_form_init): Call upon gbrun_form_item_add to add an 
	item to the form instead of doing it ourselves.
	(gbrun_form_add): Don't pass GBParseData, we don't need it here.
	(gbrun_form_instance_init): Adjust, form now consists of a vbox with
	a menubar on top and a gtkfixed on the bottom.

	* gb/test/frmNumberGame.frm: Add all buttons as menu item for debugging
	purposes.
	
2000-12-28  Michael Meeks  <michael@helixcode.com>

	* Version 0.0.17

2000-12-25  Ravi Pratap  <ravi@che.iitm.ac.in>

	* ChangeLog: removed some duplicate entries of mine.

	* gb/grammar.y (gb_options): removed excess whitespace so that I
        can read it properly on my 640x480 emacs window :-)

	* gb/gb-value.c (gb_value_new_date_from_str): Implemented.
        (gb_value_promote): In string->date conversion, removed hack and instead
	inserted lines to make the above function do the job.

	* test/date.gba: Modified a line to say we're reconstructing the date (using
        date functions).

2000-12-26  Michael Meeks  <michael@helixcode.com>

	* gb/gb-value.c (gb_gtk_type_from_name): use g_strcasecmp
	for "variant" compare.

	* gbrun/gbrun-object.c (add_constant): impl.
	(gbrun_object_add_constants): impl.
	(gbrun_object_add_variable): collapse into
	(add_variables): here.
	(gbrun_object_const_get): impl.
	(gbrun_object_deref): lookup constants.

	* gbrun/gbrun-project.c (add_data_to_class): upd.

	* gb/gb-main.c (gb_parse_data_add_const): impl.
	(gb_parse_data_destroy): upd.
	(cb_constant_destroy): impl.

	* gb/gb-type.c (gb_const_new, gb_const_destroy): impl.

	* gb/grammar.y (opt_const_val): use const_expr.
	(const_decl): impl. body.

	* gb/gb-constants.gba: add gbDefault, gbHourglass

	* gbrun/objects/gbrun-screen.c: Impl.

	* test/main.gba (GUITest): add.

	* gb/grammar.y (object_refs): update
	(sub_ref, sub_call): work it into some sort of shape.

2000-12-25  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-array.c (gbrun_array_lbound),
	(gbrun_array_hbound): impl.
	(gbrun_array_dimensions): impl.

	* gbrun/objects/gba/gba-func.c (gbrun_func_lbound): impl.
	(gbrun_func_hbound): impl (gba_func_register): hook.

	* gbrun/gbrun-array.c (gbrun_array_initialized): impl.

	* gbrun/gbrun-statement.c (seek_label): handle foreach and do
	(gbrun_stmt_evaluate): hook GBS_DO to the GBS_WHILE case.
	add GBS_FOREACH.
	(gbrun_stmt_exit): make Exit For work for For Each

2000-12-25  Michael Meeks  <michael@helixcode.com>

	* test/main.gba (FlowTest): add.

	* gbrun/gbrun-statement.c (gbrun_frame_crop_to_ptr): impl.
	(stack_find, stack_seek_root): Impl.
	Christmas day; The people walking in darkness have seen a great
	light, on those living in the shadow of death a light has dawned.

2000-12-24  Michael Meeks  <michael@helixcode.com>

	* gb/gb-statement.c (gb_stmt_new_exit): impl.
	(gb_stmt_type): add Exit.

	* gb/grammar.y (nesting): impl.
	(statement): Add 'Exit'

	* gb/gb-statement.h: s/OpenMode/GBSOpenMode/

	* gb/gb-eval.c (gb_constant_lookup): re-order to make it flow.
	(add_constants): split out, add vbCrLf - a string constant.

	* gbrun/gbrun-object.c (gbrun_method_invoke_vb): only setup
	stack var for functions.

	* gbrun/gbrun-value.c (gbrun_value_default_from_var): don't
	type check eval context cast.

	* gb/gb-value.c (gb_value_new_default): create new instances
	of non-fundamental gtk types.

	* gb/gb-main.c (gb_index_new): default to an index of 0
	for array subscripts.

2000-12-23  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-object.c (gbrun_object_add_routine): setup
	as_type.
	(parse_args): setup as_type from parsing.

	* gb/gb-main.c (gb_routine_start): add as_type.

	* gb/grammar.y (declare_statement): impl.
	(GlobalStatement): hook in.
	(opt_alias): impl.
	(declare_routine): Pass as_type to gb_routine_start.

	* gb/keywords.gperf: add 'Lib', 'Alias'

	* gbrun/gbrun-statement.c (gbrun_stmt_redim): impl.

	* gbrun/gbrun-array.c (gbrun_array_redim): impl.

2000-12-22  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-array.c (indices_free): impl.
	(gbrun_array_destroy): impl.
	(gbrun_array_class_init): hook in.
	(data_free): impl.

	* gbrun/gbrun-statement.c (gbrun_stmt_evaluate): add redim.

	* gb/gb-statement.c (gb_stmt_new_redim): impl.

	* gb/grammar.y (var_decls): impl.
	s/indicees/indices/

2000-12-11  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-value.c (gbrun_eval_assign): upd.

	* gbrun/gbrun-project.c (gbrun_project_new): copy the options
	umpteen times onto the run context - broken by design.

	* gb/gb-main.c (gb_parse_stream): init options.
	(gb_options_init): pass a pointer so we don't init the passed
	stack copy.
	(gb_options_copy): upd.

	* gb/gb-main.h transfer GBOptions to GBParseData

2000-12-09  Ken Guest  <ken@tuatha.org>

	* gb/gb-main.c: added gb_options_init and gb_options_copy.

	* gbrun/gb-project.c (gbrun_init): call to gb_options_init.  

	* web/index.html: Added more information about the mailing list.

2000-12-06  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-value.c (gbrun_eval_assign): removed
	a scad of old ugly commented out code; clean.

2000-12-04  Ken Guest      <ken@tuatha.org>
 
	* gbrun/gbrun-value.c (gbrun_eval_assign): check for Option 
	Explicit for catching non declared variables if OE is enabled.
 
	* gb/grammar.y: updated so all the Options are saved to 
	GBOptions struct. True, only Option Explicit is checked at the
	moment, but it's that much more already taken care of. 
 
	* gb/gb-eval.h: added GBOptions struct onto the side of 
	GBEvalContext. Handier than having to pass it down seperately. 
 
	* gb/gb-main.c: added supporting functions now referenced in
	grammar.y (the 4 gb_parse_data_set_options_... functions)
 
	* gb/gb-main.h: enumerations required for Option Compare values.
 
	* gb/gb.h: supporting typedef of GBOptions struct from gb-main.h 

2000-12-05  Almer S. Tigelaar  <almer1@dds.nl>

	* gbrun/objects/gbrun-cmdbutton.c
	(cmd_button_mouseout): new function.
	(cmd_button_mouseover): new function.
	(gbrun_cmdbutton_construct): add support for
	mouseout and mouseover events.

	* gb/gb-lex.c (parse_basic) : Kill remark string
	leak.
	
2000-12-02  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-project.c (build_list): kill.
	(gbrun_project_fn_names): just return module methods.
	(gbrun_project_deregister_module): impl.
	Turn project debug off.

2000-12-02  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-stack.c (gbrun_stack_get): kill segv.

	* gbrun/gbrun-project.c (gbrun_project_execute):
	push and pop project before main; hmmm...

	* test/main.c (parse_file): comment out.

	* gbrun/gbrun-project.c (gbrun_project_new): register module
	not project.
	(gbrun_project_deref): treat modules differently.
	(gbrun_project_register_module): impl.

	* gbrun/gbrun-value.c (eval_to_penultimate): upd.

	* gbrun/gbrun-eval.c (gbrun_eval_context_me_set): upd.

	* gbrun/gbrun-collection.c (gbrun_collection_element_new): upd.

	* gbrun/objects/gbrun-form.c (gbrun_form_init): upd.

	* gb/gb-value.c (gb_value_copy): upd.

	* gb/gb-object.c (gb_object_ref): remove stupid EvalContext.

	* gbrun/gbrun-project.c (obj_release): impl.
	(gbrun_project_deref): use the object hash table.
	(gbrun_project_register_object): remove evil hack.
	(gbrun_project_deregister_object): upd.
	(build_list): impl.
	(gbrun_project_fn_names): use build_list.

	* gb/gb-value.c (gb_strcase_equal, gb_strcase_hash): rename.
	and publicize. (gb_value_init): upd.

	* gbrun/objects/gbrun-cmdbutton.c (cmdbutton_setarg): remove
	FIXME g_warning.

	* gb/gb-main.c (gb_parse_data_end_form): remove debug.

	* gbrun/gbrun-project.c (gbrun_project_new): kill the
	redundant classes hash, register objects with the
	correct name from the project file.
	calm down the debug.

2000-11-30  Michael Meeks  <michael@helixcode.com>

	* configure.in: Bump version for future reference.

2000-11-30  Frank Chiulli  <fchiulli@home.com>
	
	* gbrun/gbrun-object.c (save_arg_desc): Check for minimum number of
	specs.

2000-11-30  Frank Chiulli  <fchiulli@home.com>
	
	Delay the parsing of the function specs until the function is used for
	the  first time. 

	* gbrun/gbrun-object.c (gbrun_object_add_routine):  Store passed in
	information in parsed structure (vs unparsed).
	(parse_arg_desc): new - basically one part of parse_arg_desc.
	(save_arg_desc): new - the other part of parse_arg_desc.
	(gbrun_object_add_method_var): call save_arg_desc rather than 
	parse_arg_desc.
	(gbrun_object_add_method_arg): call save_arg_desc rather than 
	parse_arg_desc.
	(gbrun_method_invoke_arg): call parse_args if necessary; changed some
	variables to point to the parsed structure.
	(gbrun_method_invoke_var): call parse_args if necessary; changed some
	variables to point to the parsed structure.
	(gbrun_method_invoke_vb): call parse_args if necessary; changed some
	variables to point to the parsed structure.
	(gbrun_object_deref): call parse_args if necessary; changed some
	variables to point to the parsed structure.

	* gbrun/gbrun-object.h: Implement an unparsed and a parsed structure
	for arguments.

2000-11-29  Boszormenyi Zoltan <zboszor@externet.hu>

	* gb/Makefile.am: Install gb-type.h in libgbinclude_HEADERS

2000-11-26  Michael Meeks  <michael@helixcode.com>

	* Version 0.0.16

2000-11-26  Michael Meeks  <michael@helixcode.com>

	* test/Makefile.am: Fix nastiness with hard coded CFLAGS and
	screwed includes.

2000-11-23  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-project.c (gbrun_project_new): don't destroy
	the parse data...
	(gbrun_project_get_type): make it a gb object.
	(gbrun_project_copy): stub.
	(gbrun_project_get_objects): kill.
	(gbrun_project_new): register the form with the project, push
	and pop project at beggining and end...

	* gbrun/gbrun-value.c (get_try_list): upd; just whack project
	on list.

	* gbrun/gbrun-array.c (array_new_for_type): remove check on
	content type.

	* gbrun/gbrun-type.[ch]: impl.

	* gbrun/gbrun-object.c (value_from_var): kill.

	* gbrun/gbrun-value.c (gbrun_value_default_from_var): impl.

	* gb/grammar.y (var_decl): use gb_module_add_var and
	gb_var_new.

	* gbrun/gbrun-value.h (gbrun_value_copy): remove typecheck
	in cast.

	* gb/gb-value.c (gb_value_copy): don't check ec.

	* gb/grammar.y (type_statement): add code.
	(type_var_decl, type_var_decls): ditto.

	* gb/gb-main.c (gb_parse_data_destroy): free types +
	re-order to clarify & complete.
	(gb_parse_data_add_type): impl.

	* gb/Makefile.am: add gb-type.[ch]

	* gb/gb-type.c (gb_type_elem_new, gb_type_new): impl.
	(gb_type_destroy, gb_type_elem_destroy): impl.

	* test/main.c (gbrun_sub_write, setup_response_object),
	(exec_asp, hack_preprocess_asp, output_writes_for),
	(get_to_asp_term): impl.

	* gbrun/gbrun-global.c (global_obj_destroy),
	(global_obj_new): impl.
	(gbrun_global_destroy): upd.
	(gbrun_global_assign): upd.
	(gbrun_global_deref): upd, to scan globals by name
	to allow Debug.Print as well as Print.
	(gbrun_global_init): impl.

	* gbrun/object/gba/*: add ad-hoc names to the global
	namespace.

2000-11-22  Michael Meeks  <michael@helixcode.com>

	* gb/grammar.y (obj_name): add GB_WRITE.

	* test/main.c (exec_asp): impl.

	* gb/gb-expr.c (gb_expr_destroy): fix.

	* gb/gb-main.c (gb_parse_data_destroy): destroy expr, stmts.

	* gbrun/gbrun-project.c (parse_str): upd.

	* gb/gb-lex.c (state_set): upd.
	(gb_lex_set_first_symbol): remove.

	* gb/gb-lex.h: remove GBLexStartSym.

2000-11-21  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-statement.c (gbrun_frame_stmt_next): check for
	re-enterancy.
	(gbrun_frame_stmts_push_full): split from
	(gbrun_frame_stmts_push): here, and add re-enterancy flag on
	sub-frame.
	(gbrun_stmts_evaluate): set the re-enterancy flag.

	* gbrun/objects/gba/gba-func.c (gbrun_func_eval): impl.
	(gbrun_sub_execute): impl.

	* gbrun/gbrun-project.c (parse_str): split out
	(gbrun_exec_str): from here; upd.
	(gbrun_eval_str): impl.

2000-11-20  Michael Meeks  <michael@helixcode.com>

	* gb/gb-lex.c (parse_basic): check for eof.

	* gb/gb-main.c (gb_parse_data_set_expr),
	(gb_parse_data_set_stmts): impl.

	* gbrun/gbrun-project.c: destroy parse data after use.
	(gbrun_exec_str): update substantialy.

	* gbrun/objects/gba/gba-func.c (gbrun_call_by_name): impl.
	(gba_func_register): hook up.

	* test/Makefile.am: Install the 'gb' binary.

	* gb/gb-lex.c (gb_lexer_stream_set_first_symbol): impl.

	* gb/gb-lex.h (GBLexerStream): Add first_symbol hack.

	* gb/gb-main.h (GBParseData): Add fields.

2000-11-20  Michael Meeks  <michael@helixcode.com>

	* docs/Makefile.am: upd.

2000-11-18  Michael Meeks  <michael@helixcode.com>

	* gb/grammar.y (Project) rename to Start, split statements
	out into GlobalStatements

2000-11-16  Michael Meeks  <michael@helixcode.com>

	* gbrun/objects/gbrun-frame.c (frame_setarg): return
	TRUE for CAPTION.

	* gb/gb-lex.c (parse_basic): add error conditons.
	(gb_lex_real): cope with extraneous '\0's in the stream.

	* gbrun/objects/gba/gba-datetime.c (gbrun_func_dateadd):
	remove debug.

	* gb/gb-mmap-lex.c (s_gets): don't return NULL ever.

	* gbrun/gbrun-project.c (object_from_data): add optional
	pre-existing object.
	(object_from_data): split into
	(get_class): this and rename to
	(add_data_to_class): this.
	(gbrun_project_new): update.
	(gbrun_exec_str): impl.

	* gbrun/gbrun-object.c (gbrun_object_new): impl.

2000-11-13  Frank Chiulli  <fchiulli@home.com>
	
	* gbrun/objects/Makefile.am: activate gbrun-frame.c

	* gbrun/objects/gbrun-check.c (checkbox_setarg), (checkbox_getarg):
        add prefix to warning messages.

	* gbrun/objects/gbrun-cmdbutton.c (cmdbutton_setarg), (cmdbutton_getarg),
        add prefix to warning messages.

	* gbrun/objects/gbrun-form.c (form_setarg) , (form_getarg):
        add prefix to warning messages.

	* gbrun/objects/gbrun-frame.c: Implement new object scheme.

	* gbrun/objects/gbrun-label.c (label_setarg), (label_getarg):
        add prefix to warning messages.

	* gbrun/objects/gbrun-objects.c (gbrun_objects_register): activate call to
        gbrun_frame_register.
        (gbrun_objects_shutdown): activate call to gbrun_frame_shutdown.

	* gbrun/objects/gbrun-picturebox.c (picturebox_setarg), (picturebox_getarg):
        add prefix to warning messages.

	* gbrun/objects/gbrun-textbox.c (textbox_setarg), (textbox_getarg):
        add prefix to warning messages.

	*gbrun/objects/gbrun-timer.c (timer_setarg), (timer_getarg):
        add prefix to warning messages.

2000-11-11  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-eval.c (gbrun_eval_context_destroy): destroy
	ec->me, free associated projects too.

	* gb/grammar.y (form_items): tolerate form_items eol, to allow
	full line comments within forms.

	* gbrun/gbrun-eval.c (fire): use module not stack [0]
	(gbrun_eval_context_set_module),
	(gbrun_eval_context_get_module): impl.
	(gbrun_eval_context_construct): upd.
	(gbrun_eval_context_destroy): free it.

	* gbrun/gbrun-project.c (gbrun_project_new): use them to
	improve error location.

	* gbrun/gbrun-object.c (parse_def): simplify.

2000-11-10  Michael Meeks  <michael@helixcode.com>

	* configure.in: use AM_GNOME_GETTEXT

2000-11-10  Kjartan Maraas  <kmaraas@gnome.org>

	* */*: Added i18n support to the nice gb module.
	
2000-11-08  Zach Frey <zfrey@bright.net>

	* configure.in: Do what I should have done before, and make
	configure create gb.spec with the current version number.

	* gb.spec.in: create

2000-11-07  Michael Meeks  <michael@helixcode.com>

	* web/index.html: Update.

	* docs/LICENSE: update.

	* HACKING: add.

2000-11-07  Zach Frey <zfrey@bright.net>

	* gb.spec: update version number to match current reality.

2000-11-06  Frank Chiulli  <fchiulli@home.com>

	* gb/gb-frx-get.c: documentation and debug stuff.

	* gb/gb-value.c: add gb_type_list.  (gb_value_init): initialize 
	gb_type_list.

	* gb/gb-value.h:  add gb_type_list.

	* gbrun/objects/Makefile.am: add gbrun-listbox.c.
	
	* gbrun/objects/gbrun-listbox.c: Implement new object scheme.
	(listbox_setarg): fix bug processing LIST property.
	
	* gbrun/objects/gbrun-objects.c (gbrun_objects_register): add call to
	gbrun_listbox_register.
	(gbrun_objects_shutdown): add call to gbrun_listbox_shutdown.

2000-11-05  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-object.c (chain_deref_to_value): kill a totaly
	moronic bug !

2000-11-04  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-object.c (gbrun_object_deref): properly recurse
	on properties. (gbrun_object_deref): simplify, then complicate
	matters a lot.
	(chain_deref_to_value): impl.
	(gbrun_object_get_method): update to use inherited default
	methods.
	(gbrun_object_get_property): fix cretinous bug.

	* gbrun/objects/gbrun-form.c (gbrun_form_pass_properties): upd.

	* gbrun/gbrun-object.c (gbrun_object_add_property): upd.
	(gbrun_object_add_property_full): impl.
	(gbrun_object_get_property): upd.
	(gbrun_object_has_property): upd.
	(gbrun_object_assign): upd.
	(gbrun_object_deref): upd.

2000-11-04  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-collection.c (gbrun_collection_add_fn),
	(gbrun_collection_add): update again.

	* gbrun/Makefile.am (libgbruninclude_HEADERS): install
	gbrun-collection.h

2000-11-04  Michael Meeks  <michael@helixcode.com>

	* gbrun/objects/gbrun-form-item.c (form_item_setarg),
	(form_item_getarg): impl 'visible'

	* gbrun/gbrun-collection.c (gbrun_collection_add),
	(gbrun_collection_add_fn): it seems the 'Add' method needs to
	be more ( horribly ) different on sub-classes.

2000-11-04  Michael Meeks  <michael@helixcode.com>

	* gb/gb-expr.c (gb_obj_ref_new): cope with NULL names.

	* gb/grammar.y (object_refs): add ! operator.

	* gbrun/gbrun-object.c (gbrun_object_set_default_method): impl.
	(gbrun_object_get_method): use the default method if we have no
	name...

	* gbrun/gbrun-value.c (gbrun_objref_deref): die on exceptions.
	(gbrun_eval_assign): ditto.

	* test/Makefile.am: add collection.gba

	* gbrun/gbrun-object.c (gbrun_object_init): register collection
	type.

	* gbrun/gbrun-collection.[ch]: Implement

	* gbrun/Makefile.am: hook in collections.

2000-11-02  Michael Meeks  <michael@helixcode.com>

	* configure.in: bump version.

	* gb/Makefile.am (libgbinclude_HEADERS): install gb-constants.h

	* gbrun/gbrun-eval.c (gbrun_eval_context_construct): split
	from eval_context_new.

	* gbrun/gbrun-statement.c (gbrun_stmts_evaluate): handle
	On Error Goto 0, handle errors in the On Error handler more
	gracefuly.

2000-10-30  Michael Meeks  <michael@helixcode.com>

	* docs/LICENSE: update a tad to clarify.

2000-10-29  Michael Meeks  <michael@helixcode.com>

	* Version 0.0.14

2000-10-29  Michael Meeks  <michael@helixcode.com>

	* web/*: Update.

	* gbrun/objects/gbrun-form.c (gbrun_form_invoke): update
	to stop it spewing warnings.

	* gbrun/gbrun-object.c (gbrun_object_has_method): impl.

2000-10-28  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-object.c (chain_assign_to_value): impl helper.
	(gbrun_object_assign): use it.

	* gbrun/gbrun-value.c (gbrun_eval_assign): update logic.

	* gb/gb-value.c (gb_value_new_object): store the full Gtk 
	Object type not GB_TYPE_OBJECT.

	* gbrun/gbrun-stack.c (gbrun_stack_assign): update.

	* gbrun/gbrun-object.c (gbrun_object_assign): return exception
	if we have parameters.
	(gbrun_object_deref): remove incorrect check on ref->method,
	this element seems almost entirely useless.

	* gbrun/objects/gbrun-form.c (gbrun_form_invoke): set method
	to true, try to perform method don't warn on clean fail.

	* gbrun/gbrun-object.c (setup_vars): remove.
	(gbrun_object_instance_init): Fix serious bug using the wrong
	class to init from.
	(gbrun_object_deref): recurse on parameters passed to a var
	for collections and arrays.

	* gbrun/gbrun-project.c (object_from_data): create the object
	after initializing the class.

	* gbrun/gbrun-object.c (gbrun_object_assign): set object vars.
	(gbrun_object_var_get): localize * upd.
	(gbrun_object_var_set): localize.
	(gbrun_object_var_add): localize.
	(gbrun_object_deref): upd to get object vars.

2000-10-28  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-object.c (get_method): kill this abomination.
	(gbrun_object_deref): use the right method here, remove
	erroneous exception reset.
	(gbrun_object_set_arg): hack stuff into
	(gbrun_object_assign): here & update for try_assign.
	(gbrun_object_get_arg): remove this.
	(gbrun_object_deref): to here.

	* gbrun/gbrun-project.c (object_from_data): set 'Me' so we
	can invoke methods in callbacks.

	* gbrun/gbrun-value.c (get_try_list): abstract object sequence
	generation.

2000-10-28  Michael Meeks  <michael@helixcode.com>

	* gbrun/objects/gbrun-timer.c: Update

	* gbrun/objects/gbrun-picturebox.c: Update

2000-10-28  Michael Meeks  <michael@helixcode.com>
	
	* gbrun/objects/gbrun-objects.c (gbrun_objects_register): upd.

	* gbrun/objects/gbrun-label.c: Update

	* gbrun/objects/gbrun-check.c: Update

	* gbrun/gbrun-file.c (gbrun_func_seek, gbrun_func_lof),
	(gbrun_func_eof, gbrun_func_loc, gbrun_func_freefile):
	tighten security; throw exceptions on use if SEC_IO is set.

2000-10-27  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-object.c (gbrun_object_add_variable),
	(add_variables, gbrun_object_add_variables): impl
	(value_from_var): split from
	(stack_setup_vars): here
	(gbrun_object_instance_init): initialize instance varibles.

	* gbrun/objects/gbrun-textbox.c: update to new architecture.

2000-10-26  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-object.c (build_classes): impl.
	(gbrun_object_get_method): search all classes.
	(gbrun_object_get_property): ditto.
	(gbrun_object_class_init): upd.
	(gbrun_object_set_arg): use the promoted arg not the wrong typed one.
	(gbrun_object_get_property): return the class the property is on.
	(gbrun_object_has_property): upd.

	* gbrun/objects/gbrun-cmdbutton.c (cmdbutton_setarg): upd.
	(ITEM_NAME): fix.

	* gbrun/objects/gbrun-form-item.c (form_item_setarg): upd.

	* gbrun/objects/gbrun-form.c (form_setarg): upd.
	(ITEM_NAME): fix.

2000-10-26  Michael Meeks  <michael@helixcode.com>

	* gb/gb-value.c (gb_value_init): add global fundamental types
	(gb_gtk_type_from_name): special case variants.

	* gbrun/objects/gbrun-form.c (gbrun_form_class_init): fix types.

	* gbrun/objects/gbrun-form-item.c (gbrun_form_item_class_init): ditto.

	* gbrun/gbrun-object.c (gbrun_object_get_property): case insensitive
	compare.

	* configure.in: bump version.

2000-10-24  Michael Meeks  <michael@helixcode.com>

	* gb/Makefile.am: disable object system test.

	* gb/gb-object.[ch]: Total re-write.

2000-10-24  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-file.c (gbrun_stmt_open): fix buglet in OPEN_APPEND.

	* gbrun/Makefile.am: install gbrun-value.h

	* gbrun/gbrun-project.c: s/modules/objects/
	(gbrun_project_deregister_object),
	(gbrun_project_register_object): impl.

2000-10-21  Michael Meeks  <michael@helixcode.com>

	* Version 0.0.13
	
2000-10-21  Michael Meeks  <michael@helixcode.com>

	* test/main.c (file_to_stream): don't mmap; it's silly. 

	* configure.in: bump version to 0.0.13

	* test/frmNumberGame.frm: revert wierd changes.

2000-09-28  William Miller  <William234@aol.com>

	* gbrun/gbrun-file.c (gbrun_func_lof): Modified to use get_file_len.
	
	* gbrun/gbrun-file.c (gbrun_stmt_open): Added code that should
	either exclusively lock the file or not.
	
2000-09-25  William Miller  <William234@aol.com>

	* gbrun/objects/gbrun-cmdbutton.c (cmdbutton_mousedown):  Added to handle the MouseDown event.
	(cmdbutton_mouseup): added to handle the MouseUp event.
	(copy): add code to connect signals pressed and released to the callback functions.

	* test/filetest.gba: Small change in the freefile call.

2000-09-25  Martin Baulig  <martin@home-of-linux.org>

	* gbrun/Makefile.am (libgbruninclude_HEADERS): Added gbrun-file.h.
	* gb/Makefile.am (libgbinclude_HEADERS): Added gb-statement.h.

2000-09-19  William Miller  <William234@aol.com>

	* gbrun/gbrun-file.c (get_file_len): Added to return the length of the file.  
	Used for bounds checking.
	
	* gbrun/gbrun-file.c (gbrun_stmt_get): Modified to do bounds checking to catch
	reads passed the end of the file.

2000-09-18  Ravi Pratap  <ravi_pratap@email.com>

	* gb/grammar.y (object_refs): Added rule to parse the index argument for a control array
	member. 

	* web/index.html: Add William Miller to credits.

2000-09-17  Ravi Pratap  <ravi_pratap@email.com>

	* gbrun/gbrun-file.c: Move internal structure back here from gbrun-file.h.
	(gbrun_files_init): Modify to use g_new0
	(internal_handle_from_gb_no): Throw an exception if file number is out of range.
	
	* gbrun/gbrun-eval.h (GBRunEvalContext): Modify defn for file_handles.

	* gbrun/gbrun-file.c (all funcs): Fix memory leak by freeing handle.
	(gbrun_file_clean): Free the handles array on the eval context.
	
2000-09-16  Ravi Pratap  <ravi_pratap@email.com>

	* gbrun/gbrun-file.c (gbrun_func_freefile): Remove line to set the used 
	member. This should be done -- 
	(gbrun_stmt_open): -- here. 
	
2000-09-17  Ravi Pratap  <ravi_pratap@email.com>

	* gbrun/gbrun-file.c: Move internal structure back here from gbrun-file.h.
	(gbrun_files_init): Modify to use g_new0
	(internal_handle_from_gb_no): Thrown an exception if file number is out of range.
	
	* gbrun/gbrun-eval.h (GBRunEvalContext): Modify defn for file_handles.

	* gbrun/gbrun-file.c (all funcs): Fix memory leak by freeing handle.
	
2000-09-16  Ravi Pratap  <ravi_pratap@email.com>

	* gbrun/gbrun-file.c (gbrun_func_freefile): Remove line to set the used 
	member. This should be done -- 
	(gbrun_stmt_open): -- here. 
	
2000-09-15  Ravi Pratap  <ravi_pratap@email.com>

	* gb/grammar.y: (var_decls): Slightly modified its form.
	(GlobalStatement, dim_statement, statement): Use var_decls instead of var_decls var_decl.
	(obj_name): GB_PROPERTY added.
	(sub_call): Added rule for subs which take arguments with the parantheses.
	
	* gb/gb-lex.c (gb_lex_real): Modified code to handle strings so that """ is handled
	correctly.

	* gbrun/gbrun-file.c (gbrun_stmt_close): Modified to use the new data structures.

	* gb/gb-lex.c (parse_basic): Removed code to return '=' for GB_IS.

	* gb/grammar.y (expr): Added rule to handle object reference comparisons using 'Is'

2000-09-14  William Miller <william234@aol.com>

	* gbrun/gbrun-eval.h (GBRunEvalContext): Replace open_files with 
	GBRunFileHandle file_handles [512].

	* gbrun/gbrun-file.c (internal_handle_from_gb_no): Modified accordingly.
	(gbrun_func_freefile): Modified accordingly and made better.
	(gbrun_stmt_open): Ditto.
	(gbrun_files_clean): Ditto.

2000-09-14  Ravi Pratap  <ravi_pratap@email.com>

	* test/gui/*: Added the GUI designer project, courtesy of 
	Per Winkvist <nd96pwt@student.hig.se>

	* docs/.cvsignore: Added.

	* docs/Makefile.am: Removed entry for eval.txt from EXTRA_DIST.

	* gb/grammar.y (type_statement, type_var_decls, type_var_decl): Added to 
	handle Type statements.
	(var_name): Added.
	(var_decl): modified to use var_name instead of NAME (this allows object,
	property, method names to be used as variable names - is that okay ?).
	
2000-09-07  Ravi Pratap  <ravi_pratap@email.com>

	* gb/gb-lex.c (parse_basic): Return '=' for 'Is' and handle the comparison
	operation internally.

	* gb/keywords.gperf: Add GB_NOTHING again ;-)

	* gb/grammar.y (set_val): Remove.
	(statement): Modify rule for the Set statement.

	* gb/gb-statement.[ch] (gb_stmt_new_set): Implemented.

	* gbrun/gbrun-statement.c (gbrun_stmt_set): Implemented.

2000-09-05  Ravi Pratap  <ravi_pratap@email.com>

	* gbrun/gbrun-project.c (gbrun_project_new): Initialize 'classes' member and
	load parsed classes into the hash.

	* gbrun/gbrun-file.c (FILE_STMT_SEC_CHECK): Fixed typo.

	* gb/keywords.gperf: Removed entry for GB_NOTHING.

	* gb/gb-main.h (GBRoutine): Added member prop_type to handle class property 
	procedures.

	* gb/gb-main.c (gb_routine_start): Extended to handle property procedures.

	* gb/grammar.y (declare_routine): Extended to handle property get/let procedures.
	(end_routine): Updated accordingly.

	* gb/gb-main.c (gb_routine_start): Modified to allow procedures with similar names 
	for class property procedures only.
	
2000-08-31  Ravi Pratap  <ravi_pratap@email.com>
	
	* gb/grammar.y (statement): Added support for the Print # statement.
	
	* gb/gb-statement.[ch] (gb_stmt_new_print): Added.
	
	* gb/keywords.gperf: Added GB_PRINT, GB_SCALE
	
	* gb/grammar.y (obj_name): Added line for GB_PRINT to prevent that stupid clash	
	(statement): Added dummy rule for the Scale method. Modified rule for Line method
	to include support for the Step keyword and some optional arguments
	(attribute_item): added support for variable names which are object references.
	
2000-08-30  Ravi Pratap  <ravi_pratap@email.com>

	* gb/gb-lex.h: Added type GB_PARSING_CLASS to GBParsingState

	* gbrun/gbrun-project.c (gbrun_project_new): Uncommented code to parse
	class files

	* gb/keywords.gperf: Added GB_CLASS

	* gb/grammar.y (class_version): Added 
	(GlobalStatement): Added rule for Class parsing
	(class_prop, class_item): Added.

	* gb/gb-main.c (gb_parse_data_end_class): Added

	* gb/gb-main.h (GBParseData): Added class member 
		
	* gb/gb-lex.c (gb_lex_real): Add support for GB_PARSING_CLASS.
	
2000-08-31  Ravi Pratap  <ravi_pratap@email.com>
	
	* gb/grammar.y (statement): Added support for the Print # statement.
	
	* gb/gb-statement.[ch] (gb_stmt_new_print): Added.
	
	* gb/keywords.gperf: Added GB_PRINT, GB_SCALE
	
	* gb/grammar.y (obj_name): Added line for GB_PRINT to prevent that stupid clash	
	(statement): Added dummy rule for the Scale method. Modified rule for Line method
	to include support for the Step keyword and some optional arguments
	(attribute_item): added support for variable names which are object references.
	
2000-08-30  Ravi Pratap  <ravi_pratap@email.com>

	* gb/gb-lex.h: Added type GB_PARSING_CLASS to GBParsingState

	* gbrun/gbrun-project.c (gbrun_project_new): Uncommented code to parse
	class files

	* gb/keywords.gperf: Added GB_CLASS

	* gb/grammar.y (class_version): Added 
	(GlobalStatement): Added rule for Class parsing
	(class_prop, class_item): Added.

	* gb/gb-main.c (gb_parse_data_end_class): Added

	* gb/gb-main.h (GBParseData): Added class member 
		
	* gb/gb-lex.c (gb_lex_real): Add support for GB_PARSING_CLASS.
	
2000-08-12  Michael Meeks  <michael@helixcode.com>

	* Makefile.am (EXTRA_DIST): add gb.spec.

	* gb.spec: Spec file with thanks to Chipzz <chipzz@ULYSSIS.Org>

2000-08-02  Thomas Meeks  <thomas@imaginator.com>

	* gbrun/objects/Makefile.am: Add check, picturebox, frame

	* gbrun/objects/gbrun-check.c: Create

	* gbrun/objects/gbrun-picturebox.c: Create

	* gbrun/objects/gbrun-frame.c: Create

	* gbrun/objects/gbrun-object.c: Init / shutdown

	* gbrun/objects/gbrun-object.h: prototypes.

	* gbrun/objects/libgbobj.h: Forward struct defs.

2000-07-25  Michael Meeks  <michael@helixcode.com>

	* configure.in (EXTRA_GNOME_CFLAGS): remove -Werror.

2000-07-02  Frank Chiulli  <fc-linux@home.com>

	* gb/Makefile.am: Add new modules; remove old ones

	* gb/gb-eval.c: Change gb_eval_stream to gb_eval_frx.
	(gb_eval_frx): Change gb_value_new_stream to gb_value_new_frx.
	(gb_eval_context_eval): Change gb_eval_stream to gb_eval_frx.

	* gb/gb-expr.c: Added copyright notice.  Changed gb_expr_new_stream
	to gb_expr_new_frx.
	(gb_expr_new_frx): Change gb_value_new_stream to gb_value_new_frx.

	* gb/gb-expr.h: Added copyright notice.  Changed gb_expr_new_stream
	to gb_expr_new_frx.

	* gb-frx.[ch]: New

	* gb-frx-get.[ch]: New (formerly known as gb-stream.[ch]).

	* gb-lex.c (gb_lex_real): Return FRX rather than STREAM.
	(gb_lexer_stream_getu8): Removed.
	(gb_lexer_stream_getu16): Removed.
	(gb_lexer_stream_getcn): Removed.
	(gb_lexer_stream_class_init): Remove initialization of s_getu8, 
	s_getu16, and s_getcn.

	* gb/gb-lex.h: Remove following from _GBLexerStream - s_getu8,
	s_getu16, and s_getcn.  Remove prototypes for gb_lexer_stream_getu8,
	gb_lexer_stream_getu16, and gb_lexer_stream_getcn.

	* gb/gb-mmap-frx.[ch]: New.

	* gb/gb-mmap-lex.c: Remove GET_GUINTxx macros.  Remove following 
	modules - s_getu8, s_getu16, and s_getcn.
	(gb_mmap_stream_class_init): Remove initialization of s_getu8,
	s_getu16, and s_getcn.

	* gb/gb-stream.[ch]: Moved to gb/gb-frx.[ch]

	* gb/gb-value.c: Remove unneeded includes and add new ones.  Remove
	stream_from_file.  Change gb_value_new_stream to gb_value_new_frx.
	(gb_value_new_frx): Change reference to v->v.stream to v->v.frx.
	(gb_value_promote): Change GB_VALUE_STREAM to GB_VALUE_FRX, 
	gb_get_stream_text to gb_get_frx_text, gb_get_stream_list to
	gb_get_frx_list.
	(gb_value_init): Change Stream to Frx and gb_value_new_stream to 
	gb_value_new_frx.

	* gb/gb-value.h: Remove definition of _GBFormStream.  Change 
	GB_VALUE_STREAM to GB_VALUE_FRX.  In definition of _GBValue remove
	"GBFormStream	   *stream" and add "GBFrx		   *frx;".
	Change gb_value_new_stream to gb_value_new_frx.

	* gb/gb.h:  Remove definition of GBFormStream.  Add following 
	definitions - GBFrx, GBFrxClass, GBMMapFrx, and GBMMapFrxClass.

	* gb/grammar.y: Change token definition STREAM to FRX.

Tue Jun 20 13:16:24 2000  George Lebl <jirka@5z.com>

	* gb/gb-lex.c: include <string.h> to prevent warning

	* gb/gb-value.c: use a temporary long to get value out of strtol,
	  test it for range errors, and only then assign to guint32

2000-06-15  Michael Meeks  <michael@helixcode.com>

	* web/index.html: update and ameliorate the page.

2000-06-12  Michael Meeks  <michael@helixcode.com>

	* web/index.html: update

	* web/gb-0.0.12: Add release notes.

2000-06-12  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-file.c (FILE_STMT_SEC_CHECK): add security
	check macro & use it everywhere.

	* gb/gb.h: add GBOnError typedef; duh.

	* configure.in: Add docs/Makefile

	* Makefile.am (SUBDIRS): add docs

	* test/Makefile.am (EXTRA_DIST): add test files.

	* docs/Makefile.am: Create.

2000-06-10  Ravi Pratap  <ravi_pratap@email.com> 

	* gbrun/gbrun-file.c (gbrun_func_loc): Include GB_OPEN_APPEND along with
	GB_OPEN_INPUT and GB_OPEN_OUTPUT.

	* gb/keywords.gperf: GB_TYPE added.

	* gb/grammar.y (obj_name): Modified rule to handle the cases of conflicts
	between statements and functions/properties/objects with the same name.

	* test/filetest.gba: Uncommented the line using the seek function. Good, no
	more conflicts with statements.

	* gb/gb-statement.c (gb_stmt_type): Add GBS_SEEK case.
	
2000-06-09  Ravi Pratap  <ravi_pratap@email.com> 

	* gbrun/gbrun-file.c (gbrun_func_loc): Return pos + 1 so that we return 1
	when we are at the start of the file. Also fixed some multiline comments 
	to use the style we're supposed to.
	(gbrun_func_seek): Implemented.

	* gbrun/gbrun-file.h : Updated accordingly.

	* gbrun/objects/gba/gba-func.c (gba_func_register): Register function.

	* gb/grammar.y (statement): Added rule for Seek statement.

	* gb/gb-statement.c (gb_stmt_new_seek): Implemented.

	* gb/gb-statement.h : Updated accordingly

	* gbrun/gbrun-file.c (gbrun_stmt_seek): Implemented. 

	* test/filetest.gba: Updated to add lines to test the seek statement. Commented
	out line with the seek function because we have a conflict with
	the Seek function now!

	* test/test.output: Updated.

2000-06-09  Ariel Rios  <ariel@arcavia.com>

	* test/Makefile.am: Removed execme.gba and execme.output.

2000-06-09  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-file.c (gbrun_stmt_open): kill printf.

	* acconfig.h: cover it.

	* configure.in (GMODULE_LIBS): add --with-runtime-debug flag.

	* gb/gb-eval.c (fire): don't emit warnings unless magic flag is there.

	* gbrun/objects/gba/gba-func.c (gba_func_register): update freefile's
	argument to kill warnings.

	* gbrun/gbrun-statement.c (gbrun_stmt_evaluate): implement ON_ERROR.
	(gbrun_stmts_evaluate): complicate for onerror.

	* gb/gb-statement.c (gb_stmt_new_on_error_next), 
	(gb_stmt_new_on_error_goto): implement.

	* gbrun/gbrun-eval.h (GBRunEvalContext): add on_error

	* gbrun/gbrun-eval.c (gbrun_eval_context_new): setup on_error.

	* gb/grammar.y (on_error): Flesh out.

	* NEWS: Update.

	* README: Update.

	* AUTHORS: Update,

	* MAINTAINERS: Update,
	
	* configure.in: Bump version to 0.0.12, use -Werror to catch those
	annoying warnings.

	* gbrun/gbrun-statement.c (gbrun_frame_crop_to): implement to reel back
	run frames. (seek_label): implement. (gbrun_stmt_evaluate): label: NOP

	* gb/gb-statement.c (gb_stmt_new_label): implement.
	(gb_stmt_new_goto): update.

	* gb/grammar.y (statement): Add label.

	* gbrun/gbrun-statement.c (gbrun_stmt_for): update for new flow
	control. (gbrun_stmt_while): split from (gbrun_stmt_evaluate): update.

	* gbrun/objects/gba/gba-func.c (gbrun_sub_print): use eval_as.

2000-06-06  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-stack.c (gbrun_stack_level_new): init frame.
	(gbrun_stack_level_destroy): destroy list (gbrun_stack_frame): return it.
	(gbrun_stack_return): re-order to clean list correctly.

	* gb/gb-statement.c (gb_stmt_type): implement.

	* gbrun/gbrun-project.c (gbrun_project_new): use filename not 'file' as
	the object reference.

2000-06-08  Ravi Pratap  <ravi_pratap@email.com> 

	* gb/grammar.y (Program): Removed eol after GlobalStatement. This fixes
	the error requiring an extra blank line after the form info.

	* gb/gb-value.c (gb_value_promote): Added a FIXME tag to remind ourselves that 
	we need to write our own function to parse date strings. Can't use 
	g_date_set_parse for that.

	* gbrun/gbrun-file.c (gbrun_func_loc, gbrun_func_lof): Implemented.

	* gbrun/objects/gba/gba-func.c: Modified accordingly.

	* gbrun/gbrun-file.h: Ditto.

	* test/filetest.gba: Updated to include tests for Loc, Lof.
	
2000-06-06  Ravi Pratap  <ravi_pratap@email.com>

	* gbrun/gbrun-project.c (parsed_load): Takes an extra argument which is the
	parsing state the lexer should be put in.
	(gbrun_project_new): Modified calls to parsed_load. 

	* gb/gb-lex.c (parse_form): Return GB_VERSION if we come across "VERSION"

	* gb/grammar.y (form_version): Modified action to just perform a check on 
	the version. No switching state. That's done elsewhere.
	
2000-06-05  Michael Meeks  <michael@helixcode.com>

	* gbrun/objects/gba/gba-math.c (gba_math_register): update fix to
	take a double.

	* gbrun/objects/gba/gba-string.c (gbrun_func_string): update
	check; arg[1] is a string.

2000-06-05  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-value.h (GB_IS_VALUE): Fix macros, were broken.

	* gbrun/gbrun-object.c (parse_arg): expand to allow NULL.

	* gbrun/objects/gba/gba-math.c (gba_math_register): fix prototype on
	rnd not to pass default value, but NULL instead. Also nail int to
	take a double.

2000-06-04  Ariel Rios  <ariel@arcavia.com>

	* gbrun/objects/gba/gba-interaction.c (gbrun_func_choose): Implemented.

2000-06-04  Frank Chiulli  <fc-linux@home.com>

	* gb/gb-eval.c (gb_eval_stream): new.  (gb_eval_context_eval): Check 
	for a stream.

	* gb/gb-expr.[ch] (gb_expr_new_stream): new.  

	* gb/gb-lex.[ch]  (gb_lex_real): return STREAM.  
	(gb_lexer_stream_getu8): new.  (gb_lexer_stream_getu16): new.
	(gb_lexer_stream_getcn): new.  (gb_lexer_stream_class_init): initiaize
	new member function pointers.

	* gb/gb-value.[ch] (stream_from_file): new.  (gb_value_new_stream): new.
	(gb_value_promote): Added STREAM to STRING and STREAM to LIST.
	(gb_value_init):  Add calls to add_type_map for Stream and List.
	Added definitions for stream and list.

	* gb/gb.h: Added GBFormStream type.

	* gb/grammar.y: Added STREAM token as string.  Allowed in const_expr
	and expr.

	* gb/gb-mmap-lex.[ch] (s_getu8): new.  (s_getu16): new.  (s_getcn): new.
	Support acquiring new types of data.
	(gb_mmap_stream_class_init): initialize new class members.

	* gb/gb-stream.[ch] (gb_get_stream_text): get text from a stream.
	(gb_get_stream_list) : get a list from a stream.

	* gbrun/objects/gbrun-form.h : Remove GBFrxItemType and reference to 
	gbrun_load_frx.

	* gbrun/objects/gbrun-listbox.c (listbox_setarg): remove reference to
	gbrun_load_frx and get information/items from structure.
	(gbrun_listbox_register): Define itemdata and list as GB_VALUE_LISTs.

	* gbrun/objects/gbrun-load-frx.c : Removed from distribution.

	* gbrun/objects/gbrun-textbox.c (textbox_setarg): remove reference to
	gbrun_load_frx and get string from val->v.s->str

2000-06-03  Ariel Rios  <ariel@arcavia.com>

	* gbrun/objects/gba/gba-string.c (gbrun_func_len): This functions returns the length of the string
	or the size of a variable.
	Removed unused prototype redeclarations of gbrun_func_lcase.

2000-05-30  Ariel Rios  <ariel@arcavia.com>
2000-05-30  Ravi Pratap  <ravi_pratap@email.com>

	* Applied Ravi's s/gbe/gbrun/ patch.
	
	* Applied Ariel's beautiful guile script to clean the remaining files.

2000-05-30  Ravi Pratap  <ravi_pratap@email.com>

	* gbrun/gbrun-file.c (gbrun_stmt_input, gbrun_stmt_line_input): Removed
	unused variable tmp.

	* gbrun/gbe-eval.[ch]: Fixed gbrun_eval_as to take an argument to a const GBExpr *
	
	* gbrun/gbrun-file.c (gbrun_stmt_put): Implemented.
	(gbrun_stmt_get): Used gb_value_destroy instead of g_free for val.
	(gbrun_stmt_open): A bit of gymnastics for Random/Binary mode
	because the file should be created, if non-existent. Added line to rewind
	the stream to the beginning always.

	* test/filetest.gba: Added lines to test Put.

	* gbrun/gbrun-file.c (gbrun_stmt_get, gbrun_stmt_put): Added warnings about
	Random mode not being correctly handled yet. 

2000-05-29  Michael Meeks  <michael@helixcode.com>

	* test/strings.gba: kill len call.

2000-05-29  Sean Atkinson  <sca20@cam.ac.uk>

	* gbrun/objects/gba/gba-conversion.c: sorted functions and formatted
	to 80 character width.
	(gbe_func_int): removed (incorrect)

	* gbrun/objects/gba/gba-datetime.c: sorted and formatted.
	(gbe_func_dateadd, gbe_func_datediff, gbe_func_datepart,
	gbe_func_timer): added

	* gbrun/objects/gba/gba-math.c: sorted and formatted.
	(fix, int): added for completion, but not working yet!
	
	* gbrun/objects/gba/gba-string.c: sorted functions, formatted width.
	(gbe_func_chrb, gbe_func_instrb, gbe_func_strconv): added
	(gbe_func_instr): fixed, but needs some thought about arguments.
	(gbe_func_strcomp): fixed.

	* test/date.gba: added.  moved date tests here.

	* test/filetest.gba: added compatability line.

	* test/main.gba: fixed and made compatible with new files.

	* test/math.gba: added.  moved mathematical tests here.

	* test/strings.gba: added.  moved string tests here.
	
	* test/test.output: added some lines, but its not finished.

	* test/test.vbp: added new modules.

2000-05-29  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-object.c (gbrun_method_invoke_arg): Fix for var args slightly.
	(parse_arg): kill erroneous value_destroy, spiking everything.

2000-05-27  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbe-eval.c (gbrun_eval_as): implement convenience function.

	* gbrun/gbrun-file.c (gbrun_stmt_get): use convenience fn. nail easy
	leaks. (gbrun_stmt_input, gbrun_stmt_line_input, gbrun_stmt_close):
	use & fix leak.

2000-05-27 Ravi Pratap  <ravi_pratap@email.com>

	* gb/grammar.y (statement): updated the rule for Open to allow specification of 
	Len = 345. (opt_open_len): added.

	* gb/gb-statement.h: updated to include new struct member.

	* gb/gb-statement.c (gb_stmt_new_open): ditto.

	* gbrun/gbrun-file.c (gbrun_stmt_open): Updated.

	* gb/keywords.gperf: GB_LEN added. Creates conflicts with the Len () function. Arrgh !

	* gb/grammar.y (statement): Updated rules for Get and Put so that the record 
	number is optional.

	* test/filetest.gba: Added the Len thing in the Open statement. Updated to add test
	for Get in Random mode 

	* test/main.gba: Commented out line for Len (). Have to tackle that one.

2000-05-23 Ravi Pratap  <ravi_pratap@email.com>

	* gb/grammar.y (statement): added rule for Put # statement.

	* gb/gb-statement.c (gb_stmt_new_put): Implemented.

	* gbrun/gbrun-file.c (gbrun_stmt_get): Implemented

	* test/filetest.gba: Updated for Get test. Fixed Input # to use iFile
	instead of 1.

2000-05-22 Ravi Pratap  <ravi_pratap@email.com>

	* gb/grammar.y (statement): added rule for Get # statement.

	* gb/gb-statement.c (gb_stmt_new_get): implemented.

2000-05-13  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-statement.h: comment out the start of the recursion kill.

2000-05-12  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-statement.c (gbrun_stmt_evaluate): stub goto, it will be
	evil to implement.

	* gb/gb-statement.c (gb_stmt_new_goto): implement, much to my disgust.

	* gb/gb-lex.c (parse_basic, parse_form): move number parsing out of the
	main body into here. (read_dot): split this. (parse_basic): move '!' here.
	(gb_lex_real): move hex numbers out as well.

2000-05-11  Michael Meeks  <michael@helixcode.com>

	* gb/gb-lex.c (read_number): re-order.

	* gb/gb-project.c (get_project_pair): update to allow no ';' in which case
	we simply duplicate the value as the filename.

	* gbrun/gbrun-object.c (gbrun_object_get_methods): create trivial access fn.

	* web/index.html: Add blurb about security for morons.
	
2000-05-08  Dom Lachowicz  <dominicl@seas.upenn.edu>

	* gb/gb-mmap-lex.c (gb_mmap_stream_class_init) : Fix invalid cast / NULL
	pointer issue with new gb_mmap_stream_destroy code. gb should run 
	again.
	
2000-05-08  Michael Meeks  <michael@helixcode.com>

	* test/frmNumberGame.frm (cmdExit_Click): use Unload again.

2000-05-07  Dom Lachowicz <dominicl@seas.upenn.edu>

	* test/frmNumberGame.frm(cmdReady_Click): just moved the incrementing
	of mbytTurn down a line so that the win message outputs the correct
	number of turns
	
2000-05-08  Michael Meeks  <michael@helixcode.com>

	* gb/gb-mmap-lex.c (gb_mmap_stream_destroy): implement.
	(gb_mmap_stream_class_init): chain in.

	* test/main.c (file_to_stream): re-write to memcpy mmapped data.
	(local_stream_destroy): kill. (parse_file): update. (stream_provider):
	upd + fix. leak (exec_project): update.

2000-05-07  Frank Chiulli  <fchiulli@home.com>

	* gb/gb-lex.c  (gb-lex): support filename:offset.

	* gbrun/objects/Makefile.am: clean and add new modules.
	
	* gbrun/objects/gbrun-form.h: Add new type to support frx files.  Add
	prototype for new function.
	
	* gbrun/objects/gbrun-objects.[ch] (gbrun_objects_register, 
	gbrun_objects_shutdown): Register and shutdown listbox.
	
	* gbrun/objects/textbox.c  (textbox_setarg): Add support for
	Text = "filename:offset"
	
	* gbrun/objects/libgbobj.h: Define structure for listbox.
	
	* gbrun/objects/gbrun-listbox.c: New.  Implements listbox - 1 column
	only for now.
	
	* gbrun/objects/gbrun-load-frx.c: New.  Reads frx file.
	
2000-05-04  Michael Meeks  <michael@helixcode.com>

	* gb/grammar.y (statement) GB_OPEN: use expr not const_expr after '#'
	(handles): ditto.

	* gbrun/gbrun-file.c s/tmp/l/ for GSList's., reimplement to use FILE.
	(gbrun_func_eof, gbrun_func_freefile): implement. (read_string): split.
	(gbrun_stmt_line_input, gbrun_stmt_input): drastic simplification.
	Fix some serious brokenness, promote handle to integer type, better
	error handling. (gbrun_stmt_close): remove the file from the list.

	
	* gb/gb-value.c (gb_value_promote): make TRUE -1.

	* gbrun/objects/gba/gba-func.c (gba_func_register): register
	new IO functions.

	* test/main.gba: enable file-tests.

	* test/filetest.gba: substantialy update.

	* test/filetest.txt: add test case.

	* gbrun/gbe-eval.c (gbrun_exception_firev): clean.
	(fire): implement. (gbrun_eval_context_class_init): use fire.
	(gbrun_exception_fire): use the virtual method.

2000-05-03  Michael Meeks  <michael@helixcode.com>

	* gbrun/objects/gbrun-cmdbutton.c (destruct): free the caption.

	* gbrun/objects/gbrun-form.c (gbrun_form_un_shortcutify): implement.

	* gbrun/objects/gbrun-cmdbutton.c (cmdbutton_setarg, cmdbutton_getarg),

	* gbrun/gbrun-project.c (gbrun_project_execute): update error
	reporting.

	* gbrun/objects/gbrun-form.c (gbrun_form_register): re-arrange
	property init.

	* gbrun/gbrun-object.c (get_method): implement.
	(gbrun_method_invoke): split out object / method location.

2000-05-01  Dom Lachowicz <dominicl@seas.upenn.edu>

	* test/main.c (main): Used to pass somefrm.frm.vbp to
	exec_project, now only pass somefrm.vbp
	
2000-04-29  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbe-eval.c (gbrun_eval_context_proj_get): implement.
	(gbrun_eval_context_proj_pop, gbrun_eval_context_proj_push): ditto.

	* gbrun/gbrun-object.c (gbrun_method_invoke): complexify.

	* gbrun/gbrun-project.c (gbrun_project_new): setup modules.
	(project_destroy): destroy  (gbrun_project_get_modules): get them

	* Makefile.am: update for project testing.

2000-04-28  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-object.c (gbrun_object_add_property_val),
	(gbrun_object_add_property_obj): setup new fields.
	(gbrun_object_get_property): kill redundant argument.
	(gbrun_object_set_arg, gbrun_object_get_arg): clean.

2000-04-27  Michael Meeks  <michael@helixcode.com>

	* test/main.c (main): update to kill non-project invocation.

	* gbrun/libgbrun.h (gbrun_object_from_data): Privatize.

	* gbrun/gbe-main.c: removed,

	* gbrun/gbrun-project.c (gbrun_object_from_data): move here.

	* gbrun/Makefile.am: remove gbe-main.c

2000-04-26  Michael Meeks  <michael@helixcode.com>

	* gbrun/objects/gbrun-form.h: Update fudge factors to please.

	* gbrun/gbrun-project.c (gbrun_project_execute): hit gtk_main
	whatever.

	* gb/gb-lex.c (gb_lexer_is_string_char): Add "()." to form.
	(gb_lex_real): Split out number reading.
	(read_number): Make it handle scientific numbers.

2000-04-21  Michael Meeks  <michael@helixcode.com>

	* gbrun/objects/gbrun-form.c (gbrun_form_init): allow non GUI
	items in forms.

	* gb/gb-project.c (split_known): actually extract startup info.

	* gbrun/gbrun-project.c (gbrun_project_execute): more flesh.

2000-04-21  Michael Meeks  <michael@helixcode.com>

	* Makefile.am (EXTRA_DIST): remove execme.gba

	* gbrun/gbrun-file.c (gbrun_files_clean): free the list too.

2000-04-21  Ravi Pratap    <ravi_pratap@email.com>

	* gbrun/gbrun-file.c (gbrun_stmt_close): Modified to handle the case when
	no arguments are passed.
	(gbrun_files_clean): Implemented so that we can cleanup when the evalcontext
	is being destroyed.

	* gbrun/gbe-eval.c (gbrun_eval_context_destroy): Used gbrun_files_clean.

	* gb/gb-lex.c (parse_form): Modified to handle shortcut keys.
	
2000-04-20  Michael Meeks  <michael@helixcode.com>

	* Makefile.am: update to test file IO.

	* gbrun/gbrun-statement.c (gbrun_stmt_evaluate): clean drop throughs and braces.

2000-04-18  Ravi Pratap    <ravi_pratap@email.com>
 
	* gbrun/gbrun-file.c (gbrun_stmt_line_input): Implemented
	(gbrun_stmt_input): ditto
 	
	* test/filetest.gba: Updated to perform some simple I/O
 
	* gbrun/gbrun-statement.c (gbrun_stmt_evaluate): Updated accordingly.
 	
2000-04-17  Ravi Pratap    <ravi_pratap@email.com>
 
	* gbrun/gbrun-file.[ch]: Added to handle the file I/O related statements.
 
	* gbrun/Makefile.am: Updated to include the new files.
 
	* gbrun/gbrun-file.c (gbrun_stmt_open, gbrun_stmt_close): Implemented.
 	(gbrun_file_handle_from_no): ditto
 	
	* gbrun/gbe-eval.h (GBRunEvalContext): Updated to include list of open file handles.
 
	* gbrun/gbe-eval.c (gbrun_eval_context_new): Updated accordingly.
 	
	* gb/grammar.y (handles): Added. (statement): rule for Close modified
 	(const_expr_csv): Commented out coz it's unnecessary
 
	* gbrun/gbrun-statement.c (gbrun_stmt_evaluate): updated accordingly
 	
	* test/filetest.gba: Added
 	
2000-04-18  Michael Meeks  <michael@helixcode.com>

	* gb/gb-lex.c (parse_form): add '+', '-'

2000-04-17  Michael Meeks  <michael@helixcode.com>

	* gb/grammar.y (sub_call): Use GB_SPACE_DOT not '.'

	* gb/gb-lex.c (gb_lex_real): GB_SPACE_DOT implementation for With.

	* gb/gb-lex.h (GBLexerStream): Add lastc for GB_SPACE_DOT, fix silly
	bug with .1234

2000-04-17  Michael Meeks  <michael@helixcode.com>

	* gb/gb-main.c (gb_parse_data_free): rename to (gb_parse_data_destroy).
	(gb_parse_stream): udpate.

	* test/main.c (main): ditto.

	* gbrun/gbe.h: rename GB_RUN_SEC -> GBRUN_SEC

	* gbrun/gbrun-object.c (parse_def, parse_security): ditto.

	* gbrun/gbrun-project.[ch]: Implement.

	* test/main.c (parse_project, main): update.
	(stream_provider): hack.

2000-04-15  Michael Meeks  <michael@helixcode.com>

	* gb/grammar.y (object_refs): use GB_SPACE_DOT.

2000-04-15  Ravi Pratap    <ravi_pratap@email.com>
 
	* gb/grammar.y: Fought with reduce/reduce conflicts to eliminate
 	them completely. Shift/reduce conflicts remain but these however
 	are resolved the way they should be. Added GB_RANDOM.
 
	* gb/keywords.gperf: Added keyword GB_RANDOM.
 
	* gb/gb-statement.h: Update OpenMode to include GB_RANDOM.
 	
2000-04-15  Michael Meeks  <michael@helixcode.com>

	* gb/gb-mmap-lex.c (s_gets): update.

	* gb/gb-lex.c (gb_lexer_is_string_char): update and make conditional on
	the state.

	* test/main.c (parse_project): Implement, (main): check for project
	files. (file_to_stream, local_stream_destroy): implement.
	(parse_file): re-write.

	* gb/gb-main.c (gb_parse_stream): re-organise.

	* gb/gb-eval.c (gb_eval_exception): implement.

	* gb/gb-lex.c (gb_lex): split for convenience to (gb_lex_real).
	(parse_project): implement.

2000-04-14  Michael Meeks  <michael@helixcode.com>

	* gb/gb-lex.c (parse_basic, parse_form, parse_project): split code from
	(gb_lex).

	* gb/grammar.y: add GB_KEEP_LOOKING, a hack to help the split.

2000-04-14  Michael Meeks  <michael@helixcode.com>

	* gb/gb-main.c (gb_parse_data_end_form, gb_parse_data_start_form): update.

	* gb/gb-lex.c (form): rename to (state_set).
	(gb_lexer_stream_class_init): update.
	(gb_lexer_stream_init): update.

	* gb/gb-lex.h (GBParsingState): Create.
	(gb_lexer_stream_in_form): rename to (gb_lexer_stream_state).

2000-04-14  Michael Meeks  <michael@helixcode.com>

	* gb/gb-lex.c (gb_lex): back-out '^' and scientific number support.

2000-04-14  Ravi Pratap    <ravi_pratap@email.com>
  
	* gb/grammar.y: Introduced rule const_expr_csv.

	* gb/gb-statement.h: Updated GBStatement for file-handling related 
	statements.

	* gb/gb-statement.c (gb_stmt_new_open, gb_stmt_new_input, gb_stmt_new_close)
	(gb_stmt_new_line_input): Implemented.

2000-04-13  Ravi Pratap    <ravi_pratap@email.com>

	* gb/grammar.y: Modified object_refs rule to take care of object refs
	inside a With construct. Added rule for the Line statement which
	happens to be a method of some object. Also added a rule for 
	the Line Input # statement

	* gb/gb-lex.c: Added support for shortcut keys (^O etc) in menus and 
	for floats in the scientific notation.

	* gb/grammar.y: Added rules for Open, Close, Input # statements. Added 
	keywords GB_APPEND, GB_OUTPUT

2000-04-12  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-object.c (parse_security): make case insensitive.

	* test/frmNumberGame.frm: add a delay + show / hide.

	* gbrun/gbrun-object.c (parse_def): update to pass error up.

	* gbrun/objects/gba/gba-string.c (gba_string_register): update function
	descriptions.

	* gbrun/objects/gba/gba-interaction.c (gba_interaction_register): ditto.

	* gbrun/objects/gbrun-form.c (delete_event_cb): return TRUE.

	* gb/gb-object.c (do_cc): implement. (gb_object_new, gb_object_copy):
	use it (gb_object_destroy_do): simplify & fix.
	(do_cc): kill fatuous double destruction.

	* gb/obj-test.c (a_copy): update for copy construction.

2000-04-11  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbe-stack.c (gbrun_stack_get): fall back to me's vars;
	ugly hack really, we need to pass the current Object through the
	evaluation process in a cleaner fashion.

	* gb/gb-object.c (gb_object_priv_get_type): commented out.

	* gbrun/objects/gbrun-form.c (gbrun_form_new): update.
	(gbrun_form_transfer_methods): kill. (add_form_routines): ditto.
	(gbrun_form_new): make it create a names sub-class.

	* gbrun/gbrun-object.c: Handle object variables.
	(gbrun_object_var_get, gbrun_object_var_add, gbrun_object_var_set): 
	implement. (gbrun_object_add_variables): implement.
	(setup_vars): ditto.

	* gbrun/objects/Makefile.am: install some headers.

	* gbrun/libgbrun.h: kill the GBRunContext it sucked.

	* gbrun/gbe-main.c: re-write big chunks to make more OO.

	* gbrun/gbe-eval.c (gbrun_eval_context_new): move random setup
	here & add security.

	* gb/gb* s/GBModule/GBParseData/.

2000-04-10  Per Winkvist  <per.winkvist@mandator.se>
 
	* gb/gb-lex.c: Don't parse Remarks

2000-04-07  Per Winkvist  <per.winkvist@mandator.se>
 
	* gbrun/objects/gba/gbe-func.c: Splitted the file into
        class/module files.
 
	* gbrun/gbe-main.c (gb_run_init): Update where VBA
        registration takes place

2000-03-30  Michael Meeks  <michael@helixcode.com>

	* test/main.c (parse_file): return the exception printing code; the
	g_warning in (fire) is _solely_ for debugging, so you can put a breakpoint
	in g_log and is not permanant.

2000-03-30  Ravi Pratap <ravi_pratap@email.com>

	* gb/gb-eval.c (fire): Modified to use gb_eval_context_get_text instead 
	of directly printing out the struct member.

	* test/main.c (parse_file): Commented redundant block that prints out 
	exceptions that occur after parsing is completed. 

2000-03-29  Ravi Pratap <ravi_pratap@email.com>

	* test/execme.gba: Expanded to use comma separated values in Case stmt.

	* test/execme.output: Updated accordingly.
	
	* gb/gb-statement.h (GBSelectCase): Changed member's name to exprs.

	* gb/gb-statement.c (gb_statement_case_new_csv): Updated accordingly.

	* gbrun/gbrun-statement.c (handle_case_stmt): Implemented handling of comma 
	separated values in a Case stmt.

	* gb/keywords.gperf: Removed duff keywords Width, Type, Text, Name.
	
2000-03-29  Michael Meeks  <michael@helixcode.com>

	* gb/gb-object.[ch]: Almost totaly re-written.

	* gbrun/gbrun-object.[ch]: ditto.

	* gbrun/*.c: Lots of hacks, especially array support.

	* gbrun/objects/vba: Renamed to

	* gbrun/objects/gba: here.

2000-03-28  Michael Meeks  <michael@helixcode.com>

	* gb/gb-lex.c (gb_lex): use isdigit not range.

2000-03-28  Ravi Pratap <ravi_pratap@email.com>
 
	* gb/gb-statement.c (gb_stmt_new_select): Used stmt_new instead of g_new.
 	(gb_stmt_new_randomize): ditto.
 
	* gb/gb-statement.h: Extended GBStatement for Load, Unload stmts.
 
	* gb/gb-statement.c (gb_stmt_new_load, gb_stmt_new_unload): Implemented.
 
	* gbrun/objects/gbrun-cmdbutton.c (cmd_button_getarg, cmd_button_setarg)
 	(gbrun_cmdbutton_register): Add support for Default
 
	* gb/gb-value.c (gb_value_promote): Uncommented integer,float->boolean conversion.
 	
2000-03-27  Ravi Pratap <ravi_pratap@email.com>

	* gb/grammar.y: Modified const_decl grammar to allow not
	giving a value while declaring a variable.
	Uncommented rule for a statement to be a label.
	
	* gb/gb-lex.c (gb_lex): Extended hack to "something.frx":0442 etc. Basically, 
	not just 0000's.

	* gb/gb-statement.h: Extended GBSelectCase struct to accomodate csv type.

	* gb/gb-statement.c (gb_select_case_new_csv): Implemented.

	* gb-grammar.y: Added rule to allow a Case statement with comma separated
	values. Also changed as_type to use variant as default if nothing's specified.
	Added grammar rule for Global const definition. Added rule for Public/Private var
	declarations and const statements. Changed dim_statement to allow the Static 
	keyword.
	Wrote rules for Load and Unload (unimplemented as yet).
	
2000-03-28  Michael Meeks  <michael@helixcode.com>

	* test/main.c (parse_file): back out Joe's change.
	(parse_file): Re-write it differently.

2000-03-27  Per Winkvist  <per.winkvist@mandator.se>
 
	* Reorganised gbrun's gbe-func.[ch] into an own object
	under gbrun\objects\vba\
 
	* gbrun/gbe-func.[ch]: Moved and renamed to objects/vba/vba-func.c
	and objects/vba/vba-objects.h
 
	* test/dnd/: Add dnd test
	* test/flip/: Add flip,control-array test
	* test/timer/: Add timer callback test

2000-03-27  Ariel Rios <ariel@arcavia.com>

	* configure.in: Fix.

2000-03-26  Dom Lachowicz <dominicl@seas.upenn.edu>

	* gb/gb-value.c (gb_value_promote): Improved Boolean 
	object promotion
	
2000-03-26  Joe Orton <joe@orton.demon.co.uk>

	* test/main.c (parse_file): he added a newline.

2000-03-25  Michael Meeks  <michael@helixcode.com>

	* gb/gb-lex.c (gb_lexer_is_string): implement.
	(gb_lexer_stream_gets): use it.

	* gb/gb-mmap-lex.c (s_gets): simplify killing strdup / free +
	gstring. + use lexer_is_string.

2000-03-21  Dom Lachowicz  <cinamod@hotmail.com>
 
 	* gb/gb-mmap-lex.c (s_gets, gb_mmap_stream_class_init): 
 	New function, should speed up mmap'ed reading a good bit
 	
2000-03-22  Michael Meeks  <michael@helixcode.com>

	* test/frmNumberGame.frm: Fix from Gysbert.

2000-03-17  Michael Meeks  <michael@helixcode.com>

	* gb/gb-eval.c (gb_eval_compare): fix leak.

2000-03-18  Ariel Rios     <ariel@arcavia.com>

	* configure.in: Corrected typo. This is gb not gnumeric.

2000-03-15  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbe-func.c (gbe_func_cstr): implement guess.

	* gbrun/gbrun-array.c (array_deref): fix _Serious_ memory corruption
	bugs; argh. wasted ages.

	* gb/gb-value.c (gb_value_type_name): add special 'Object' case.
	(gb_value_get_as_string): expand.

	* gbrun/gbrun-object.c (gbrun_method_invoke): get me.
	(gbrun_method_invoke_vb): update value destruction logic.

	* gbrun/gbe-eval.c (gbrun_eval_context_me_set),
	(gbrun_eval_context_me_get): implement.

	* gbrun/gbrun-object.c (gbrun_method_invoke_vb): update me.

	* gbrun/objects/gbrun-form.c (gbrun_form_widget_set_color): fix no-op.

	* gb/gb-value.c (gb_value_copy): trap error cases.

	* gbrun/gbrun-statement.c (handle_case_stmt): update for new compare.

	* gb/gb-eval.c (gb_eval_compare): re-write extensively.
	(gb_eval_binary): update to handle errors nicely.

	* gb/gb-value.c (gb_value_is_integer): implement.

	* gbrun/gbrun-object.c (parse_def): create, destroying promote_from_str

2000-03-14  Michael Meeks  <michael@helixcode.com>

	* gb/gb-value.c (gb_value_get_as_int): add byte support.
	(gb_value_get_as_long): ditto.

	* gbrun/gbe-func.c (gbe_func_rnd): implement.

	* gbrun/gbe-stmt.[ch]: Renamed to

	* gbrun/gbrun-statement.[ch]: Implemented random bits.
	
	* gb/gb-statement.c (gb_stmt_new_rnd): implement.

	* gb/grammar.y (opt_expr): implement. (statement): add random bits.

	* gbrun/objects/gbrun-textbox.c (textbox_setarg): hack to shut up mostly.
	
	* gb/gb-constants.gba: add justification constants.

	* gbrun/objects/gbrun-cmdbutton.c (cmdbutton_getarg, cmdbutton_setarg): Implement
	Enabled.

	* gbrun/objects/gbrun-form-item.c (gbrun_form_item_register): add colors.
	(form_item_set_arg): implement form color's on widgets. Implement 'TabIndex' to
	shut the churning debug up.

	* gbrun/objects/gbrun-form.c (gbrun_form_widget_set_color): implement.
	(gbrun_form_widget_get_color): stub.

	* gb/gb-constants.gba: add ColorConstants

	* gbrun/objects/gbrun-textbox.c (textbox_getarg),
	(textbox_setarg): implement Text property.

2000-03-14  Michael Meeks  <michael@helixcode.com>

	* gb/gb-expr.c (gb_expr_new_obj_list_call): implement.

	* gbrun/gbe-stack.c (gbrun_stack_get): hack 'Me' support in
	(gbrun_stack_set): Moan about 'Me'.

	* gbrun/objects/gbrun-form.c (gbrun_form_transfer_methods): implement.
	(gbrun_form_new): use it.

	* gbrun/objects/gbrun-form-item.c (gbrun_form_item_invoke): update.

	* gbrun/objects/gbrun-form.c (gbrun_form_invoke): implement.
	(gbrun_form_new): call Form_Load

2000-03-14  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbe-stmt.c (gbrun_stmt_evaluate): implement select.
	(handle_case_stmt): implement.

	* gb/gb-value.c (gb_value_init): re-order & add Byte.

	* gb/grammar.y (obj_name): Mangle up, this needs more thought.
	(case_stmt, case_stmts): new. Add Select support.

	* gb/gb-statement.c (gb_select_case_new_comparison),
	(gb_select_case_new_expr_to_expr, gb_select_case_new_expr): implement.
	(gb_cases_destroy): implement. (gb_stmt_destroy): update

2000-03-13  Michael Meeks  <michael@helixcode.com>

	* gb/gb-lex.c (form): kill set line = 1 (gb_lexer_stream_init): do it here instead.

	* test/NumberGame.frm: Add from G Wassenaar <zaphod@zonnet.nl>

	* gb/gb-lex.c (gb_lex): Add BeginProperty, EndProperty.

	* gb/grammar.y (form_prop): use '\n' to cause stupid loop with ':'s

	* gb/gb-lex.c (gb_lex): Hack the STRING case to handle form's
	with "filename.frx":0000's in.

2000-03-12  Ettore Perazzoli  <ettore@helixcode.com>

	* gb/Makefile.am (gb-constants.h): Use `$(srcdir)' correctly.
	(gb-constants.c): Likewise.

2000-03-12  Michael Meeks  <michael@helixcode.com>

	* gb/Makefile.am: fix for build != src.

2000-03-12  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbe-func.c (gbe_func_isnull, gbe_func_isobject),
	(gbe_func_isnumeric): implement. (gbe_func_register): register.
	(gbe_sub_msgbox): extensively update.

	* gb/gb-eval.c (gb_constant_lookup): implement constants ( horribly
	hacked ).

2000-03-11  Michael Meeks  <michael@helixcode.com>

	* gb/Makefile.am: Add constant building routines.

	* gb/gb-constants.gba: Add the constants

	* gbrun/objects/gbrun-form.c (gbrun_form_add): create.
	(add_form_routines): add signal handlers to the form object.

	* gbrun/gbrun-object.c (gbrun_method_invoke_vb): create 'Me'

	* gbrun/objects/gbrun-form-item.c (gbrun_form_item_invoke): Pass
	the form as the object.

	* gbrun/objects/gbrun-form-item.h: Store a GBRunForm as a parent
	not the GtkFixed.

	* gb/gb-lex.c (gb_lex): add support for &H12345& hex numbers.

2000-03-10  Frank Chiulli  <fc-linux@home.com>

       * gbrun/objects/gbrun-cmdbutton.c (cmdbutton_setarg, 
         gbrun_cmdbutton_register): Add support for ToolTipsText.

	* gbrun/objects/gbrun-textbox.c (textbox_setarg, gbrun_textbox_register):
	  Add support for ToolTipsText.

2000-03-00 Elliot Lee <sopwith@redhat.com>
	
	* gb/Makefile.am, gbrun/Makefile.am, gbrun/objects/Makefile.am,
	  test/Makefile.am: Fix for builddir != srcdir.

2000-03-04  Michael Meeks  <michael@helixcode.com>

	* test/execme.gba: comment out time stuff until someone has a
	good way to regression test it.
	
	* test/execme.output: Add.

	* Makefile.am: make test work.

	* gbrun/gbe-func.c (gbe_func_hex): fix leak & re-write.
	(gbe_func_register): add hex$ and take arg as variant.

2000-03-05  Frank Chiulli  <fc-linux@home.com>

	* gb/grammar.y: Added support for the datatype suffix '#' for doubles.

	* gbrun/objects/Makefile: Added textbox.c and textbox.h

	* gbrun/objects/cmdbutton.c: Documentation.
	(cmd_button_cc), (gbrun_cmdbutton_register): Changed to cmdbutton_cc.

	* gbrun/objects/gbrun-form-item.h:  Added VB Alignment and Boolean 
	  support.

	* gbrun/objects/gbrun-form.c: Documentation.

	* gbrun/objects/gbrun-label.c: Documentation
	(label_setarg, label_getarg, label_cc, gbrun_label_register):
	Add alignment property support.

	* gbrun/objects/gbrun-objects.c (gbrun_objects_register, 
	gbrun_objects_shutdown): Add textbox item support.

	* gbrun/libgbobj.h: Added new types.

	* test/main.c (main): Fix problem of processing more arguments than
	specified on the command line.

2000-03-03  Per Winkvist  <Per.Winkvist@uk.com>

	* gb/gb-lex.c: Allow '$' in function names.

	* gbrun/gbe-func.c (gbe_func_left[b$], gbe_func_right[b$],
        (gbe_func_mid[b$], gbe_func_instrb, gbe_func_lenb): Implement

2000-03-02  Ariel Rios  <ariel@arcavia.com>

	* test/execme.gba: Added a do while example.	

	* gbrun/gbe-stmt.c (gbe_stmt_evaluate): Reimplementation of While.
	Loosely based on the Ravi's work: THANKS!!

2000-02-29  Ravi Pratap <ravi_pratap@email.com> 

	* gb/gb-value.c (gb_value_init): Make GBFalse a GBFalse, not GBTrue!

2000-02-28  Michael Meeks  <michael@helixcode.com>

	* test/main.c (main): fix logic bug.

2000-02-28  Eric Lloyd <ewlloyd@neta.com>

	* test/form.vba: use Iff.

	* gbrun/gbe-func.c (gbe_func_iff): add. (gbe_func_register): ditto.

2000-02-28  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbe-func.c (gbe_func_abs, gbe_func_exp, gbe_func_tan),
	(gbe_func_atan, gbe_func_cos, gbe_func_sin): use GB_IS_VALUE

2000-02-28  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbe-value.c (gbe_value_promote): hack for variants.

	* gbrun/gbe-func.c (gbe_func_vartype): create.

	* gb/gb-value.c (gb_value_init): add variant.

	* web/index.html: Add some more waffle.

	* gbrun/gbe-value.c (gbe_value_promote): simplify.

	* gb/gb-value.c (gb_value_copy, gb_value_destroy): update.
	(gb_value_get_as_double, gb_value_get_as_int): use switch & expand.

	* gb/gb-eval.c (gb_eval_binary): update numeric checks.
	(gb_eval_context_eval): ditto.

2000-02-27  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbrun-array.c (gbrun_array_new_vals): implement.

2000-02-23  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbe-value.c (gbrun_setup_vars): use new array code.
	(gbrun_eval_assign): add array lvalue assign.

	* gbrun/gbrun-object.c (gbrun_object_get_type): kill duff type_class
	assignment. (gbrun_method_invoke): hack arrays in; should be done by a
	virtual method.

	* gbrun/gbrun-array.[ch]: create.

	* gbrun/gbe-value.c (gbe_value_new_array): kill.
	(gbe_value_array_lookup, gbe_value_deref, obj_deref): kill.

2000-02-23  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbe-value.h (GB_IS_VALUE_OPT): add.

	* gbrun/gbrun-object.c (gbrun_object_get_property): re-arrange
	to fix warning.

	* configure.in (GB_MICRO_VER): bump to 8

	* test/main.c (parse_file): kill duff cast.

2000-02-22  Michael Meeks  <michael@helixcode.com>

	* kill a load of redundant headers.
	
	* gbrun/gbe-stack.c (gbrun_stack_set): fix.

	* gbrun/objects/gbrun-label.c: fixup.

	* gbrun/objects/Makefile.am (libgbobj_la_SOURCES): add label back in.

	* gbrun/gbrun-object.c (gbrun_object_get_property): fixup; broken.
	(gbrun_object_get_arg, gbrun_object_set_arg): fixup.

2000-02-20  Ravi Pratap <ravi_pratap@email.com>

	* gbrun/gbe-func.c (gbe_func_dateserial): Fix.
	
	* gb/gb-value.c (gb_value_new_time, gb_value_new_date_time): Implemented.
	(gb_value_time_get_hr, gb_value_get_min, gb_value_get_sec): Implemented.
	
	* gbrun/gbe-value.c (gbe_value_promote): Take care of time in date<->string
	conversion.
	
	* gbrun/gbe-func.c (gbe_func_time): Implemented.
	
	* test/execme.gba: Expanded.
	
2000-02-22  Michael Meeks  <michael@helixcode.com>

	* Massive changes, re-organisation, drastic object model changes.
	re-written assignment logic to special case lvalues instead of
	eval-context hack. Push the eval-context further over the code.

2000-02-20  Michael Meeks  <michael@helixcode.com>

	* gb/gb-eval.c (gb_eval_unary): fix copy.

	* gbrun/gbe-main.c (gbrun_routine): ditto.

	* gbrun/gbe-eval.c (eval_expr): ditto.

	* gb/gb-value.c  (gb_value_new_object): add nice precondition.
	(gb_value_destroy, gb_value_copy): new object system.
	(gb_value_new_default): pass EvalContext.

2000-02-19  Ariel Rios  <ariel@arcavia.com>
	
	* gbrun/gbe-value.h (GB_IS_VALUE): Macro that assert the type.
	  
	* gbrun/gbe-func.c (gbe_func_filelen): Replaced use of GB_IS_STRING
	  with GB_IS_VALUE.
	  (gbe_sub_msgbox): Ditto.
	  (GB_IS_STRING): Removed.
	
2000-02-19  Michael Meeks  <michael@helixcode.com>

	* gb/gb-object.[ch]: add.

2000-02-19  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbe-object.c (gbe_setup_vars): add variables at the module
	level;

	* So many changes I can't document them all.

	* gbrun/objects/gbrun-form.c (gbrun_form_new): update to use new object
	stuff.

2000-02-18  Michael Meeks  <michael@helixcode.com>

	* gbrun/objects/gbrun-cmdbutton.c (cmdbutton_setarg, cmdbutton_getarg):
	update. (cmdbutton_construct): add register

	* gbrun/objects/gbe-form.c (gbe_register_form_std_properties),
	(gbrun_form_std_property_set, gbrun_form_std_property_get): implement.

	* gbrun/gbe-object.c: Improve API lots, kill the Form specifics, since
	we can't do this for every object.

2000-02-17  Amaury JACQUOT  <sxpert@sxpert.dyndns.org>

	* gbrun/gbe-object.h: added a new pointer to the 
	  _GBEObjClass structure (GBEFormObjectNew) so that
	  the form object can create its children without having a
	  'if (i->type=="Something")' style horror (asks which
	  class it really is calling gbe_object_lookup(i->type)
	
	* gbrun/gbe-func.c: modified calls to gbe_object_register
	  to add the new pointer to the form_object_new thing

	* gbrun/gbe-object.h: modified the prototype to gbe_object_register
	
	* gbrun/gbe-object.c: modified gbe_object_register so that it 
	  initializes the GBEFormObjectNew in _GBEObjClass

	* gbrun/gbe.h: added the new GBEFormObjectNew function type

	* gbrun/objects/gbrun-cmdbutton.c: modified the calls to 
	  gbe_object_register

	* gbrun/objects/gbrun-form.c: added the logic in gbrun_form_new
	  so that the above makes sense...
		
2000-02-18  Michael Meeks  <michael@helixcode.com>

	* test/execme.gba: neaten.

	* gbrun/gbe-object.c (gbe_object_class_destroy): implement.

	* gb/gb-value.c (gb_value_new_date, gb_value_new_date_gdate): fix.
	(gb_value_destroy): kill allocation. (gb_value_copy): ditto.
	(gb_value_get_as_date): expand.

	* gb/gb.h: kill internaldate & use a define.

	* gbrun/gbe-value.c (gbe_value_promote): let dates go to doubles.

2000-02-18  Ravi Pratap    <ravi_pratap@email.com>

	* gb/gb.h: GBDate now maps to InternalDate *. Rewrite of Date
	stuff begins. 

	* gb/gb-value.h: Changed date related stuff.

	* gb/gb-value.c (gb_value_new_date, gb_value_get_as_date): Redone.
	(gb_value_get_as_double, gb_value_copy, gb_value_destroy): Modified
	accordingly. 

	* gb/gb-value.c (gb_value_new_date_gdate): Implemented.
	(gb_value_get_as_gdate): Implemented.
	(gb_value_init): Modified to use gb_value_new_date_gdate.

	* gbrun/gbe-func.c (gbe_func_day, gbe_func_year): Modified accordingly.
	(gbe_func_month, gbe_func_weekday): Same here.

	* gbrun/gbe-value.c (gbe_value_promote): Implemented date<->string conversion.

	* test/execme.gba: Expanded to use the new date funcs.
	
2000-02-19  Ariel Rios  <ariel@arcavia.com>

	* gbrun/gbe-value.h (GB_IS_VALUE): Macro that assert the type.
	  
	* gbrun/gbe-func.c (gbe_func_filelen): Replaced use of GB_IS_STRING
	  with GB_IS_VALUE. (gbe_sub_msgbox): Ditto. (GB_IS_STRING): Removed.

2000-02-16  Frank Chiulli  <fc-linux@home.com>

	* gbrun/objects/gbrun-cmdbutton.c: documentation
	  (cmdbutton_setarg): cleaned up height and width processing.

	* gbrun/objects/gbrun-form.c: documentation; added top, left, 
	  scale_height and scale_width as properties/args.
	  (delete_event_cb): temporarily re-instated to allow graceful exit.
	  (form_setarg): cleaned up height and width processing; added top and
	  left processing.
	  (form_construct): temporarily re-instated call to gtk_signal_connect
	  with delete_event_cb to allow graceful exit.
	  (gbrun_form_register): register left, top, scale_height and 
	  scale_width.

	* gbrun/objects/gbrun-form.h: Corrected GBRUN_FORM_TWIPS_TO_X and
	  GBRUN_FORM_TWIPS_TO_Y macros.

2000-02-14  Michael Meeks  <michael@helixcode.com>

	* gb/gb-main.c (gb_module_free): don't free ec.
	(gb_parse_stream): hook in passed ec; revamp error handling.

	* gb/grammar.y (gb_error): insert here + hack nastily sacrificing
	re-enterancy for nice error reporting.

	* gb/gb-main.c (gb_error): remove from here.

	* gb/gb-lex.c (gb_lexer_stream_gets, gb_lexer_stream_peek),
	(gb_lexer_stream_getc, gb_lexer_stream_class_init, gb_lexer_stream_init),
	(gb_lexer_stream_get_type, gb_lexer_stream_new): Implement base class.
	(form, gb_lexer_stream_form): implement.
	(gb_lex): major re-write for new stream api. kill SPACE_DOT
	stuff; too wierd, I moved it into the ' ' case.

	* gb/gb-mmap-lex.[ch]: New stream class.

2000-02-13  Michael Meeks  <michael@helixcode.com>

	* test/execme.gba: add explicit debug object instantiation.

	* gb/gb-value.c (gb_value_type_from_name): kill some debug.

	* gb/grammar.y: Make object.sub "args" type calls work for
	andersca.

2000-02-10  Michael Meeks  <michael@helixcode.com>

	* gb/gb-eval.c (gb_eval_context_reset): implement.
	(reset): add.

	* gb/gb-eval.h: add reset.

	* configure.in (GB_MICRO_VER): bump.

	* test/execme.gba: kill form stuff ( use form.vba )

2000-02-08  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbe-object.c (gbe_object_set_arg): auto-promote.

	* gbrun/objects/gbrun-form.c: kill twips functions in
	favour of macros. (form_getarg, form_setarg): use them

2000-02-08  Michael Meeks  <michael@helixcode.com>

	* gb/gb-form.c: simplify properties to a list.

	* gbrun/objects/gbrun-form.c (form_setarg): implement the simple
	case.

	* gbrun/objects/Makefile.am: rename things.
	kill header install; unneccessary.

	* gbrun/objects/gbe-form.c (gbrun_objects_shutdown): stub
	(gbrun_objects_register): implement.

	* gb/gb-form.c (g_str_case_hash, g_str_case_equal): add.

2000-02-08  Michael Meeks  <michael@helixcode.com>

	* gbrun/libgbrun.h: s/GBERunContext/GBRunContext/

	* gbrun/gbe-main.c: ditto.

	* test/main.c: ditto + (main): kill redundant print demo code.

2000-02-08  Michael Meeks  <michael@helixcode.com>

	* gb/gb-lex.c (gb_lex): mangle the Form stuff in, nasty flow.

	* gb/gb-main.c (gb_module_set_form): renamed to.
	(gb_module_end_form, gb_module_start_form): implement.

	* gb/grammar.y: hacked about, we now ignore attributes nicely.

	* gb/keywords.gperf: Add 'Version', 'Attribute'; remove 'Begin'

2000-02-08  Michael Meeks  <michael@helixcode.com>

	* test/execme.gba: clean some nastiness.

	* gb/gb-eval.c (gb_eval_context_eval): let strings through too,
	this needs a real fix.

	* gb/gb-form.[ch]: Create.

	* gb/gb-main.c (gb_module_free): free it.
	(gb_parse_stream): add an eval context.
	(gb_module_set_form): implement.

	* gb/keywords.gperf: add Begin, a form keyword.

2000-02-06  Michael Meeks  <michael@helixcode.com>

	* gbrun/gbe-main.c (gbrun_context_destroy): update.
	(gbrun_context_new): update.

	* gbrun/gbe-value.c (gbe_value_new_array): comment out for now.
	(alloc_array): comment out. (gbe_value_array_lookup): knobble.

	* gb/gb-eval.c (gb_eval_context_eval): fix a load of old leaks.

	* gbrun/gbe-value.c: move gbe_value_* out into gb/gb-eval renaming to
	gb_eval_*

	* gbrun/*.[ch]: s/GBEEvalContext/GBRunEvalContext/
	s/gbe_exception_fire/gbrun_exception_fire/

2000-02-06  Michael Meeks  <mmeeks@gnu.org>

	* gb/Makefile.am: kill method, object, property builds for now; we don't
	use them yet. Add gb-eval.[ch], kill object-db.[ch]

	* gb/gb-eval.[ch]: create.

	* configure.in: add Gtk check.

2000-02-03  Michael Meeks  <mmeeks@gnu.org>

	* gbrun/gbe-func.c (gbe_func_dateserial): fix serious leak + style
	problems.

	* gb/gb-value.c (gb_value_new_date): fix mega memory problems.
	(gb_value_destroy): actually free it. (gb_value_copy): copy it.
	(gb_value_init): setup a default date and register in the type
	hash.

2000-02-03  Kevin DeKorte  <kdekorte@yahoo.com> 

	* gbrun/gbe-func.c (gbe_func_dateserial, gbe_func_day): Implemented.
	(gbe_func_month, gbe_func_year, gbe_func_weekday): Implemented.

2000-02-03  Ravi Pratap	   <ravi_pratap@email.com>	

	* gb/gb-value.h: GBDate is mapped to GDate *, using the glib

	* gb/gb-value.c (gb_value_new_date, gb_value_get_as_date): Implemented.

2000-02-02  Kevin DeKorte  <kdekorte@yahoo.com>

	* gbrun/gbe-func.c (gbe_func_strreverse): Implemented.

	* test/execme.gba : Expanded to test new func.
	
2000-02-01  Ravi Pratap	   <ravi_pratap@email.com>

	* gbrun/gbe-func.c: Corrected typo. It's atn in VB , not atan.

	* gbrun/gbe-func.c (gbe_func_asc, gbe_func_lcase, gbe_func_ucase): Implemented.
	(gbe_func_ltrim, gbe_func_rtrim, gbe_func_trim): Implemented.
	(gbe_func_instr, gbe_func_space, gbe_func_string): Implemented

	* test/execme.gba : Expanded to test new funcs.
	
2000-01-30  Michael Meeks  <mmeeks@gnu.org>

	* gbrun/gbe-value.c (gbe_value_promote): change semantics so
	it always allocates new copies; was too buggy any other way.

	* gbrun/gbe-main.c (gbrun_routine): fix memory leak.
	(init_vars): kull; unused.

	* gbrun/gbe-object.c (parse_arg): add optional / byref parsing.
	(parse_security): implement.

	* gbrun/gbe-func.c (gbe_sub_print): re-engineer.
	(gbe_sub_msgbox): make it an args function.

	* gbrun/gbe-object.c (gbe_method_invoke_var): kill complexity.

	* gbrun/gbe-value.c (gbe_value_promote_name): implement.
	(gbe_value_promote): Expand scope.

	* gbrun/gbe-object.c (gbe_method_invoke_vb): promote value types on
	parameters. (gbe_method_invoke_arg): promote parameters.


	* gbrun/gbe-value.c (gbe_value_promote): promote numbers to strings.

2000-01-30  Michael Meeks  <michael@mejm2.dow.cam.ac.uk>

	* gb/gb-lex.c (gb_lex): rename.

	* gb/Makefile.am: Rename yy* to gb_*

	* gb/gb-main.c: ditto.

2000-01-30  Ariel Rios     <ariel@arcavia.com>

	* test/Makefile.am: Corrected typo.

2000-01-28  Michael Meeks  <mmeeks@gnu.org>

	* gbrun/gbe-value.c (alloc_array, gbe_value_new_array): implement.

2000-01-27  Michael Meeks  <mmeeks@gnu.org>

	* gbrun/gbe-object.c (gbe_setup_vars): make public.
	(gbe_method_invoke_vb): use it.

	* gbrun/gbe-main.c (gbrun_context_new): use it.

	* gbrun/gbe-value.c (gbe_value_array_lookup): stub.

	* main.c (parse_file): improve parser error messages.

	* gb-main.c (gb_index_new): implement.

	* grammar.y: add v_array. (subscripts, opt_subscripts): sort

	* execme.gba: Fix so it runs.

2000-01-26  Michael Meeks  <michael@edenproject.org>

	* gbrun/gbe-func.c (gbe_func_filelen): implement.

2000-01-25  Michael Meeks  <michael@edenproject.org>

	* gbrun/gbe-eval.c (gbe_exception_fire): improve stack trace.

	* gbrun/gbe-stack.c (gbe_stack_dump): dump the stack in
	the other sense.

	* gbrun/gbe-object.c (gbe_method_invoke_vb): Implement.
	(parse_arg_desc): setup method->is_sub correctly.

	* gbrun/gbe-eval.h (GBEEvalContext): add security flags.

	* gbrun/gbe-main.c (gbrun_context_new): Create + setup module level
	variables + security. (gbrun_context_destroy): implement.
	(add_routines): implement.
	(gbrun_routine): savage, moving most code to method_invoke.

	* gbrun/gbe-object.c (gbe_method_invoke): expand + use switch.
	implement security.
	(gbe_method_invoke_arg, gbe_method_invoke_arg): improve exceptions.

	* gb-main.c (gb_routine_start): Add args.

	* main.c (cb_exec): kill. (main): update to allow specifying
	the routine. (gb_popts): Kill --exec.

	* gbrun/gbe-object.c (parse_arg): make def_val an expr.

	* gb-expr.c (gb_arg_desc_new): make def_value an Expr.

	* grammar.y (opt_arglist, arglist, arg, opt_default, as_type),
	(opt_default, declare_routine): fixup.

2000-01-24  Michael Meeks  <michael@edenproject.org>

	* gbrun/gbe-func.c (gbe_func_shell): use gnome_execute_shell.
	(gbe_func_strcomp): expand to use optional arg.

	* gbrun/gbe-object.c (gbe_object_add_method_arg),
	(gbe_object_add_method_var): rewrite.
	(parse_arg_desc): Rename & re-implement.
	(parse_arg): rewrite & rename.
	(parse_security): stub.
	(gbe_method_invoke_arg): Implement; correctly pass object refs.
	(gbe_method_invoke_var): implement split from (gbe_method_invoke): here.

	* gbrun/gbe-func.c (gbe_func_register): update all function
	registration & descriptions.

	* docs/ArgDescription.doc: update.

	* gb.h: Kill GbFuncCall + GBParam forwards.

	* gbrun/gbe-func.h (gbe_func_shutdown): kill gbe_func_call.

	* gbrun/gbe.h: add SecurityFlag.

	* gbrun/gbe-func.c (gbe_sub_msgbox): implement.

	* main.c (main): init gnome + use popt.

	* configure.in: Add gnome libs. INIT_AUTOMAKE: kill nodefine.

	* gbrun/Makefile.am (CFLAGS): add gnome libs.

	* Makefile.am: ditto.

	* acconfig.h: Add.

2000-01-23  Michael Meeks  <michael@edenproject.org>

	* gbrun/gbe-value.c (gbe_value_imp): killed warning.

	* gb-expr.h (GB_EXPR_BINARY_NUMERIC): remove Imp.

	* gbrun/gbe-stmt.c: use gbe_value_promote for assignments.
	(gbe_stmt_evaluate): update exception handling.

	* gb-value.h (GB_VALUE_*): Add bounds macros.

	* gb-value.c (gb_value_type_name, find_name_cb): implement.
	(gb_value_new_byte): implement.

	* gbrun/gbe-value.c (gbe_value_promote): hack up.

	* execme.gba: Add prime number calculator

	* gb-value.c (gb_value_get_as_string): implement booleans.

	* gbrun/gbe-eval.c (gbe_eval_unary): implement GB_EXPR_PAREN.

	* gbrun/gbe-func.c (gbe_func_log): use exceptions.
	s/context/ec/: standard abbreviations help readability.

	* grammar.y (else_body): update if stmt. condition.
	(statement): GB_IF ditto

	* gb-statement.c (gb_statement_new_if): kill const on else_body.
	(gb_stmts_destroy, gb_stmt_destroy): implement.
	(gb_stmt_if_set_cond): add const + rename from
	(gb_statement_set_condition): gone.

2000-01-19  Ariel Rios  <ariel@arcavia.com>

	* gbrun/gbe-object.h: Created _GBEArgStruct. At this moment we still
	  have the old system operating.
	* gbrun/gbe.h: Added GBEArgStruct that will replace GBEArgList.

2000-01-17  Ravi Pratap <ravi_pratap@email.com>

       * gbe-main.c: Fixed bug which causes a warning when
       there are no variables defined.

       * keywords.gperf: Fixed some entries like ByVal to Byval so
       that correct_case works perfectly.

2000-01-17  Amaury JACQUOT <sxpert@sxpert.dyndns.org>

       * grammar.y: Add handling of else
       (else_body): changed type to statement list (and changed the elseif 
	case accordingly, but doesn't work because of a case independance bug)
       (else_end): created. represents the 'else ... [end if]' statement. 
	type is also list

       * gb-statement.h: changed else_body to GSList*
       (gb_statement_new_if) changed prototype to take a GSList for else_body

       * gb-statement.c: various changes to accomodate the above
       (gb_statement_new_if) else_body is now a GSList
       (gb_stmt_print) printing else_body with gb_stmts_print

       * gbrun/gbe-stmt.c: changed the execution of the IF to handle 
	else_body as a list
       Note : the second conditionnal in GBS_IF IS needed...

2000-01-17  Ariel Rios  <ariel@arcavia.com>

	* docs: Added document directory.

2000-01-16  Amaury JACQUOT <sxpert@sxpert.dyndns.org>

	* grammar.y: Add True/False

	* keywords.gperf: ditto.

2000-01-13  Ariel Rios  <ariel@arcavia.com>

	* gbrun/gbe-func.c (gbe_func_sgn): Added.
	(gbe_func_register): Added registration of gbe_func_sgn

2000-01-13  Ariel Rios  <ariel@arcavia.com>

	* gbrun/gbe-func.c (gbe_func_shell): Added.
	(gbe_func_log): Replaced g_error with g_warning. We still need
	to implement gb_error and gb_warning.
	(gbe_func_register): Added registration of gbe_func_shell.
	* gb-expr.h: Corrected wrong GBBoolean definition.

2000-01-13  Amaury JACQUOT <sxpert@sxpert.dyndns.org>

	* exeme.gba: Add 'Else' test cases.

	* gb-expr.c (gb_expr_new_boolean): Implement.

	* gb-lex.c (yylex): Added some debug.

2000-01-13  Michael Meeks  <mmeeks@gnu.org>

	* keywords.gperf (gb_is_keyword): Fix memory leak.

2000-01-11  Ravi Pratap    <ravi_pratap@email.com>

	* keywords.gperf:  Added a function to kill case sensitivity.
	Removed certain definitions that aren't keywords. eg. Mid 

	* gbrun/gb-stmt.c: Took care of warning 'discarding const'.

	* main.c: Squashed core dump bug for non-existent filename.

2000-01-12  Ariel Rios  <ariel@arcavia.com>

	* gbrun/gbe-func.c (gbe_func_log): Added.
	  (gbe_func_register): gbe_func_log was added.

2000-01-12 Ariel Rios  <ariel@arcavia.com>

	* gbrun/gbe-func.c (gbe_func_hex): Added.
	(gbe_func_register): gbe_func_hex was registered.

2000-01-11 Frank Chiulli  <fc-linux@home.com>

	* Makefile.am: Updated comments about gperf flags.

	* configure.in: Removed duplicate check for glib 1.1.16 or later.
	  Added additional checks for gperf 2.7 or later, header files and 
	  functions.

	* gb-expr.c (gb-expr-print): Correctly align oper_names with enum type
	  GBExprType in gb-expr.h.

	* object.gperf (gb_is_object): Correct arguments.  Should be only one.
	
	* macros/Makefile.am: Added gperf-check.m4 to list of macros.

	* macros/gperf-check.m4: New.  This macro checks for a minimum version
	  of gperf.

2000-01-10 Ariel Rios   <ariel@arcavia.com>

	* execme.gba: Updated.

	* gbrun/gbe-func.c (gbe_func_abs): Added.
	  (gbe_func_add). Removed.
	  (gbe_func_register): Added registration for gbe_func_abs and
          remove gbe_func_add.

2000-01-10  Michael Meeks  <mmeeks@gnu.org>

	* gb.h: Add signs to GBLong, GBInt

2000-01-09  Ariel Rios  <ariel@arcavia.com>
 
	* gbrun/gbe-func.c (gbe_func_chr): Added.
	  (gbe_func_register): Added registration for
	   gbe_func_chr.

2000-01-09  Ariel Rios  <ariel@arcavia.com>

	* gbrun/gbe-func.c (gbe_func_atan): Added.
	(gbe_func_exp) Ditto.
	(gbe_func_sqr) Ditto.
	(gbe_func_register): Added registration for 
	gbe_func_atan, gbe_func_exp and gbe_func_sqr.

	* gb-expr.h (GB_EXPR_COMPARE): Removed GB_EXPR_SUB and
	  removed problem with the '-' operator.

	* TODO: Updated.

2000-01-07  Michael Meeks  <mmeeks@gnu.org>

	* gbrun/gbe-object.c (value_object_copy, value_object_destroy): implement.
	(gbe_object_new): setup object ref-count correctly.

	* gbrun/gbe-object.h: Redefine GBEObjValue GBObject.

	* gb.h: Forward define GBObject.

2000-01-07  Michael Meeks  <mmeeks@gnu.org>

	* gbrun/gbe-stmt.c (gbe_stmt_evaluate): fixup Else.

	* gb-statement.h: kill comment.

2000-01-07  Amaury JACQUOT <sxpert@sxpert.dyndns.org>

	* gbrun/gbe-stmt.c (gbe_stmt_evaluate): implement 'If'

	* gb-value.c (gb_value_get_as_boolean): implement.

	* gb-value.h: add it to header.

	* gb-statement.h: add comment on else_body.

2000-01-05  Michael Meeks  <mmeeks@gnu.org>

	* grammar.y: Fix strange conflicts, I know not how.

	* gbrun/gbe-stmt.c (gbe_stmt_assignv): clean + implement
	property setting.

	* gbrun/gbe-object.c: Kill the 'VALUE_OBJREF' abomination.
	(gbe_value_obj_get_obj): implement.

	* gb-value.[ch]: ditto.

2000-01-04  Michael Meeks  <mmeeks@gnu.org>

	* gb-expr.c (gb_expr_new_func_call): kill.
	(gb_expr_new_obj_list): rename.

	* Massive object re-write.
	
	* gbrun/gbe-main.c (init_vars): object stacking.

	* gb-value.c (gb_value_destroy): expand.
	(gb_value_new_object): add. (gb_value_new_objref_name): rework.

2000-01-03  Michael Meeks  <mmeeks@gnu.org>

	* gb-main.c (gb_decl_var): add 'object' parameter.

	* keywords.gperf: add 'New'

	* gbrun/gbe-func.c: Add 'Form' object to debug.

	* gbrun/gbe-object.c (gbe_object_set_arg, gbe_object_get_arg): Implement.

	* gbrun/gbe-eval.c (gbe_exception_firev): implement.

2000-01-01  Michael Meeks  <mmeeks@gnu.org>

	* gbrun/gbe-object.h: Major re-write.

	* gbrun/gbe-object.c: Major re-write + extend to object system.

1999-12-30  Michael Meeks  <mmeeks@gnu.org>

	* gbrun/gbe-func.c: Handle exceptions.

	* gb-value.c (gb_value_destroy): silent toleration of NULL.

	* gbrun/gbe-func.c (gbe_func_call): fix huge leaks + pass exceptions.

	* grammar.y (statment): Kill 'objref' as a valid statement, add
	'sub_call'

1999-12-29  Michael Meeks  <mmeeks@gnu.org>

	* gbrun/gbe-object.c (gbe_object_parse_arg): use value_type_from_name

	* gb-value.c (gb_value_destroy): fixup strings.
	(gb_value_new_default, gb_value_type_from_name): type helpers.
	(gb_value_init): add 'String'

1999-12-29  Thomas Meeks  <meekte95@christs-hospital.org.uk>

	* gbrun/gbe-func.c (gbe_func_len, gbe_func_left, gbe_func_mid, gbe_func_right),
	(gbe_func_tan, gbe_func_cos, gbe_func_sin): Implemented functions

1999-12-29  Michael Meeks  <mmeeks@gnu.org>

	* gb-expr.c (gb_expr_destroy): destroy func_call.

	* gbrun/gbe-func.c (gbe_func_call): implemented, moved from

	* gbrun/gbe-object.c (gbe_object_exec): here.

	* gb-statement.c (gb_stmt_new_call): kill func.parms.

	* Makefile.am (YFLAGS): kill '-v'; causing problems.

1999-12-29  Michael Meeks  <mmeeks@gnu.org>
	
	* gb-lex.c (yylex): indent + kill '"'s in strings.

	* gb-value.c (gb_value_copy): copy the type correctly.

	* gbrun/gbe-func.c (gbe_func_print): implement.

	* gbrun/gbe-object.c (gbe_object_exec): implement multi-arg methods.

	* gbrun/gbe-func.c (gbe_func_add): rename.
	(gbe_func_register): update.

	* main.c (main): free the module after use.

	* gb-value.c (gb_value_init): expand to setup type->name hash.
	(add_type_map, kill_name_type_map, gb_value_shutdown): ditto.
	(gb_value_new_default_type): implement.

	* gbrun/gbe-main.c (init_vars): implement.
	(gbrun_routine): add hooks.

	* gb-main.c (gb_routine_finish): disable debug print.
	(gb_routine_start): fix bug adding name to hash.

	* main.c (parse_file): close the file.

	* grammar.y: get 'bodmas' righter.

1999-12-28  Michael Meeks  <mmeeks@gnu.org>

	* gb-value.h (GB_VALUE_IS_NUMBER): Fix.

	* gbrun/gbe-value.[ch]: Create.
	
	* gbrun/gbe-eval.c (gbe_eval_unary, gb_eval_binary): Update to new
	gbe_value manipulators.

	* gb-value.c (gb_value_new_objref_name): hack.

	* gb-expr.c (gb_objref_new): store arguments in the correct order.

	* gb-value.c (gb_value_print): hack up VALUE_OBJREF dump.

	* gb-expr.c (gb_objref_print): Don't reverse the parameters on the
	objref !

	* gbrun/gbe-eval.c (gbe_eval_expr): lvalue's treated differently.

	* gbrun/gbe-object.c (gbe_object_exec): pass on the context.

	* gbrun/gbe-stmt.c (gbe_stmt_evaluate): Push EvalContext.
	(gbe_stmt_assignv, gbe_stmt_assign): implement.

	* gbrun/gbe-eval.c: Rename all functions -> 'gbe' + push EvalContext
	through.

1999-12-28  Michael Meeks  <mmeeks@gnu.org>

	* gbrun/gbe-object.c (gbe_object_exec): implement.
	(gbe_object_get_element): implement.

	* gb-expr.c (gb_objref_print): hack wierd redundant code. cut
	dereferencing down to 1 level. Recurse via gb_expr_print, this was
	_so_ broken.

	* grammar.y: fix stupid bug, nexting an objref inside a unary op.

	* gb-expr.c (gb_objref_new): add g_strdup.

	* gbrun/gbe-stmt.c (gbe_stmt_evaluate): hack assignment in;
	ugly code. Hack stack in.

	* gbrun/gbe-stack.c (gbe_stack_lookup): return a pointer
	to the value *. (gbe_stack_new): Setup an initial level.

	* gbrun/gbe-main.c (gbrun_routine): add stack.

	* gb-value.c (gb_value_new_objref): hack up.

	* gbrun/gbe-stmt.c (gbe_stmt_evaluate): default step of 1.

1999-12-27  Michael Meeks  <mmeeks@gnu.org>

	* main.c (main): Add gbrun hooks + '-exec'

	* gb-statement.c (gb_stmts_evaluate, gb_stmt_evaluate): Move to
	gbrun/gbe-stmt.c

	* gb-eval.[ch]: move to gbrun/

	* configure.in: add gbrun.

	* gbe/: create + populate
	
	* gb-stack.c: Created.

	* gb-stack.h: Created.
	
	* gb-value.c (gb_value_get_as_int): implement.
	fix broken constification.

	* gb-object.c (gb_object_parse_arg): add VALUE_EMPTY.
	(gb_object_add_method_var, gb_object_add_method_arg): implement.

	* gb-func.c (gb_func_register): implement.
	(gb_func_sub): implement.

	* gb-func.h: create.

	* gb-object.h: Add GBMethodArg/Var, rename GBArg to GBArgDesc.

1999-12-26  Michael Meeks  <mmeeks@gnu.org>

	* gb-object.c (gb_object_register): re-implement + document.
	(gb_object_add_property, gb_object_add_method): implement.
	(gb_object_parse_arg): implement.
	(gb_object_parse_arg_desc): implement.

1999-12-25  Michael Meeks  <mmeeks@gnu.org>

	* gb-object.h: fix style. s/classname/name/

	* gb-object.c (gb_object_register): s/class/klass/
	s/char const/const char/

	* gb-object.c (gb_object_lookup): Return the Class pointer:
	more useful.

1999-12-14  Ravi Pratap	<ravi_pratap@email.com>

	* gb-object.h:		Put in function definitions etc.
	
	* gb-object.c:		Wrote code for helper functions. Seems okay

	* gb-value.h:		Included <stdio.h> 

1999-12-10  Ravi Pratap	<ravi_pratap@email.com>

	* gb-object.h:		Created to handle the Object Registry. 
		
	* gb-object.c:		Created to handle the Object Registry.
	
	* Makefile.am:	Modified to include the two new files.

1999-12-09  Ravi Pratap	<ravi_pratap@email.com>
	
	* grammar.y:	object_ref rule revamped. Now object_refs are parsed as expressions
	
	* gb-expr.h:   	  GBObjRef redesigned. Removed GBParm. Removed a lot of functions
													
	* gb-expr.c:	  	Rewrote a few functions to handle the new struct design

	* gb-statement.c: Changed functions to accept GBExpr instead of GBObjRef. Changed GBStatement struct to use
	GBExpr instead of GBObjRef in a few constructs.
	
	* Basically, in a lot of places where GBObjRef was earlier used, GBExpr is now used. 

1999-12-01  Ravi Pratap	<ravi_pratap@email.com>

	* keywords.gperf:	Put in definition for keyword New. 
	Had to change key positions as it caused a duplicate value. Fix it, Michael.

1999-11-30  Ravi Pratap <ravi_pratap@email.com>

	* keywords.gperf: Define GB_STEP.

	* grammar.y: Defined GB_STEP changed 'type's action to
	use gb_is_type.

	* Makefile.am: Small cleans.

1999-10-31  Michael Meeks  <mmeeks@gnu.org>

	* configure.in (GB_VERSION): fixup %->$

	* Makefile.am: Add gbConf.sh support + libtoolify.

1999-09-01  Jody Goldberg <jgoldberg@home.com>

	* gb-main.c (gb_routine_start) : Begin testing for duplicates.

1999-08-14  Michael Meeks  <michael@imaginator.com>

	* gb-value.c (gb_value_shutdown): Remove redundant consts.
	(gb_value_xor): Simplify : Thanks to Morten for both suggestions.

1999-08-13  Jody Goldberg <jgoldberg@home.com>

	* gb-statement.c (gb_stmt_print) : Handle GBS_IF,
	(gb_stmt_accumulate) : New utility to handle NULL statements
	  and warn us later.
	(gb_statement_new_if, gb_statement_if_set_condition) : New routines
	  to handle if/elseif/else.

	* gb-expr.c (gb_expr_print) : Switch to more 'C'ish operator names.

1999-08-12  Michael Meeks  <michael@imaginator.com>

	* gb-statement.c (gb_stmt_evaluate): 'while' implemented.
	Various bits stubbed.

	* gb-value.h: Nasty conditional compilation thing
	round const struct * const values.

	* main.c (main): Added init & shutdown.

	* gb-main.c (gb_init, gb_shutdown): ditto.

	* gb-value.c (gb_value_init, gb_value_shutdown): ditto.

1999-08-12  Michael Meeks  <michael@imaginator.com>

	* gb-value.c (gb_value_pow): Remove 'int' that slipped in.

	* gb-statement.c (gb_stmts_evaluate, gb_stmt_evaluate):
	Started.

	* gb-expr.c (gb_objref_assign): Skeleton.

1999-08-12  Michael Meeks  <michael@imaginator.com>

	* gb-value.c (gb_value_imp, gb_value_and, gb_value_or),
	(gb_value_xor): Implemented.

	* gb-eval.c (gb_eval_binary): and, or, xor, imp.

1999-08-11  Michael Meeks  <michael@imaginator.com>

	* gb-value.c (gb_value_neg, gb_value_not): Implemented

	* gb-eval.c (gb_eval_binary): Implemented.
	(gb_eval_expr): Started.

1999-08-11  Michael Meeks  <michael@imaginator.com>

	* gb-value.c (gb_value_concat, gb_value_eqv): Implemented.

	* gb-value.[ch]: Split lots of gb_eval_binary into gb-value
	helper functions.

	* Makefile.am (gb_LDADD): Add math library

	* gb-expr.h (GB_EXPR_BINARY_COMMUTE): Remove, bad idea anyway.

	* gb-expr.c (gb_eval_compare): split from gb_eval_binary.

1999-08-11  Jody Goldberg <jgoldberg@home.com>

	* gb-statement.c : Empty loops are ok.

1999-08-11  Michael Meeks  <michael@imaginator.com>

	* gb-eval.c (gb_eval_binary): Fixed up to return booleans.

	* gb-value.h: Fleshed out the types a lot.

1999-08-10  Jody Goldberg <jgoldberg@home.com>

	* gb-statement.c (gb_stmt_new_do_while) : Support while (TRUE)
	  style loops.
	(gb_stmt_print) : Add missing break;

	* main.c (dump_file) : take care to close file descriptors
	  when an error occurs.

	* grammar.y : support for named parameters.  more work on
	  one-line syntax for if.

1999-08-10  Michael Meeks  <michael@imaginator.com>

	* main.c (dump_file): Extracted guts of main into here.
	(main): Take multiple file arguments.

	* gb-value.c (gb_value_new_string_chars): Fixed up.
	(gb_value_get_as_string): Implemented.

	* gb-value.h: Changed to GString const *

	* gb-value.[ch]: Fixed so types have just plain GB prefix.

1999-08-10  Jody Goldberg <jgoldberg@home.com>

	* gb-statement.[ch], grammar.y, gb-module.[ch]: 
	  1st pass at providing valid output code for with
	  statements.
	
1999-08-10  Jody Goldberg <jgoldberg@home.com>

	* gb-statement.[ch], grammar.y : Add with, foreach, do {while,until}.
	  Use sink, rather than stdout.
	
1999-08-10  Michael Meeks  <michael@imaginator.com>

	* gb-value.c (gb_value_get_as_double): Fixed return type
	(gb_value_get_as_long): Implemented.

	* gb-eval.c (gb_eval_binary): Fix moronic bug,
	Implement more expr types.

1999-08-10  Jody Goldberg <jgoldberg@home.com>

	* properties.gperf, gb-main.h :  Add some properties
	  that did not show up in the primary doc index as properties.

	* object-db.[ch], object.gperf : 1st pass at an object -> property
	  mapping.  Still much typing to do to specify what the properties
	  are.

	* gb-statement.c (gb_statement_print) : Print subroutine
	  parameters too.

1999-08-10  Michael Meeks  <michael@imaginator.com>

	* Makefile.am: Add gb-eval.[ch]

	* gb-eval.[ch]: Create.

	* gb-expr.h: Add BINARY_NUMERIC, BINARY_COMMUTE: these
	can be drasticaly optimised later by intelligent enum
	values.

	* gb-value.h: Add GB_VALUE_IS_NUMBER, printf -> print,
	better constification.

	* gb-value.c (gb_value_destroy): cast to non-const to free.
	(gb_value_get_as_double): Implemented.

1999-08-09  Jody Goldberg <jgoldberg@home.com>

	* gb-value.c : Revert to char const * from GString
	  until we can figure out how to null terminate the input
	  strings without duplicating copies.

	* object.gperf : Add gb_is_object.

	* gb-statement.[ch] : Add forloop.
	  GBStatementType renumber to multiples of 10 so that it acts
	  as a signature.

	* grammar.y : Add forloops, ObjectTypes, keep statement lists.
	  Expand statement grouping to more constructs.

1999-08-09  Michael Meeks  <michael@imaginator.com>

	* gb-value.c (gb_value_new_string_chars): Fix stupid bug.
	(gb_value_new_string): Fix precondition returns (-Wall rocks).

	* Makefile.am (CFLAGS): Add -g -Wall for now.

1999-08-09  Michael Meeks  <michael@imaginator.com>

	* gb-expr.c: Re-hashed all the value based expr.
	functions.

	* gb-expr.h: Updated GBExpr to include GBValue.

	* gb-value.[ch]: Created.

1999-08-09  Michael Meeks  <michael@imaginator.com>

	* autogen.sh: Use all the clever GNOME macros instead.

1999-08-09  Michael Meeks  <michael@imaginator.com>

	* Makefile.am (libgb_a_SOURCES): Add gb-statement &
	remove libgb.c

1999-08-09  Jody Goldberg <jgoldberg@home.com>

	* grammar.y : Clean up object references a bit

	* gb-expr.c : Add GBObjRef support.

	* gb-statement.c : Quicky dump routines to test things.

1999-08-09  Michael Meeks  <michael@imaginator.com>

	* Makefile.am: Sorted out most of the problems.

1999-08-08  Jody Goldberg <jgoldberg@home.com>

	* grammar.y : Add one_line syntax for if statements.
	  Add beginings of do { While/Until } Loop.

	* keywords.gperf : Add Until.

1999-08-07  Jody Goldberg <jgoldberg@home.com>

	* gb-expr.[ch] : New file.  Begin handling creating/dumping expressions.
          No dereferencing or function calls yet.

	* gb-lex.c : handle '.' differently depending on whether it is the
	  start of a dereferencing chain.

	* grammar.y : Major changes to function calls.  1st pass at
	  creating expressions so we can see how things are nesting.

1999-08-05  Jody Goldberg <jgoldberg@home.com>

	* keywords.gperf : Reclassify AppActivate/ChDir/ChDrive as functions.
	  Why does MS call them statements ?

	* grammar.y : Fine tune operator precedence.

	* gb-main.c : Add preliminary variable & routine dictionaries.

	* gb-lex.c (yylex) : Add '#'

1999-08-04  Jody Goldberg <jgoldberg@home.com>

	* Makefile : split into gb and libgb.a

	* gb-lex.c : correct typo in integer/float scanner.

	* libgb.h : Rough out some interfaces.

	* main.c (main) : Add optional -debug argument.

	* gb-main.h : Start tooling up for objects, variables, and functions.
	  Rename some things to make more sense.

	* grammar.y : Add array subscripting, Const declarations, 'Date' is a
	  keyword. Beep, Date.
	  
