rem: gsb_account_list_gui_create_list();
add: gsb_menu_update_accounts_in_menus();
context: gboolean delete_account ( void ){    gint deleted_account;    gint page_number;    struct operation_echeance *echeance;    GSList *list_tmp;    deleted_account = compte_courant_onglet;    if ( !question_yes_no_hint ( g_strdup_printf (_("Delete account \"%s\"?"),						  gsb_account_get_name (deleted_account)),				 _("This will irreversibly remove this account and all operations that were previously contained.  There is no undo for this. Usually it's a better way to close an account.") ))	return FALSE;    /* if the las account, close the file */    if ( gsb_account_get_accounts_amount () == 1 )    {	etat.modification_fichier = 0;	fermer_fichier ();	return FALSE;    }    /* delete the transactions list page */    gtk_notebook_remove_page ( GTK_NOTEBOOK ( notebook_listes_operations ),			       deleted_account + 1 );    /* delete the schedules transactions on that account */    while ( (echeance = echeance_par_no_compte ( deleted_account )))    {	if ( echeance_selectionnnee == echeance )	    echeance_selectionnnee = GINT_TO_POINTER (-1);	liste_struct_echeances = g_slist_remove ( liste_struct_echeances,						  echeance );	nb_echeances--;    }    /*     delete the account */    gsb_account_delete ( deleted_account );    /*     check all the transactions, and put -1 if it's a transfer to the deleted account */    list_tmp = gsb_account_get_list_accounts ();    while ( list_tmp )    {	gint i;	GSList *pointeur_tmp;	i = gsb_account_get_no_account ( list_tmp -> data );	pointeur_tmp = gsb_account_get_transactions_list (i);	while ( pointeur_tmp )	{	    gpointer operation;	    operation = pointeur_tmp -> data;	    if ( gsb_transaction_data_get_account_number_transfer ( gsb_transaction_data_get_transaction_number (operation ))== deleted_account )	    {		gsb_transaction_data_set_account_number_transfer ( gsb_transaction_data_get_transaction_number (operation),								   -1);		gsb_account_set_update_list ( i,					      1 );	    }	    pointeur_tmp = pointeur_tmp -> next;	}	list_tmp = list_tmp -> next;    }    /* check gsb_account_get_current_account () and gsb_account_get_current_account ()_onglet and put them     * on the first account if they are on the deleted account */    if ( gsb_account_get_current_account () == deleted_account )    {	/* update the transaction list */	page_number = gtk_notebook_get_current_page (GTK_NOTEBOOK(notebook_general));	gsb_account_list_gui_change_current_account ( GINT_TO_POINTER ( gsb_account_first_number () ));	gtk_notebook_set_page ( GTK_NOTEBOOK ( notebook_general ), page_number );    }    if ( compte_courant_onglet == deleted_account )	compte_courant_onglet = gsb_account_first_number ();    /* update the buttons lists */    gsb_account_list_gui_create_list();    /* update the combofixes if needed */    if ( mise_a_jour_combofix_tiers_necessaire )	mise_a_jour_combofix_tiers();    if ( mise_a_jour_combofix_categ_necessaire )	mise_a_jour_combofix_categ();    if ( mise_a_jour_combofix_imputation_necessaire )	mise_a_jour_combofix_imputation();    /* Replace trees contents. */    remplit_arbre_categ ();    remplit_arbre_imputation ();    remplit_arbre_tiers ();    /* update options menus of accounts */    update_options_menus_comptes ();    remplissage_liste_echeance ();    mise_a_jour_liste_echeances_manuelles_accueil = 1;    mise_a_jour_liste_comptes_accueil = 1;    mise_a_jour_soldes_minimaux = 1;    mise_a_jour_fin_comptes_passifs = 1;    remplissage_liste_comptes_etats ();    selectionne_liste_comptes_etat_courant ();    /* Update navigation pane. */    gsb_gui_navigation_remove_account ( deleted_account );    modification_fichier( TRUE );     return FALSE;}