• 0's avatar
    Free the record that tracks the allocation records. (alloc_clean): Handle · 69def31c
    0 authored
    1998-07-30    <miguel@nuclecu.unam.mx>
    
    	* src/parser.y (alloc_clean): Free the record that tracks the
    	allocation records.
    	(alloc_clean): Handle Strings.
    	(alloc_list_free): New function: cleans up the allocation list.
    
    	* src/gnumeric-sheet.c (gnumeric_sheet_load_cell_val): Fix to use
    	the new Strings.
    
    	* src/cell.h: Use the new Strings instead of the Symbols.  That
    	was just a stupid idea.
    
    	* src/str.c (string_ref): New file:  Implements string sharing.
    
    	* src/symbol.c (symbol_install): Use our copy of the allocated key
    	when installing the symbol.
    
    1998-07-29    <miguel@nuclecu.unam.mx>
    
    	* src/symbol.c (symbol_unref_ptr): New function that does symbol
    	unreferencing and if the reference count reaches zero, it also
    	sets the value pointed to NULL.
    
    	* src/sheet.c (cell_set_text): Release evaluation tree after
    	entering new contents in a cell.
    
    	* src/sheet.h (Cell): We now keep all of the character information
    	as refcounted Symbols.
    
    	* src/expr.c (eval_node_release): Renamed and made static.  New
    	allocation strategy: EvalTree's top node are now refcounted to
    	simplify cell duplication.
    	(eval_expr): Now it takes column and row arguments for evaluating
    	the expression in that context.
    	(expr_parse_string): Same.
    
    	* src/parser.y: Renamed EvalNode to EvalTree.
    	(return_cellref): CellRefs now contain offsets relative to the
    	current column/row if the references are not absolute.
    
    	* src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible): Use new
    	helper routines for doing the scrolling.  Scroll vertically.
    	(gnumeric_sheet_set_top_row, gnumeric_sheet_set_top_col): New
    	routines for keeping the contents of the canvas and the bars in
    	sync.
    	(gnumeric_sheet_new): Take the ItemBars for the columns and rows
    	as a parameter now.
    
    	* src/sheet.c (sheet_select_all): New routine: select the complete spreadsheet.
    
    	* src/item-bar.c (item_bar_class_init): Signal now takes an extra
    	argument which indicates the beginning of a column selection.
    
    	* src/sheet.c (sheet_selection_col_extend_to,
    	sheet_selection_row_extend_to): New methods for implementing the
    	extending column and row selection.
    	(sheet_row_selection_changed, sheet_col_selection_changed): Now
    	they use the new parameter to start the selection.
    69def31c
test-parser.c 648 Bytes