rem: if ( DEBUG ) printf ( "gsb_transactions_list_current_transaction_up\n" );
add: devel_debug ( "gsb_transactions_list_current_transaction_up" );
context: gboolean gsb_transactions_list_current_transaction_up ( gint no_account ){    gint transaction_number;    GtkTreePath *path;    GtkTreePath *path_sorted;        if ( DEBUG )	printf ( "gsb_transactions_list_current_transaction_up\n" );    transaction_number = gsb_data_account_get_current_transaction_number ( no_account );    path = gsb_transactions_list_get_path_from_transaction (transaction_number);    path_sorted = gsb_transactions_list_get_sorted_path_from_list_path ( path,									 no_account );    gtk_tree_path_prev ( path_sorted );    path = gsb_transactions_list_get_list_path_from_sorted_path ( path_sorted );    transaction_number = gsb_transactions_list_get_transaction_from_path ( path );    /* if the transaction is a breakdown, we go on the white line of it */    if ( gsb_data_transaction_get_breakdown_of_transaction (transaction_number)	 &&	 gtk_tree_view_row_expanded ( GTK_TREE_VIEW (gsb_transactions_list_get_tree_view ()),				      path_sorted ))    {	gtk_tree_path_down (path_sorted);	do	{	    path = gsb_transactions_list_get_list_path_from_sorted_path ( path_sorted );	    transaction_number = gsb_transactions_list_get_transaction_from_path ( path );	    gtk_tree_path_next ( path_sorted );	}	while ( transaction_number > 0 );    }    /* if there is no change with the current transaction, we check if we are not     * in a child and must go to the mother */    if ( transaction_number == gsb_data_account_get_current_transaction_number (no_account)	 &&	 gtk_tree_path_get_depth (path_sorted) == 2 )    {	gtk_tree_path_up (path_sorted);	path = gsb_transactions_list_get_list_path_from_sorted_path ( path_sorted );	transaction_number = gsb_transactions_list_get_transaction_from_path ( path );    }    gsb_transactions_list_set_current_transaction ( transaction_number );    return FALSE;}