diff -crN ./gok/gok/arraylist.c /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/arraylist.c
*** ./gok/gok/arraylist.c	Fri Oct 11 20:00:04 2002
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/arraylist.c	Fri Nov 21 10:16:36 2003
***************
*** 38,44 ****
    int _current_capacity;
    Object *_data;
    int _size;
!   const Boolean (*_equals)();
  };
  
  
--- 38,44 ----
    int _current_capacity;
    Object *_data;
    int _size;
!   Boolean (*_equals)();
  };
  
  
***************
*** 54,60 ****
    free(list);
  }
  
! Arraylist arraylist_create(const Boolean (*equals)(const Object object_1, const Object object_2))
  {
    Arraylist list;
  
--- 54,60 ----
    free(list);
  }
  
! Arraylist arraylist_create(Boolean (*equals)(const Object object_1, const Object object_2))
  {
    Arraylist list;
  
***************
*** 170,176 ****
    list->_size = 0;
  }
  
! void arraylist_sort(const Arraylist list, const int (*compare)(const Object object_1, const Object object_2))
  {
    qsort(list->_data,
  	arraylist_size(list),
--- 170,176 ----
    list->_size = 0;
  }
  
! void arraylist_sort(const Arraylist list, int (*compare)(const Object object_1, const Object object_2))
  {
    qsort(list->_data,
  	arraylist_size(list),
diff -crN ./gok/gok/arraylist.h /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/arraylist.h
*** ./gok/gok/arraylist.h	Fri Oct 11 20:00:04 2002
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/arraylist.h	Fri Nov 21 10:17:12 2003
***************
*** 52,58 ****
    function declarations
  */
  void arraylist_free(const Arraylist list);
! Arraylist arraylist_create(const Boolean (*equals)(const Object object_1, const Object object_2));
  Boolean arraylist_add(const Arraylist list, Object object);
  Boolean arraylist_remove(const Arraylist list, const Object object);
  Boolean arraylist_contains(const Arraylist list, const Object object);
--- 52,58 ----
    function declarations
  */
  void arraylist_free(const Arraylist list);
! Arraylist arraylist_create(Boolean (*equals)(const Object object_1, const Object object_2));
  Boolean arraylist_add(const Arraylist list, Object object);
  Boolean arraylist_remove(const Arraylist list, const Object object);
  Boolean arraylist_contains(const Arraylist list, const Object object);
***************
*** 61,67 ****
  int arraylist_size(const Arraylist list);
  Object arraylist_get(const Arraylist list, const int index);
  void arraylist_clear(const Arraylist list);
! void arraylist_sort(const Arraylist list, const int (*compare)(const Object object_1, const Object object_2));
  
  
  #endif /* __defined_arraylist_h */
--- 61,67 ----
  int arraylist_size(const Arraylist list);
  Object arraylist_get(const Arraylist list, const int index);
  void arraylist_clear(const Arraylist list);
! void arraylist_sort(const Arraylist list, int (*compare)(const Object object_1, const Object object_2));
  
  
  #endif /* __defined_arraylist_h */
diff -crN ./gok/gok/command-edge.c /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/command-edge.c
*** ./gok/gok/command-edge.c	Fri Oct 11 20:00:04 2002
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/command-edge.c	Fri Nov 21 10:19:17 2003
***************
*** 42,48 ****
  };
  
  
! const Boolean command_edge_equals(const Object edge_1, const Object edge_2)
  {
    return (command_vertex_equals(command_edge_get_next_vertex((Command_Edge)edge_1),
  				command_edge_get_next_vertex((Command_Edge)edge_2)));
--- 42,48 ----
  };
  
  
! Boolean command_edge_equals(const Object edge_1, const Object edge_2)
  {
    return (command_vertex_equals(command_edge_get_next_vertex((Command_Edge)edge_1),
  				command_edge_get_next_vertex((Command_Edge)edge_2)));
***************
*** 75,86 ****
    edge->_edge_data = edge_data;
  }
  
! const Command_Edge_Data command_edge_get_edge_data(const Command_Edge edge)
  {
    return edge->_edge_data;
  }
  
! const Command_Vertex command_edge_get_next_vertex(const Command_Edge edge)
  {
    return edge->_next_vertex;
  }
--- 75,86 ----
    edge->_edge_data = edge_data;
  }
  
! Command_Edge_Data command_edge_get_edge_data(const Command_Edge edge)
  {
    return edge->_edge_data;
  }
  
! Command_Vertex command_edge_get_next_vertex(const Command_Edge edge)
  {
    return edge->_next_vertex;
  }
diff -crN ./gok/gok/command-edge.h /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/command-edge.h
*** ./gok/gok/command-edge.h	Fri Oct 11 20:00:04 2002
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/command-edge.h	Fri Nov 21 10:20:01 2003
***************
*** 32,43 ****
  /*
    function declarations
  */
! const Boolean command_edge_equals(const Object edge_1, const Object edge_2);
  void command_edge_free(const Command_Edge edge);
  Command_Edge command_edge_create(const Command_Vertex next_vertex, const Command_Edge_Data edge_data);
  void command_edge_set_edge_data(const Command_Edge edge, const Command_Edge_Data edge_data);
! const Command_Edge_Data command_edge_get_edge_data(const Command_Edge edge);
! const Command_Vertex command_edge_get_next_vertex(const Command_Edge edge);
  void command_edge_dump_text(const Command_Edge edge, FILE *stream);
  void command_edge_dump_binary(const Command_Edge edge, FILE *stream);
  
--- 32,43 ----
  /*
    function declarations
  */
! Boolean command_edge_equals(const Object edge_1, const Object edge_2);
  void command_edge_free(const Command_Edge edge);
  Command_Edge command_edge_create(const Command_Vertex next_vertex, const Command_Edge_Data edge_data);
  void command_edge_set_edge_data(const Command_Edge edge, const Command_Edge_Data edge_data);
! Command_Edge_Data command_edge_get_edge_data(const Command_Edge edge);
! Command_Vertex command_edge_get_next_vertex(const Command_Edge edge);
  void command_edge_dump_text(const Command_Edge edge, FILE *stream);
  void command_edge_dump_binary(const Command_Edge edge, FILE *stream);
  
diff -crN ./gok/gok/command-graph.c /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/command-graph.c
*** ./gok/gok/command-graph.c	Fri Oct 11 20:00:04 2002
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/command-graph.c	Fri Nov 21 10:20:37 2003
***************
*** 53,60 ****
    private function declarations
  */
  static void remove_inbound_edges(const Arraylist vertices_list, const Command_Vertex the_vertex);
! static const int command_vertex_weight_sort(const Object vertex_1, const Object vertex_2);
! static const int command_vertex_keyboard_sort(const Object vertex_1, const Object vertex_2);
  static void remove_vertices(const Command_Graph graph);
  static void shift_command_vertex_history(const Command_Graph graph, const Command_Vertex vertex);
  static void create_vertices(const Command_Graph graph, char *buffer_ptr, const char *end_of_buffer);
--- 53,60 ----
    private function declarations
  */
  static void remove_inbound_edges(const Arraylist vertices_list, const Command_Vertex the_vertex);
! static int command_vertex_weight_sort(const Object vertex_1, const Object vertex_2);
! static int command_vertex_keyboard_sort(const Object vertex_1, const Object vertex_2);
  static void remove_vertices(const Command_Graph graph);
  static void shift_command_vertex_history(const Command_Graph graph, const Command_Vertex vertex);
  static void create_vertices(const Command_Graph graph, char *buffer_ptr, const char *end_of_buffer);
***************
*** 235,241 ****
    arraylist_sort(command_graph_get_vertices(graph), command_vertex_weight_sort);
  }
  
! static const int command_vertex_weight_sort(const Object vertex_1, const Object vertex_2)
  {
    float vertex_weight_1;
    float vertex_weight_2;
--- 235,241 ----
    arraylist_sort(command_graph_get_vertices(graph), command_vertex_weight_sort);
  }
  
! static int command_vertex_weight_sort(const Object vertex_1, const Object vertex_2)
  {
    float vertex_weight_1;
    float vertex_weight_2;
***************
*** 251,257 ****
    arraylist_sort(command_graph_get_vertices(graph), command_vertex_keyboard_sort);
  }
  
! static const int command_vertex_keyboard_sort(const Object vertex_1, const Object vertex_2)
  {
    const char *keyboard_id_1, *keyboard_id_2;
  
--- 251,257 ----
    arraylist_sort(command_graph_get_vertices(graph), command_vertex_keyboard_sort);
  }
  
! static int command_vertex_keyboard_sort(const Object vertex_1, const Object vertex_2)
  {
    const char *keyboard_id_1, *keyboard_id_2;
  
diff -crN ./gok/gok/command-predictor.c /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/command-predictor.c
*** ./gok/gok/command-predictor.c	Fri Oct 11 20:00:04 2002
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/command-predictor.c	Fri Nov 21 10:21:40 2003
***************
*** 114,120 ****
      }
  }
  
! const float command_predictor_get_recency_percent_correct(const Command_Predictor predictor, const int index)
  {
    return predictor->_recency_percent_correct[index];
  }
--- 114,120 ----
      }
  }
  
! float command_predictor_get_recency_percent_correct(const Command_Predictor predictor, const int index)
  {
    return predictor->_recency_percent_correct[index];
  }
***************
*** 130,136 ****
      }
  }
  
! const float command_predictor_get_frequency_percent_correct(const Command_Predictor predictor, const int index)
  {
    return predictor->_frequency_percent_correct[index];
  }
--- 130,136 ----
      }
  }
  
! float command_predictor_get_frequency_percent_correct(const Command_Predictor predictor, const int index)
  {
    return predictor->_frequency_percent_correct[index];
  }
diff -crN ./gok/gok/command-predictor.h /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/command-predictor.h
*** ./gok/gok/command-predictor.h	Fri Oct 11 20:00:04 2002
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/command-predictor.h	Fri Nov 21 10:22:24 2003
***************
*** 44,52 ****
  void command_predictor_free(const Command_Predictor predictor);
  Command_Predictor command_predictor_create(const Command_Graph graph);
  void command_predictor_calculate_recency_percentages(const Command_Predictor predictor);
! const float command_predictor_get_recency_percent_correct(const Command_Predictor predictor, const int index);
  void command_predictor_calculate_frequency_percentages(const Command_Predictor predictor);
! const float command_predictor_get_frequency_percent_correct(const Command_Predictor predictor, const int index);
  const Command_Vertex* command_predictor_predict_same_as_last(const Command_Predictor predictor);
  const Command_Vertex* command_predictor_predict_high_stat(const Command_Predictor predictor);
  void command_predictor_evaluate_prediction(const Command_Predictor predictor,
--- 44,52 ----
  void command_predictor_free(const Command_Predictor predictor);
  Command_Predictor command_predictor_create(const Command_Graph graph);
  void command_predictor_calculate_recency_percentages(const Command_Predictor predictor);
! float command_predictor_get_recency_percent_correct(const Command_Predictor predictor, const int index);
  void command_predictor_calculate_frequency_percentages(const Command_Predictor predictor);
! float command_predictor_get_frequency_percent_correct(const Command_Predictor predictor, const int index);
  const Command_Vertex* command_predictor_predict_same_as_last(const Command_Predictor predictor);
  const Command_Vertex* command_predictor_predict_high_stat(const Command_Predictor predictor);
  void command_predictor_evaluate_prediction(const Command_Predictor predictor,
diff -crN ./gok/gok/command-vertex-data.c /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/command-vertex-data.c
*** ./gok/gok/command-vertex-data.c	Fri Feb 28 17:11:09 2003
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/command-vertex-data.c	Fri Nov 21 10:22:59 2003
***************
*** 59,65 ****
  static char *find_next_space(const char *string);
  
  
! const Boolean command_vertex_data_equals(const Object data_1, const Object data_2)
  {
    return (string_equals(command_vertex_data_get_keyboard_id((Command_Vertex_Data)data_1),
  			command_vertex_data_get_keyboard_id((Command_Vertex_Data)data_2)) &&
--- 59,65 ----
  static char *find_next_space(const char *string);
  
  
! Boolean command_vertex_data_equals(const Object data_1, const Object data_2)
  {
    return (string_equals(command_vertex_data_get_keyboard_id((Command_Vertex_Data)data_1),
  			command_vertex_data_get_keyboard_id((Command_Vertex_Data)data_2)) &&
diff -crN ./gok/gok/command-vertex-data.h /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/command-vertex-data.h
*** ./gok/gok/command-vertex-data.h	Fri Oct 11 20:00:04 2002
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/command-vertex-data.h	Fri Nov 21 10:23:40 2003
***************
*** 41,47 ****
  /*
    function declarations
  */
! const Boolean command_vertex_data_equals(const Object data_1, const Object data_2);
  void command_vertex_data_free(const Command_Vertex_Data data);
  Command_Vertex_Data command_vertex_data_create(const char *keyboard_id, const char *key_id, const float weight);
  Command_Vertex_Data command_vertex_data_create_from_log(char *line);
--- 41,47 ----
  /*
    function declarations
  */
! Boolean command_vertex_data_equals(const Object data_1, const Object data_2);
  void command_vertex_data_free(const Command_Vertex_Data data);
  Command_Vertex_Data command_vertex_data_create(const char *keyboard_id, const char *key_id, const float weight);
  Command_Vertex_Data command_vertex_data_create_from_log(char *line);
diff -crN ./gok/gok/command-vertex.c /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/command-vertex.c
*** ./gok/gok/command-vertex.c	Fri Feb 28 17:11:09 2003
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/command-vertex.c	Fri Nov 21 10:24:22 2003
***************
*** 43,53 ****
  /*
    private function declarations
  */
! static const int command_edge_weight_sort(const Object edge_1, const Object edge_2);
  static void remove_outbound_edges(const Command_Vertex vertex);
  
  
! const Boolean command_vertex_equals(const Object vertex_1, const Object vertex_2)
  {
    return command_vertex_data_equals(command_vertex_get_vertex_data((Command_Vertex)vertex_1),
  				    command_vertex_get_vertex_data((Command_Vertex)vertex_2));
--- 43,53 ----
  /*
    private function declarations
  */
! static int command_edge_weight_sort(const Object edge_1, const Object edge_2);
  static void remove_outbound_edges(const Command_Vertex vertex);
  
  
! Boolean command_vertex_equals(const Object vertex_1, const Object vertex_2)
  {
    return command_vertex_data_equals(command_vertex_get_vertex_data((Command_Vertex)vertex_1),
  				    command_vertex_get_vertex_data((Command_Vertex)vertex_2));
***************
*** 98,104 ****
    vertex->_vertex_data = vertex_data;
  }
  
! const Command_Vertex_Data command_vertex_get_vertex_data(const Command_Vertex vertex)
  {
    return vertex->_vertex_data;
  }
--- 98,104 ----
    vertex->_vertex_data = vertex_data;
  }
  
! Command_Vertex_Data command_vertex_get_vertex_data(const Command_Vertex vertex)
  {
    return vertex->_vertex_data;
  }
***************
*** 108,114 ****
    arraylist_sort(command_vertex_get_edges(vertex), command_edge_weight_sort);
  }
  
! static const int command_edge_weight_sort(const Object edge_1, const Object edge_2)
  {
    float edge_weight_1;
    float edge_weight_2;
--- 108,114 ----
    arraylist_sort(command_vertex_get_edges(vertex), command_edge_weight_sort);
  }
  
! static int command_edge_weight_sort(const Object edge_1, const Object edge_2)
  {
    float edge_weight_1;
    float edge_weight_2;
***************
*** 119,125 ****
    return (int)(edge_weight_2 - edge_weight_1);
  }
  
! const Command_Edge command_vertex_get_edge(const Command_Vertex vertex, const Command_Edge edge)
  {
    Arraylist edges_list = command_vertex_get_edges(vertex);
    int index = arraylist_index_of(edges_list, edge);
--- 119,125 ----
    return (int)(edge_weight_2 - edge_weight_1);
  }
  
! Command_Edge command_vertex_get_edge(const Command_Vertex vertex, const Command_Edge edge)
  {
    Arraylist edges_list = command_vertex_get_edges(vertex);
    int index = arraylist_index_of(edges_list, edge);
***************
*** 166,172 ****
      }
  }
  
! const Arraylist command_vertex_get_edges(const Command_Vertex vertex)
  {
    return vertex->_outbound_edges;
  }
--- 166,172 ----
      }
  }
  
! Arraylist command_vertex_get_edges(const Command_Vertex vertex)
  {
    return vertex->_outbound_edges;
  }
diff -crN ./gok/gok/command-vertex.h /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/command-vertex.h
*** ./gok/gok/command-vertex.h	Fri Oct 11 20:00:04 2002
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/command-vertex.h	Fri Nov 21 10:24:59 2003
***************
*** 32,47 ****
  /*
    function declarations
  */
! const Boolean command_vertex_equals(const Object vertex_1, const Object vertex_2);
  void command_vertex_free(const Command_Vertex vertex);
  Command_Vertex command_vertex_create(const Command_Vertex_Data vertex_data);
  void command_vertex_set_vertex_data(const Command_Vertex vertex, const Command_Vertex_Data vertex_data);
! const Command_Vertex_Data command_vertex_get_vertex_data(const Command_Vertex vertex);
  void command_vertex_sort_by_stat(const Command_Vertex vertex);
! const Command_Edge command_vertex_get_edge(const Command_Vertex vertex, const Command_Edge edge);
  void command_vertex_remove_edge(const Command_Vertex vertex, const Command_Edge edge);
  void command_vertex_add_edge(const Command_Vertex vertex, const Command_Edge edge);
! const Arraylist command_vertex_get_edges(const Command_Vertex vertex);
  void command_vertex_dump_text(const Command_Vertex vertex, FILE *stream);
  void command_vertex_dump_binary(const Command_Vertex vertex, FILE *stream);
  
--- 32,47 ----
  /*
    function declarations
  */
! Boolean command_vertex_equals(const Object vertex_1, const Object vertex_2);
  void command_vertex_free(const Command_Vertex vertex);
  Command_Vertex command_vertex_create(const Command_Vertex_Data vertex_data);
  void command_vertex_set_vertex_data(const Command_Vertex vertex, const Command_Vertex_Data vertex_data);
! Command_Vertex_Data command_vertex_get_vertex_data(const Command_Vertex vertex);
  void command_vertex_sort_by_stat(const Command_Vertex vertex);
! Command_Edge command_vertex_get_edge(const Command_Vertex vertex, const Command_Edge edge);
  void command_vertex_remove_edge(const Command_Vertex vertex, const Command_Edge edge);
  void command_vertex_add_edge(const Command_Vertex vertex, const Command_Edge edge);
! Arraylist command_vertex_get_edges(const Command_Vertex vertex);
  void command_vertex_dump_text(const Command_Vertex vertex, FILE *stream);
  void command_vertex_dump_binary(const Command_Vertex vertex, FILE *stream);
  
diff -crN ./gok/gok/gok-data.c /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/gok-data.c
*** ./gok/gok/gok-data.c	Thu Sep 18 16:51:29 2003
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/gok-data.c	Fri Nov 21 10:25:42 2003
***************
*** 903,912 ****
   */
  gboolean gok_data_get_wordcomplete ()
  {
- 	/* don't use during login mode */
- 	if (gok_main_get_login()) {
- 		return FALSE;
- 	}
  	return m_bWordCompleteOn;
  }
  
--- 903,908 ----
***************
*** 929,938 ****
   */
  gboolean gok_data_get_commandprediction ()
  {
- 	/* don't use during login mode */
- 	if (gok_main_get_login()) {
- 		return FALSE;
- 	}
  	return TRUE;/* TODO m_bCommandPredictOn;*/
  }
  
--- 925,930 ----
diff -crN ./gok/gok/gok-predictor.c /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/gok-predictor.c
*** ./gok/gok/gok-predictor.c	Tue Sep 30 14:29:11 2003
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/gok-predictor.c	Fri Nov 21 10:26:57 2003
***************
*** 94,100 ****
  	  command_graph_add_vertex(gok_predictor->_command_graph, command_vertex_create(vertex_data));
  }
  
! const Arraylist gok_predictor_get(const Gok_Predictor gok_predictor,
  				  const int num_predictions,
  				  const char *keyboard_id,
  				  const Prediction_Algorithm algorithm)
--- 94,100 ----
  	  command_graph_add_vertex(gok_predictor->_command_graph, command_vertex_create(vertex_data));
  }
  
! Arraylist gok_predictor_get(const Gok_Predictor gok_predictor,
  				  const int num_predictions,
  				  const char *keyboard_id,
  				  const Prediction_Algorithm algorithm)
diff -crN ./gok/gok/gok-predictor.h /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/gok-predictor.h
*** ./gok/gok/gok-predictor.h	Fri Oct 11 20:00:04 2002
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/gok-predictor.h	Fri Nov 21 10:27:36 2003
***************
*** 98,104 ****
   *
   * Returns: an Arraylist of Command_Vertex_Data objects
   */
! const Arraylist gok_predictor_get(const Gok_Predictor gok_predictor,
  				  const int num_predictions,
  				  const char *keyboard_id,
  				  const Prediction_Algorithm algorithm);
--- 98,104 ----
   *
   * Returns: an Arraylist of Command_Vertex_Data objects
   */
! Arraylist gok_predictor_get(const Gok_Predictor gok_predictor,
  				  const int num_predictions,
  				  const char *keyboard_id,
  				  const Prediction_Algorithm algorithm);
diff -crN ./gok/gok/gok-spy.h /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/gok-spy.h
*** ./gok/gok/gok-spy.h	Tue Sep 30 14:29:11 2003
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gok/gok/gok-spy.h	Fri Nov 21 10:30:10 2003
***************
*** 88,91 ****
  } 
  #endif /* __cplusplus */ 
   
! #endif /* #ifndef __GOKSPY_H__ */
--- 88,91 ----
  } 
  #endif /* __cplusplus */ 
   
! #endif // #ifndef __GOKSPY_H__
